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

    segnalazione di errore su pagina form

    ciao a tuti sono di nuovo Io

    allora io ho queste 2 pagine

    contatti.php
    Codice PHP:
    <?php
    session_start
    ();
    $_SESSION['random_number']=rand(10009999);
    ?>
    <html>
    <head>
    <title>Formmail</title>
    </head>
    <body>


    <FORM ACTION="mail.php" METHOD="POST" NAME="contact_form">
     <TABLE>
     <TR>
     <TD>[b]<u>INVIA EMAIL</u>[/b]

    </TD></TR><tr>
      <TD><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nome:</font></TD>
      <TD><input type=text name="contact_name"></TD> 
     </TR>
     <TR>
      <TD><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Indirizzo Email:</font></TD>
      <TD><input type=text name="contact_email"></TD>
     </TR>
     <TR>
      <TD><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Messaggio:</font></TD>
      <TD><textarea name="comment" cols="40" rows="3"></textarea></TD>
     </TR>
    <tr>
    <td>
    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Inserisci il codice di verifica: </font>
    </td>
    <TD><input type=text name="val_code">
        [img]/image_number1.php?n=<?=rand(10009999)?>[/img]</TD> 
     </tr>
    <tr>
      <td>
      <TR>
      <TD></TD>
      <TD><input type="submit" value="Invia" name="submit"></TD>
      
     </TR>
     <tr><td>

    </td></tr>
    </TABLE>
    e mail.php
    Codice PHP:
    <?
    session_start
    ();
    function 
    checkOK($field)
    {
    if (
    eregi("\r",$field)){
    die(
    "Invalid Input!");
    }
    }
    $val_code=$_POST['val_code'];
    $name=$_POST['contact_name'];
    checkOK($name);
    $email=$_POST['contact_email'];
    checkOK($email);
    $comments=$_POST['comment'];
    checkOK($comments);
    $to="mio indirizzo"//Replace with an email address where the form results will be sent
    if ("{$_SESSION['random_number']}"!="{$val_code}") {
     echo 
    "Codice Errato";
    }
    else {
    $message="$name ti ha inviato il seguente messaggio:\n\n$comments\n\nIndirizzo e-mail: $email\n";
    if(
    mail($to,"Messaggio proveniente da Studiomareta.com",$message"From: $email")) {
    echo 
    "E-mail inviata con successo.";
    } else {
    echo 
    "Si sono verificati dei problemi durante l'invio. Controlla bene i dati inseriti.";
    }
    }
    ?>
    la mia domanda è come posso fare in modo che la conferma dell'invio e la segnalazione di errore in caso di codice errato avvenga direttmante su contatti.php magari con una scritt ain rosso accanto.... grazie mille

  2. #2

  3. #3
    Di solito io faccio così: in mail.php controllo che tutti i campi siano okey, se nn lo sono metto un header("Location: contatti.php?sent=0"). Poi cerco di mandare la mail, se ci sono errori redirigo nuovamente a contatti.php?sent=0 altrimenti redirigo a contatti.php?sent=1.
    In contatti php, sotto il form, o dove più ti aggrada, metto un
    Codice PHP:
    if (isset($_GET['sent']))
      switch(
    $_GET['sent']){
      case 
    0:
         echo 
    '<p class="success">Errori!</p>';
         
    brak;
      case 
    1:
         echo 
    '<p class="fail">Mex mandato!!</p>';
         break;

    Con un po' di sbattimento aggiuntivo puoi riconoscere i singoli errori e riportare all'utente qual è stato il campo che ha creato problemi.

    P.S. la funzione eregi è deprecata.

  4. #4
    Originariamente inviato da bionicoz

    P.S. la funzione eregi è deprecata.
    non capisco..

    grazi eora provo

  5. #5
    ok funziona grazie mille soloc he richiamavo le pagine all'index con un include ora devo vedere come risolvere anche qst...

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.