Php φόρμα επικοινωνίας

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
Soter
Δημοσιεύσεις: 7
Εγγραφή: 12 Μαρ 2004 14:00

Php φόρμα επικοινωνίας

Δημοσίευση από Soter » 02 Νοέμ 2007 12:51

Hi, έχω βρει ένα script για αποστολή φόρμας με attachment... η φόρμα δουλεύει κανονικά.
To πρόβλημα μου είναι οτι δεν ξέρω τι κώδικα πρέπει να χρησιμοποιήσω για να εμφανίζονται πιο σωστά τα στοιχεία στο mail του παραλήπτη. (δεν έχω ιδέα από php) :P
Δηλαδή:
Όνομα: όνομα
Tηλ.: 210 55555
Σχόλια.: το κείμενο κτλ

Κώδικας: Επιλογή όλων

<?php
if &#40;$_SERVER&#91;'REQUEST_METHOD'&#93;=="POST"&#41;&#123; 

   $to="email@email.gr";
   $subject="E-mail with attachment";


   $from = stripslashes&#40;$_POST&#91;'fromname'&#93;&#41;."<".stripslashes&#40;$_POST&#91;'fromemail'&#93;&#41;.">";

   $mime_boundary="==Multipart_Boundary_x".md5&#40;mt_rand&#40;&#41;&#41;."x";

   $headers = "From&#58; $from\r\n" .
   "MIME-Version&#58; 1.0\r\n" .
      "Content-Type&#58; multipart/mixed;\r\n" .
      " boundary=\"&#123;$mime_boundary&#125;\"";
	 

 // από εδώ επιλέγω πιο textfield θέλω να εμφανίζεται, αλλά δεν μπορώ να τα ξεχωρίσω... με αποτέλεσμα να μου βγαίνουν τα στοιχεία της φόρμας σαν ένα ενιαίο  κείμενο
    $message = $_POST&#91;"fromname"&#93; .
	           $_POST&#91;"meseg"&#93;;

   $message = "This is a multi-part message in MIME format.\n\n" .
      "--&#123;$mime_boundary&#125;\n" .
      "Content-Type&#58; text/plain; charset=\"iso-8859-1\"\n" .
      "Content-Transfer-Encoding&#58; 7bit\n\n" .
   $message . "\n\n";


   foreach&#40;$_FILES as $userfile&#41;&#123;
      $tmp_name = $userfile&#91;'tmp_name'&#93;;
      $type = $userfile&#91;'type'&#93;;
      $name = $userfile&#91;'name'&#93;;
      $size = $userfile&#91;'size'&#93;;


      if &#40;file_exists&#40;$tmp_name&#41;&#41;&#123;


         if&#40;is_uploaded_file&#40;$tmp_name&#41;&#41;&#123;
 	

            $file = fopen&#40;$tmp_name,'rb'&#41;;
 	

            $data = fread&#40;$file,filesize&#40;$tmp_name&#41;&#41;;


            fclose&#40;$file&#41;;
 	

            $data = chunk_split&#40;base64_encode&#40;$data&#41;&#41;;
         &#125;
 	

         $message .= "--&#123;$mime_boundary&#125;\n" .
            "Content-Type&#58; &#123;$type&#125;;\n" .
            " name=\"&#123;$name&#125;\"\n" .
            "Content-Disposition&#58; attachment;\n" .
            " filename=\"&#123;$fileatt_name&#125;\"\n" .
            "Content-Transfer-Encoding&#58; base64\n\n" .
         $data . "\n\n";
      &#125;
   &#125;

   $message.="--&#123;$mime_boundary&#125;--\n";

   if &#40;@mail&#40;$to, $subject, $message, $headers&#41;&#41;
      echo "Message Sent";
   else
      echo "Failed to send";
&#125; else &#123;
?>
<p>Send an e-mail with an attachment&#58;</p>
<form action="<?php echo $_SERVER&#91;'PHP_SELF'&#93;; ?>" method="post" 
   enctype="multipart/form-data" name="form1">
   <p>From name&#58; <input type="text" name="fromname"></p>
   <p>From e-mail&#58; <input type="text" name="fromemail">
     <br>
   </p>
<p>File&#58; <input type="file" name="file1"></p>
   <p>File&#58; <input type="file" name="file2"></p>
   Sxolia&#58; <input name="meseg" type="text" id="meseg" />
   <p><input type="submit" name="Submit" value="Submit"></p>
</form>
<?php &#125; ?> 
thanks!!!

billakoss
Δημοσιεύσεις: 17
Εγγραφή: 07 Οκτ 2010 22:37
Τοποθεσία: greece

Php φόρμα επικοινωνίας

Δημοσίευση από billakoss » 11 Νοέμ 2010 13:47

Καλησπερα
Για να μην ανοιγω νεο θεμα..
Εχω κανει αυτο με τνη βοηθεια απο το forum σας..

<?php
if(isset($_POST['Send'])) {

$myemail = "χχχχ@χχχ.com;
$name = $_POST['onoma'];
$subject = $_POST['thema'];
$email = $_POST['email'];
$message = $_POST['message'];
$message = "Όνομα: ".$name."\n".
"E-mail :".$email ."\n"."\n".
"Θέμα : ".$thema ."\n"."\n".
"Μήνυμα: ".$mes."\n"."\n".$messages;

$headers = "From:Contact Form <$myemail>\r\n";
$headers .= "Reply-To: $name <$email>\r\nContent-Type: text; charset=utf-8\r\n";


mail($myemail, $subject, $message, $headers);

}
?>


Τοπροβλημα ειναι οτι στο μαιλ που ερχεται δεν μου εμφανιζει το πεδιο onoma ενω ειναι σωστα δηλωμενο.
Καθως επισης υπαρχει καποιο θεμα με το πως μπορω να βαλω ειτε να βαζουν ενα κωδικο αποστολης για να αποφυγω τυχων spam , γιατι δεν βρηκα κατι που να με ενδιαφερει.
Ευχαριστω

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Php φόρμα επικοινωνίας

Δημοσίευση από Apostolis_38 » 12 Νοέμ 2010 09:36

Αν κάνεις echo το όνομα

Κώδικας: Επιλογή όλων

echo $name = $_POST&#91;'onoma'&#93;; 
στο εμφανίζει κανονικά;
Μήπως το πρόβλημα είναι στη φόρμα που στέλνει τα δεδομένα;


Για τον κωδικό αποστολής που αναφέρεις κοίταξε για captcha

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες