NiKoS WSN Δημοσ. 4 Αυγούστου 2011 Δημοσ. 4 Αυγούστου 2011 > <form name="contactform" method="post" action="send_form_email.php"> <table width="450px"> </tr> <tr> <td valign="top"> <label for="first_name">Όνομα*</label> </td> <td valign="top"> <input type="text" name="first_name" maxlength="50" size="30"> </td> </tr> <tr> <td valign="top"> <label for="email">Email*</label> </td> <td valign="top"> <input type="text" name="email" maxlength="80" size="30"> </td> </tr> <tr> <td valign="top"> <label for="comments">Μήνυμα*</label> </td> <td valign="top"> <textarea name="comments" maxlength="1000" cols="25" rows="6"></textarea> </td> </tr> <tr> <td colspan="2" style="text-align:center"> <input type="submit" value="Αποστολή"> </td> </tr> </table> </form> ><?php if(isset($_POST['email'])) { // EDIT THE 2 LINES BELOW AS REQUIRED $email_to = "[email protected]"; $email_subject = "Μήνυμα από την φόρμα επικοινωνίας του site"; function died($error) { // your error code can go here echo "We are very sorry, but there were error(s) found with the form you submitted. "; echo "These errors appear below.<br /><br />"; echo $error."<br /><br />"; echo "Please go back and fix these errors.<br /><br />"; die(); } // validation expected data exists if(!isset($_POST['first_name']) || !isset($_POST['email']) || !isset($_POST['comments'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } $first_name = $_POST['first_name']; // required $email_from = $_POST['email']; // required $comments = $_POST['comments']; // required $error_message = ""; $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; if(!preg_match($email_exp,$email_from)) { $error_message .= 'Παρακαλώ ελέγξτε το mail σας. Δεν είναι έγκυρο<br />'; } $email_message = "Form details below.\n\n"; function clean_string($string) { $bad = array("content-type","bcc:","to:","cc:","href"); return str_replace($bad,"",$string); } $email_message .= "First Name: ".clean_string($first_name)."\n"; $email_message .= "Email: ".clean_string($email_from)."\n"; $email_message .= "Comments: ".clean_string($comments)."\n"; // create email headers $headers = 'From: '.$email_from."\r\n". 'Reply-To: '.$email_from."\r\n" . 'X-Mailer: PHP/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); ?> <!-- include your own success html here --> Ευχαριστούμε που επικοινωνήσατε μαζί μας. Θα σας απαντήσουμε όσο πιο γρήγορα μπορούμε <?php } ?> Είχα βάλει αυτήν την φόρμα σε μία ιστοσελίδα η οποία δουλεύει κανονικά και τώρα θέλω να την βάλω αλλού παίρνω τους δύο κώδικες που σας παρέθεσα το βάζω στο xampp για να δουλέψει η php και ενώ δουλεύει μία χαρά το email δεν μου έρχεται! (έχω βάλει το σωστό email) Δεν βρίσκω λάθος και ο ίδιος κώδικας δουλεύει αυτήν τη στιγμή! μήπως φταίει το xampp;
defacer Δημοσ. 4 Αυγούστου 2011 Δημοσ. 4 Αυγούστου 2011 Δεν βρίσκω λάθος και ο ίδιος κώδικας δουλεύει αυτήν τη στιγμή! μήπως φταίει το xampp; Φταίει το ότι δε θα δεις προκοπή με την mail() στα Windows. >@mail($email_to, $email_subject, $email_message, $headers); Κατ' αρχήν βγάλε το @ από μπροστά γιατί σου κρύβει τα warnings. Κανονικά δε θέλεις να φαίνονται τα σφάλματα στο χρήστη, αλλά εσύ πρέπει κάπως να μπορείς να τα βλέπεις όταν κάνεις development. Θα σου συνιστούσα να χρησιμοποιήσεις κάποιο έτοιμο PHP email class όπως το PHPMailer, με το οποίο και θα δουλεύεις σωστά παντού και θα είναι και πιο εύκολο για σένα.
NiKoS WSN Δημοσ. 4 Αυγούστου 2011 Μέλος Δημοσ. 4 Αυγούστου 2011 Φταίει το ότι δε θα δεις προκοπή με την mail() στα Windows. >@mail($email_to, $email_subject, $email_message, $headers); Κατ' αρχήν βγάλε το @ από μπροστά γιατί σου κρύβει τα warnings. Κανονικά δε θέλεις να φαίνονται τα σφάλματα στο χρήστη, αλλά εσύ πρέπει κάπως να μπορείς να τα βλέπεις όταν κάνεις development. Θα σου συνιστούσα να χρησιμοποιήσεις κάποιο έτοιμο PHP email class όπως το PHPMailer, με το οποίο και θα δουλεύεις σωστά παντού και θα είναι και πιο εύκολο για σένα. Άμα το βάλω στον server θα δουλεύει;
defacer Δημοσ. 4 Αυγούστου 2011 Δημοσ. 4 Αυγούστου 2011 Άμα το βάλω στον server θα δουλεύει; Δε μπορώ να μαντέψω σήμερα, έχω δώσει την κρυστάλλινη σφαίρα για σέρβις.
adamco Δημοσ. 4 Αυγούστου 2011 Δημοσ. 4 Αυγούστου 2011 Εγώ έβαλα το παρακάτω πολύ πιο απλό script της php στον server και δεν δουλεύει. > <?php $name = stripslashes(strip_tags($_POST['name'])); $email = stripslashes(strip_tags($_POST['email'])); $message = stripslashes(strip_tags($_POST['msg'])); ob_start(); $headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email . "\r\n" . 'X-Mailer: PHP/' . phpversion(); $myEmail = '[email protected]'; $todayis = date("l, F j, Y, g:i a") ; $subject = "A message"; $message = "Message: $message \r \n From: $name \r \n Reply to: $email"; //sending data mail($myEmail, $subject, $message, $headers); ?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=WINDOWS-1253"> <title></title> </head> <body> <form action="mail.php" method="post"> Name <input type="text" name="name"><p/>Email address <input type="text" name="email"><p/>Message<br/> <textarea name="message" cols="40" rows="5"></textarea><p/> <input type="submit" value="Send"><br/> </form> </body> </html> Όταν συμπληρώσω τα δεδομένα της φόρμας και πατάω το Send βγαίνει μια νέα σελίδα που γράφει: This Account may have reached its limit, is suspended or this domain no longer exists. Γιατί δεν δουλεύει;
NiKoS WSN Δημοσ. 4 Αυγούστου 2011 Μέλος Δημοσ. 4 Αυγούστου 2011 Δε μπορώ να μαντέψω σήμερα, έχω δώσει την κρυστάλλινη σφαίρα για σέρβις. Μα αυτά δεν είναι στανταράκια; Εγώ ρωτάω γιατί δεν ξέρω και πολλά απο php! Εγώ έβαλα το παρακάτω πολύ πιο απλό script της php στον server και δεν δουλεύει. > <?php $name = stripslashes(strip_tags($_POST['name'])); $email = stripslashes(strip_tags($_POST['email'])); $message = stripslashes(strip_tags($_POST['msg'])); ob_start(); $headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email . "\r\n" . 'X-Mailer: PHP/' . phpversion(); $myEmail = '[email protected]'; $todayis = date("l, F j, Y, g:i a") ; $subject = "A message"; $message = "Message: $message \r \n From: $name \r \n Reply to: $email"; //sending data mail($myEmail, $subject, $message, $headers); ?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=WINDOWS-1253"> <title></title> </head> <body> <form action="mail.php" method="post"> Name <input type="text" name="name"><p/>Email address <input type="text" name="email"><p/>Message<br/> <textarea name="message" cols="40" rows="5"></textarea><p/> <input type="submit" value="Send"><br/> </form> </body> </html> Όταν συμπληρώσω τα δεδομένα της φόρμας και πατάω το Send βγαίνει μια νέα σελίδα που γράφει: This Account may have reached its limit, is suspended or this domain no longer exists. Γιατί δεν δουλεύει; Τι να σου πω; Αν είναι τσέκαρε τον δικό μου γιατί στο ένα μου site δουλεύει άρα το πιο λογικό είναι να σου δουλέψει! Αν δεν δουλέψει μίλα με την εταιρία γιατί λογικά θα έχεις άλλο πρόβλημα εσύ!
adamco Δημοσ. 4 Αυγούστου 2011 Δημοσ. 4 Αυγούστου 2011 Τι να σου πω; Αν είναι τσέκαρε τον δικό μου γιατί στο ένα μου site δουλεύει άρα το πιο λογικό είναι να σου δουλέψει! Αν δεν δουλέψει μίλα με την εταιρία γιατί λογικά θα έχεις άλλο πρόβλημα εσύ! Δυστυχώς δεν δουλεύει ούτε το δικό σου script. Πάει αμέσως το message ή μήπως πρέπει να περάσει λίγη ώρα και ύστερα να ελέγξω το ταχυδρομείο μου;
chridevelop Δημοσ. 4 Αυγούστου 2011 Δημοσ. 4 Αυγούστου 2011 Κάτι δεν έχεις κάνει καλά δες το πάλι απ την αρχή κ βάλε σε ξεχωριστή σελίδες του κώδικες ίσως να δουλέψει η αντέστρεψε τα βάλε επάνω το html code και μετά to php! Ελπίζω να δουλέψει!
adamco Δημοσ. 5 Αυγούστου 2011 Δημοσ. 5 Αυγούστου 2011 Δεν είναι εκεί το πρόβλημα. Και άλλες σελίδες μου έχουν το ίδιο style και λειτουργούν. Όπως π.χ. το add τεχνικού άρθρου στην βάση δεδομένων. Οι σελίδες αποτελούνται από ενιαία αρχεία ανάμεικτα (html, javascript, css και php).
CyberCr33p Δημοσ. 5 Αυγούστου 2011 Δημοσ. 5 Αυγούστου 2011 Μήπως έχεις δωρεάν hosting ; Συνήθως οι free webhosts δεν επιτρέπουν την αποστολή e-mails.
NiKoS WSN Δημοσ. 5 Αυγούστου 2011 Μέλος Δημοσ. 5 Αυγούστου 2011 Δυστυχώς δεν δουλεύει ούτε το δικό σου script. Πάει αμέσως το message ή μήπως πρέπει να περάσει λίγη ώρα και ύστερα να ελέγξω το ταχυδρομείο μου; Πάει κατευθείαν! Σου δείχνει ότι δουλεύει; Έχεις κάνει σωστά αντιγραφή τα αρχεία; σε ένα το html και ξεχωριστό php (send_form_email.php)
chrism4111 Δημοσ. 5 Αυγούστου 2011 Δημοσ. 5 Αυγούστου 2011 Να κάνω μια ερώτηση ?? Απλά επειδη έχω αναλάβει ένα project και αυτό θα είναι σηκωμένο στο ιντερνετ σε κάποιον server.. (εδω δεν εχω προβλημα το εχω δοκίμάσει και δουλευει) Το ιδιο project θα τρέχει και σε τοπικο επιπέδο για αλλους λόγους... Οι υπολογιστές που θα το τρέχουν θα έχουν προσβαση στο ιντερνετ και θα χρησιμοποιούν ας πουμε τον XAMPP Λέτε να έχω πρόβλημα στην αποστολή των mail όταν η εφαρμογή τρέχει σε τοπικο επιπεδό; Κανω χρήση της συναρτησης mail. Επίσης τα mail που αποστελονται δεν ειναι απλο κείμενο αλλα και επισυναψεις κυρίως αρχεία .xls και .xlsx ..
NiKoS WSN Δημοσ. 5 Αυγούστου 2011 Μέλος Δημοσ. 5 Αυγούστου 2011 Να κάνω μια ερώτηση ?? Απλά επειδη έχω αναλάβει ένα project και αυτό θα είναι σηκωμένο στο ιντερνετ σε κάποιον server.. (εδω δεν εχω προβλημα το εχω δοκίμάσει και δουλευει) Το ιδιο project θα τρέχει και σε τοπικο επιπέδο για αλλους λόγους... Οι υπολογιστές που θα το τρέχουν θα έχουν προσβαση στο ιντερνετ και θα χρησιμοποιούν ας πουμε τον XAMPP Λέτε να έχω πρόβλημα στην αποστολή των mail όταν η εφαρμογή τρέχει σε τοπικο επιπεδό; Κανω χρήση της συναρτησης mail. Επίσης τα mail που αποστελονται δεν ειναι απλο κείμενο αλλα και επισυναψεις κυρίως αρχεία .xls και .xlsx .. Τι να σου πω λογικά θα έπρεπε να δουλεύει αλλά ο defacer λέει πως έχουν πρόβλημα τα windows...
adamco Δημοσ. 6 Αυγούστου 2011 Δημοσ. 6 Αυγούστου 2011 Πάει κατευθείαν! Σου δείχνει ότι δουλεύει; Έχεις κάνει σωστά αντιγραφή τα αρχεία; σε ένα το html και ξεχωριστό php (send_form_email.php) Δουλεύουν τα δύο files.... Όταν πιέζω το "Αποστολή" δείχνει ένα waiting στην status bar και ψάχνω να βρω που πήγε το message!
NiKoS WSN Δημοσ. 6 Αυγούστου 2011 Μέλος Δημοσ. 6 Αυγούστου 2011 Δουλεύουν τα δύο files.... Όταν πιέζω το "Αποστολή" δείχνει ένα waiting στην status bar και ψάχνω να βρω που πήγε το message! Άμα δουλεύει (το δικό μου script) θα πρέπει να σου πετάει αυτό "Ευχαριστούμε που επικοινωνήσατε μαζί μας. Θα σας απαντήσουμε όσο πιο γρήγορα μπορούμε" το μήνυμα! Στο πετάει;
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.