Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Richiedere dati a un utente...

    Ciao a tutti,

    il mio problema è questo: durante l'esecuzione di una funzione dovrei richiedere in qualche modo dei dati a un utente e, ovviamente, attendere che questi vengano inseriti prima di continuare con l'esecuzione della funzione.

    E' possibile farlo ?

    GRAZIE !

  2. #2
    mmm dubito, dato che il php è uno script eseguito lato server..
    penso che dovresti spezzare il codice in piu pag, in modo da avere veri step
    »-(¯`v´¯)-» || AFRO4EVER - Remember the name

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    93
    fai in modo che se i valori che ti servono non sono definiti viene caricato un form dove inserirli che a sua volta li rimanda alla pagina della tua funzione

  4. #4
    Grazie per le risposte inanzitutto.

    Detto questo, per spiegare meglio il problema, mando in allegato una parte della suddetta funzione.

    Quando in due punti della funzione leggete: "show_error("La categoria $dom[4] non esiste.\nVerrà utilizzata la categoria " . DEFAULT_CATEGORY,0,0,0);", al posto di mostrare semplicemente l'errore vorrei chiedere all'utente se creare la nuova categoria oppure no; nel primo caso quindi dovrei fare l'assegnamento "$cat_dif['category'] = $dom[4];", mentre nel secondo "$cat_dif['category'] = DEFAULT_CATEGORY;". Ovviamente poi devo poter continuare con l'esecuzione della funzione.

    Spero di essermi spiegato meglio e di riuscire a trovare insieme una soluzione.

    //-------------FUNCTION------------------------

    $query = "SELECT * FROM categories WHERE name='$dom[4]'";

    If($dom[4] != "" && $dom[8] != "") {
    $res = mysql_query($query); //cerco la categoria nel DB
    $num_rows = mysql_num_rows($res);

    if($num_rows == 0) { //se la categoria non esiste
    show_error("La categoria $dom[4] non esiste.\nVerrà utilizzata la categoria " . DEFAULT_CATEGORY,0,0,0);
    $cat_dif['category'] = DEFAULT_CATEGORY;
    }
    else
    $cat_dif['category'] = $dom[4];

    $cat_dif['difficulty'] = $dom[8];
    }
    else if($dom[4] == "" && $dom[8] == "") {
    $cat_dif['category'] = DEFAULT_CATEGORY;
    $cat_dif['difficulty'] = '0';
    }
    else if(!ctype_digit($dom[4])) {
    $res = mysql_query($query);
    $num_rows = mysql_num_rows($res);

    if($num_rows != 0)
    $cat_dif['category'] = $dom[4];
    else { //se la categoria non esiste
    show_error("La categoria $dom[4] non esiste.\nVerrà utilizzata la categoria " . DEFAULT_CATEGORY,0,0,0);
    $cat_dif['category'] = DEFAULT_CATEGORY;
    }
    $cat_dif['difficulty'] = '0';
    }
    else {
    $cat_dif['category'] = DEFAULT_CATEGORY;
    $cat_dif['difficulty'] = $dom[4];
    }

  5. #5
    Utente di HTML.it L'avatar di moskitoita
    Registrato dal
    Feb 2004
    Messaggi
    1,255
    cambia
    Codice PHP:
    show_error("La categoria [b]$dom[4][/b] non esiste.\nVerrà utilizzata la categoria " DEFAULT_CATEGORY,0,0,0);
    $cat_dif['category'] = DEFAULT_CATEGORY
    in
    Codice PHP:
    if ($_POST['ask']=="")
    header("location:ask.php?a=" $dom[4] . "&b=".DEFAULT_CATEGORY,0,0,0);
    if (
    $_POST['ask==1'])
    $cat_dif['category'] = DEFAULT_CATEGORY;
    if (
    $_POST['ask==2'])
    $cat_dif['category'] = $dom[4]; 


    Nella pagina ask.php
    metti un form che chiede cosa fare (hai le due catecorie in $_POST['a'] e $_POST['b'])
    e un campo ask tipo questo
    si<input name="ask" value="2" type="radio">

    no<input name="ask" value="1" type="radio">

    (si crea la nuova categoria no, no
    )

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    93
    Codice PHP:
    if (!isset($_POST['ask']))

        
    //qui metti il tuo form con le richieste
        
    exit;
    }
    else if (
    $_POST['ask'] == '1'
    {
    $cat_dif['category'] = DEFAULT_CATEGORY
    }
    else if (
    $_POST['ask'] == '2'
    {
    $cat_dif['category'] = $dom[4];

    così hai una pagina sola e anche l'if è definito meglio

  7. #7
    Se ho ben capito mi dici di fare questo:

    1) creare un file php (chiamiamolo function.php) contenente solo il corpo della mia funzione, con le modifiche che mi hai suggerito;
    2) creare un file php contenente il form e che dopo il submit rimanda i risultati a function.php
    (quindi in pratica un <form action="function.php" method="post"> ecc.)

    Ho capito bene ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    93
    no la tua funzione la puoi mettere dove ti pare tanto l'importante è il file che la esegue il form lo definisci tra il primo if direttamente niente pagine aggiuntive e deve puntare alla pagina che esegue la funzione puoi fare anche tutto in un'unicq pagina se credi.

  9. #9
    Ok.. grazie a tutti !

    Faccio qualche prova e vi faccio sapere...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.