Visualizzazione risultati 1 fino 11 di 11

Discussione: problema creazione form

  1. #1
    Guest

    Predefinito problema creazione form

    Ciao a tutti, mi sn appena iscritto e volevo inserire in una pagina del sito un form per accettare le richieste di iscrizione ad una nascente gilda di age of conan (beh colgo l'occasione per fare un po di pubblicità^^)

    il sito è stato scritto in html usando frontpage e sulla rete avevo trovato un modello in php riutilizzabile per il form...
    il problema è ke dopo aver caricato il tutto, facendo una prova, mi esce il messaggio "message not sent"

    premetto ke sn niubbo in php :(
    avete idee su come risolvere il problema??

    grazie a tutti

  2. #2
    Ospite Guest

    Predefinito

    Posta lo script in uso, altrimenti come facciamo ad aiutarti?

  3. #3
    Guest

    Predefinito

    ok ^^'
    allora questo è il codice del php
    Codice:
    <?php
    /* PHP Form Mailer - phpFormMailer v2.1, last updated 30th Nov 2005 - check back often for updates!
       (easy to use and more secure than many cgi form mailers) FREE from:
                      www.TheDemoSite.co.uk
          Should work fine on most Unix/Linux platforms */
    
    // ------- three variables you MUST change below  -------------------------------------------------------
    $valid_ref1="http://www.bloodlustaoc.altervista.org";// chamge "Your--domain" to your domain
    $valid_ref2="http://www.bloodlustaoc.altervista.org/scontact.html";// chamge "Your--domain" to your domain
    $replyemail="bloodlust_aoc@yahoo.it";//change to your email address
    // ------------------------------------------------------------
    
    //clean input in case of header injection attempts!
    function clean_input_4email($value, $check_all_patterns = true)
    {
     $patterns[0] = '/content-type:/';
     $patterns[1] = '/to:/';
     $patterns[2] = '/cc:/';
     $patterns[3] = '/bcc:/';
     if ($check_all_patterns)
     {
      $patterns[4] = '/\r/';
      $patterns[5] = '/\n/';
      $patterns[6] = '/%0a/';
      $patterns[7] = '/%0d/';
     }
     //NOTE: can use str_ireplace as this is case insensitive but only available on PHP version 5.0.
     return preg_replace($patterns, "", strtolower($value));
    }
    
    $name = clean_input_4email($_POST["name"]);
    $email = clean_input_4email($_POST["email"]);
    $thesubject = clean_input_4email($_POST["thesubject"]);
    $themessage = clean_input_4email($_POST["themessage"], false);
    
    $error_msg='ERROR - not sent. Try again.';
    
    $success_sent_msg='<p align="center"><strong>&nbsp;</strong></p>
                       <p align="center"><strong>Your message has been successfully sent to us<br>
                       </strong> and we will reply as soon as possible.</p>
                       <p align="center">A copy of your query has been sent to you.</p>
                       <p align="center">Thank you for contacting us.</p>';
    
    $replymessage = "Hi $name
    
    Thank you for your email.
    
    We will endeavour to reply to you shortly.
    
    Please DO NOT reply to this email.
    
    Below is a copy of the message you submitted:
    --------------------------------------------------
    Subject: $thesubject
    Query:
    $themessage
    --------------------------------------------------
    
    Thank you";
    
    // email variable not set - load $valid_ref1 page
    if (!isset($_POST['email']))
    {
     echo "<script language=\"JavaScript\"><!--\n ";
     echo "top.location.href = \"$valid_ref1\"; \n// --></script>";
     exit;
    }
    
    $ref_page=$_SERVER["HTTP_REFERER"];
    $valid_referrer=0;
    if($ref_page==$valid_ref1) $valid_referrer=1;
    elseif($ref_page==$valid_ref2) $valid_referrer=1;
    if(!$valid_referrer)
    {
     echo "<script language=\"JavaScript\"><!--\n alert(\"$error_msg\");\n";
     echo "top.location.href = \"$valid_ref1\"; \n// --></script>";
     exit;
    }
    $themessage = "name: $name \nQuery: $themessage";
    mail("$replyemail",
         "$thesubject",
         "$themessage",
         "From: $email\nReply-To: $email");
    mail("$email",
         "Receipt: $thesubject",
         "$replymessage",
         "From: $replyemail\nReply-To: $replyemail");
    echo $success_sent_msg;
    /*
      PHP Form Mailer - phpFormMailer (easy to use and more secure than many cgi form mailers)
       FREE from:
    
        www.TheDemoSite.co.uk       */
    ?>
    mentre questo è il codice della pagina ke lo contiene
    Codice:
    <html>
    
    <head>
    
    <meta http-equiv="Content-Language" content="it">
    <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>New Page 1</title>
    <meta name="Microsoft Theme" content="slate 011, default">
    
    
    <title>PHP Form Mailer - phpFormMailer (easy to use and more secure than many cgi form
    mailers)</title>
    <style>
    BODY{color:#000000; font-size: 8pt; font-family: Verdana}
    .button {background-color: rgb(128,128,128); color:#ffffff; font-size: 8pt;}
    .inputc {font-size: 8pt;}
    </style>
    </head>
    
    <body>
    
    <form name="phpformmailer" action="contact.php" align="center" method="post">
      <div align="center"><center><table bgcolor="#F2F2F2" width="528" cellspacing="6">
        <tr>
          <td width="159">
          <p align="center">&nbsp;</td>
             </tr>
        <tr>
          <td align="right" width="159"><font color="#FF0000" size="1">* </font>
          <font color="#FF0000"><small>
          Nickname :</small></font></td>
          <td width="349"><font face="Arial"><input class="inputc" size="29" name="name"></font></td>
        </tr>
        <tr>
          <td align="right" width="159"><font color="#FF0000" size="1">*</font><font color="#FF0000"><small> 
          Indirizzo email:</small></font></td>
          <td align="left" width="349"><font face="Arial"><input class="inputc" size="29"
          name="email"></font></td>
        </tr>
        <tr align="middle">
          <td align="right" width="159"><font color="#FF0000" size="1">*</font><font color="#FF0000"><small> 
          Conferma Indirizzo email:</small></font></td>
          <td width="349" align="left"><font face="Arial"><input class="inputc" size="29"
          name="email2"></font></td>
        </tr>
        <tr>
          <td align="right" width="159"><font color="#FF0000" size="1">*</font><font color="#FF0000"><small> 
          Oggetto:</small></font></td>
          <td width="349"><font face="Arial"><input class="inputc" size="29" name="thesubject"></font></td>
        </tr>
        <tr>
          <td align="right" width="159"><p><font color="#FF0000" size="1">*</font><font color="#FF0000"><small> 
          Descrizione personaggio, Archetipo, Classe e classe di prestigio:</small></font></td>
          <td width="349"><textarea style="FONT-SIZE: 10pt" name="themessage" rows="7" cols="27"></textarea></td>
        </tr>
        <tr>
          <td width="159"></td>
          <td width="349"><script language="JavaScript"><!--
    function validateForm() 
    {
     var okSoFar=true
     with (document.phpformmailer)
     {
      var foundAt = email.value.indexOf("@",0)
      if (foundAt < 1 && okSoFar)
      {
        okSoFar = false
        alert ("Please enter a valid email address.")
        email.focus()
      }
      var e1 = email.value
      var e2 = email2.value
      if (!(e1==e2) && okSoFar)
      {
        okSoFar = false
        alert ("Email addresses you entered do not match.  Please re-enter.")
        email.focus()
      }
      if (thesubject.value=="" && okSoFar)
      {
        okSoFar=false
        alert("Please enter the subject.")
        thesubject.focus()
      }
      if (themessage.value=="" && okSoFar)
      {
        okSoFar=false
        alert("Please enter the details for your enquiry.")
        themessage.focus()
      }
      if (okSoFar==true)  submit();
     }
    }
    // --></script><input type="button" class="button"
          value="Invia" name="B1" ONCLICK="javascript:validateForm()"><small> <small>Riempi tutti gli spazi segnati da un *</small></small></td>
        </tr>
      </table>
      </center></div>
    </form>
    </body>
    </html>
    grazie a tutti per l'interessamento
    ;)

  4. #4
    Ospite Guest

    Predefinito

    Nello script php, nella variabile di verifica del referente, c'è una "s" in più :
    $valid_ref2="http://www.bloodlustaoc.altervista.org/scontact.html";// chamge "Your--domain" to your domain

  5. #5
    Guest

    Predefinito

    Grazie^^ e ovviamente funziona^^

    senti ora lo so ke è kiedere tanto, ma in seguito al corretto invio di mail appare una pagina bianca con scritto messaggio inviato etc etc...
    il codice per modificare le scritte dovrebbe essere questo:
    Codice:
    $success_sent_msg='<p align="center"><strong>&nbsp;</strong></p>
                       <p align="center"><strong>Your message has been successfully sent to us<br>
                       </strong> and we will reply as soon as possible.</p>
                       <p align="center">A copy of your query has been sent to you.</p>
                       <p align="center">Thank you for contacting us.</p>';
    se io volessi fare il redirect ad una pagina di ringraziamento creata ad hoc che codice devo mettere?
    grazie ancora^^

  6. #6
    Ospite Guest

    Predefinito

    Codice PHP:
    $success_sent_msg='<script type="text/javascript">location.href=\'pagina.html\';</script>';
    Ovviamente devi sostituire "pagina.html" con l'indirizzo della pagina verso cui effettuare il redirect.

  7. #7
    Guest

    Predefinito

    muchas gracias probid

    e ovviamente se ti andasse di giocare a Age of Conan da noi avrai un posto d'onore^^

  8. #8
    Guest

    Predefinito

    E in caso l'utente abbia javascript disabilitato non si potrebbe mettere invece di un redirect js un comando php?
    Codice PHP:
    $success_sent_msg= header("Location: pagina.html");
    Non so se sia la stessa cosa , però nell'eventualità che l'utente abbia js disattivato...

  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

    La funzione header non restituisce un valore, quindi non lo si può assegnare a una variabile.
    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

    Per questo ero insicuro:p
    Beh allora dove c'è l'echo che richiama la variabile $success_sent_msg potrebbe mettere direttamente header("Location: pagina.html"); invece di richiamare la variabile

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

    Predefinito

    Sì, basta che sia prima di qualsiasi altro output.
    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

Regole di scrittura

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