Visualizzazione risultati 1 fino 28 di 28

Discussione: Eseguire uno script SOLO al click sul pulsante del form

  1. #1
    Guest

    Predefinito Eseguire uno script SOLO al click sul pulsante del form

    quasi ben sintetizzato nel titolo.
    come si fa a far partire uno script SOLO dopo il click su pulsante invia?

    io ho messo
    Codice PHP:
    if(isset($_POST['nome_pulsante_invio'])){
    //azioni
    }
    ma me lo esegue lo stesso :(

  2. #2
    Guest

    Predefinito

    Codice PHP:
    if( isset($_POST['pulsante']) )
    {
    //azioni
    }
    else
    {
    //form
    }

  3. #3
    Guest

    Predefinito

    però così in caso di errori e di controlli, il form sparisce...
    come faccio a tenerlo li?

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    if( isset($_POST['pulsante']) )
    {
    //azioni
    }

    // form
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    scusa ma così è uguale al mio...
    sto cavolo di from dove deve stare?

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Lo devi mettere fuori dall'if per visualizzarlo sempre.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    è fuori dall'IF, ma dentro l'else...

  8. #8
    Guest

    Predefinito

    posta tutto il codice...

  9. #9
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Per visualizzarlo sempre devi toglierlo dall'else come ti ho scritto sopra.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  10. #10
    Guest

    Predefinito

    Codice PHP:
    if(isset($_POST['invia'] )){
    if($_POST['un']==""){
    echo"<div id='Layer1' style='position:absolute; left:9px; top:290px; width:500px; height:50px; z-index:1'>";
    echo"Devi inserire il nome utente, CRETINO!";
    echo"</div>";
    }

    if($_POST['email']==""){
    echo"<div id='Layer1' style='position:absolute; left:9px; top:310px; width:500px; height:50px; z-index:1'>";
    echo"Devi inserire l'indirizzo email, CRETINO!";
    echo"</div>";
    }

    if($_POST['un']!=="" & $_POST['email']!==""){
    $user=$_POST['un'];
    $query="SELECT * FROM utenti_fic WHERE username='$user'";
    $res=mysql_query($query);

    if($row=mysql_fetch_array($res)){
    $row=mysql_fetch_array($res);
    $ind_mail=$row['email'];
    $oggetto="Nuova password F.I.C.";
    $mitt="From: lsdFreeTime";
    $n_passw_rel=rand(10000,32000);
    $n_passw_rel=md5($n_passw_rel);
    $num1=rand(1,32);

    if($num1<=25){
    $num2=$num1+7;
    }

    else if($num1>25){
    $num2=$num-7;
    }

    $n_passw=substr($n_passw_rel,$num1,$num2);
    $corpo="Ciao $row[username], da bravo Cretino ti è stata inviata una nuova password.
    ~~~~~~~~~~~~~~~
    PASSWORD: $n_passw
    ~~~~~~~~~~~~~~
    ora puoi loggarti con questa e potrai cambiarla una volta dentro al profilo utente.";
    mail($ind_mail,$oggetto,$corpo,$mitt);
    $cry=md5(n_passw);
    $query="UPDATE utenti_fic SET password='$cry' WHERE username='$user' LIMIT 1";
    mysql_query($query) or die (mysql_error());
    echo"PASSWORD INVIATA CON SUCCESSO, controlla la tua mail";
    }
    else{
    echo"i dati inseriti non corrispondono, verificali";
    }
    }
    }
    else{
    ?>

    <form id="passw" name="passw" action="fic_pwrec.php" method="post">
    <table>
    <tr>
    <td>#Nome_Utente:</td>
    <td><input type="text" name="un"></td>
    </tr>
    <tr>
    <td>#Indirizzo_Email:</td>
    <td><input type="text" name="email"></td>
    </tr>
    <tr>
    <td><input type="submit" name="invia" value="#Invia_PW"></td>
    </tr>
    </table>
    </form>

    <?
    }
    ?>
    </div>
    ma il codice contiene qualche errore: non riesco a capire come mai se inserisco un UN sbaglaito, non presente nel database, la procedura viene eseguita comunque...

  11. #11
    Guest

    Predefinito

    ho dato una lettura veloce e mi è balzato all'occhio
    Codice PHP:
    $cry=md5(n_passw);
    dopo la stesura del corpo delle mail
    modificalo in
    Codice PHP:
    $cry=md5($n_passw);
    e una cosa è sistemata

    poi ho dato un'altra occhiata veloce e non so quanto
    Codice PHP:
    if($_POST['un']!=="" & $_POST['email']!==""){
    possa fungere, io sapevo che il segno "diverso" era !=
    se poi ho saputo male smentitemi almeno imparo qualcosa
    ciao!

    ps: penso che $num tu le imposti prima, visto che dichiari solo $num1. ora controllo a guardare, ciao!
    Ultima modifica di SFo : 21-03-2006 alle ore 20.13.09

  12. #12
    Guest

    Predefinito

    Codice PHP:
    if(isset($_POST['invia'] )){
    if(
    $_POST['un']==""){
    echo
    "<div id='Layer1' style='position:absolute; left:9px; top:290px; width:500px; height:50px; z-index:1'>";
    echo
    "Devi inserire il nome utente, CRETINO!";
    echo
    "</div>";
    }

    if(
    $_POST['email']==""){
    echo
    "<div id='Layer1' style='position:absolute; left:9px; top:310px; width:500px; height:50px; z-index:1'>";
    echo
    "Devi inserire l'indirizzo email, CRETINO!";
    echo
    "</div>";
    }

    if(
    $_POST['un']!=="" & $_POST['email']!==""){
    $user=$_POST['un'];
    $query="SELECT * FROM utenti_fic WHERE username='$user'";
    $res=mysql_query($query);

    if(
    $row=mysql_fetch_array($res)){
    $row=mysql_fetch_array($res);
    $ind_mail=$row['email'];
    $oggetto="Nuova password F.I.C.";
    $mitt="From: lsdFreeTime";
    $n_passw_rel=rand(10000,32000);
    $n_passw_rel=md5($n_passw_rel);
    $num1=rand(1,32);

    if(
    $num1<=25){
    $num2=$num1+7;
    }

    else if(
    $num1>25){
    $num2=$num-7;
    }

    $n_passw=substr($n_passw_rel,$num1,$num2);
    $corpo="Ciao $row[username], da bravo Cretino ti è stata inviata una nuova password.
    ~~~~~~~~~~~~~~~
    PASSWORD:
    $n_passw
    ~~~~~~~~~~~~~~
    ora puoi loggarti con questa e potrai cambiarla una volta dentro al profilo utente."
    ;
    mail($ind_mail,$oggetto,$corpo,$mitt);
    $cry=md5(n_passw);
    $query="UPDATE utenti_fic SET password='$cry' WHERE username='$user' LIMIT 1";
    mysql_query($query) or die (mysql_error());
    echo
    "PASSWORD INVIATA CON SUCCESSO, controlla la tua mail";
    }
    else{
    echo
    "i dati inseriti non corrispondono, verificali";
    }
    }
    }
    ?>

    <form id="passw" name="passw" action="fic_pwrec.php" method="post">
    <table>
    <tr>
    <td>#Nome_Utente:</td>
    <td><input type="text" name="un"></td>
    </tr>
    <tr>
    <td>#Indirizzo_Email:</td>
    <td><input type="text" name="email"></td>
    </tr>
    <tr>
    <td><input type="submit" name="invia" value="#Invia_PW"></td>
    </tr>
    </table>
    </form>
    </div>
    cosi dovrebbe andare.

  13. #13
    Guest

    Predefinito

    @jostock, scusa ma che hai cambiato?
    mi pare uguale :(

  14. #14
    Guest

    Predefinito

    ho tolto l'else del form...

  15. #15
    Guest

    Predefinito

    ma così torna uguale al mio precedente e non funzioanva così...
    e mi sapreste spiegare come mai lo script NON verfica l'esistenza del campo username?
    viene eseguito comquneu anche se inserisco un nomeutente non presente?

  16. #16
    Guest

    Predefinito

    per controllare l'esistenza di un utente devi fare una cosa del genere:
    Codice PHP:
    $query = "SELECT * FROM utenti_fic WHERE username = '{$user}' LIMIT 1";
    $query = mysql_query($query);

    if(
    mysql_num_rows($query) > 0 )
    {
    //user esistente
    }
    else
    {
    //user non esistente
    }

  17. #17
    Guest

    Predefinito

    ma visto che a me serve di recupererare il vettore con i dati dell'utente, qualora questo debba modificare certe cose, tipo la password, il mio metodo va bene?
    prima non facevo un tech_array come controllo e non andava, ora sembra funzionare:
    Codice PHP:
    if($_POST['un']!=="" & $_POST['email']!==""){
    $user=$_POST['un'];
    $query="SELECT * FROM utenti_fic WHERE username='mimmo'";
    $res=mysql_query($query) or die(mysql_error());

    if(
    $row=mysql_fetch_array($res)){
    //fa qualcosa
    }else{//messaggio errore
    ...
    e mi pare funzioni...
    va bene così?

  18. #18
    Guest

    Predefinito

    potrebbe anche andar bene ma non è proprio sicuro, cmq fai come vuoi.
    ma cmq il problema principale l'hai risolto?

  19. #19
    Guest

    Predefinito

    allora, il problema principale è risolto, grazie.
    ora vorrei chiarire il secondo punto. possiamo farlo qui, visto che funcool mi ha chiuso l'altro dicendo che si poteva parlarne qui.

    perchè non è sicuro?
    a me serve che le due input area prelevino quello che scrive l'utente.
    se il nome utente è presente allora procede e manda la password random all'indirizzo email presente nel database.
    perchè non è sicuro?
    come si potrebbe fare un doppio controllo incorciato nomeutente/email?

  20. #20
    Guest

    Predefinito

    Codice PHP:
    <?
    if(isset($_POST['invia'] )){
    if(
    $_POST['un'] == ""){
    echo
    "<div id='Layer1' style='position:absolute; left:9px; top:290px; width:500px; height:50px; z-index:1'>";
    echo
    "Devi inserire il nome utente, CRETINO!";
    echo
    "</div>";
    }

    if(
    $_POST['email'] == ""){
    echo
    "<div id='Layer1' style='position:absolute; left:9px; top:310px; width:500px; height:50px; z-index:1'>";
    echo
    "Devi inserire l'indirizzo email, CRETINO!";
    echo
    "</div>";
    }

    if(
    $_POST['un'] != "" && $_POST['email'] != ""){
    $user=$_POST['un'];
    $query="SELECT * FROM utenti_fic WHERE username='$user'";
    $res=mysql_query($query);

    if( (
    $number = mysql_num_rows($res)) > 0 ){
    $row=mysql_fetch_array($res);
    $ind_mail=$row['email'];
    $oggetto="Nuova password F.I.C.";
    $mitt="From: lsdFreeTime";
    $n_passw_rel=rand(10000,32000);
    $n_passw_rel=md5($n_passw_rel);
    $num1=rand(1,32);

    if(
    $num1<=25){
    $num2=$num1+7;
    }

    else if(
    $num1>25){
    $num2=$num-7;
    }

    $n_passw=substr($n_passw_rel,$num1,$num2);
    $corpo="Ciao $row[username], da bravo Cretino ti è stata inviata una nuova password.
    ~~~~~~~~~~~~~~~
    PASSWORD:
    $n_passw
    ~~~~~~~~~~~~~~
    ora puoi loggarti con questa e potrai cambiarla una volta dentro al profilo utente."
    ;
    mail($ind_mail,$oggetto,$corpo,$mitt);
    $cry=md5(n_passw);
    $query="UPDATE utenti_fic SET password='$cry' WHERE username='$user' LIMIT 1";
    mysql_query($query) or die (mysql_error());
    echo
    "PASSWORD INVIATA CON SUCCESSO, controlla la tua mail";
    }
    else{
    echo
    "i dati inseriti non corrispondono, verificali";
    }
    }
    }
    ?>

    <form id="passw" name="passw" action="fic_pwrec.php" method="post">
    <table>
    <tr>
    <td>#Nome_Utente:</td>
    <td><input type="text" name="un"></td>
    </tr>
    <tr>
    <td>#Indirizzo_Email:</td>
    <td><input type="text" name="email"></td>
    </tr>
    <tr>
    <td><input type="submit" name="invia" value="#Invia_PW"></td>
    </tr>
    </table>
    </form>
    </div>
    ho modificato un po di codice vedi se funziona

  21. #21
    Guest

    Predefinito

    hai aggiutno una riga ulteriore, funge da ulteriore controllo?

  22. #22
    Guest

    Predefinito

    no la riga in più è il <? iniziale...
    funziona o no questo codice?

  23. #23
    Guest

    Predefinito

    no. meglio il mio ;)

  24. #24
    Guest

    Predefinito

    fai come vuoi, ma non dire che poi hai dei problemi visto che le soluzioni che ti vengono offerte non le accetti.

  25. #25
    Guest

    Predefinito

    non scaldarti, stavo scherzando, su "meglio il mio".
    non volevo offenderti.
    il fatto è che non funziona il tuo codice...

  26. #26
    Guest

    Predefinito

    non so che altro errore ci può essere visto che ho ricontrollato di nuovo il codice.

  27. #27
    Guest

    Predefinito

    EHM: CERTE VOLTE MI SPACCHEREI LA TESTA.
    a froza di fare copia incolla era sparita la connessione al database..
    il tuo codice ora funziona.
    quella riga che hai aggiunto, perchè da più sicurezza?
    Ultima modifica di lsdforum : 21-03-2006 alle ore 21.37.14

  28. #28
    Guest

    Predefinito

    il mio codice è più sicuro xke controllo se il numero dei risultati è maggiore di 0 invece come facevi controllavi se i dati venivano fetchati.
    se magari c'era un errore sulla query il tuo codice restituiva sempre errore quando invece non era cosi.

    visto che tutto è risolto: CHiudo!
    Ultima modifica di jostock : 21-03-2006 alle ore 21.52.13

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •