Theostaltos Δημοσ. 26 Οκτωβρίου 2012 Δημοσ. 26 Οκτωβρίου 2012 Καλησπέρα, Κατασκευάζω μία προσωπική σελίδα και αντιμετωπίζω ένα πρόβλημα. Στην Φόρμα Επικοινωνίας, συμπληρώνω τα στοιχεία, πατάω "Αποστολή", τα πάντα έρχονται κανονικά στο mail μου, αλλά όταν πατάω "Αποστολή" με πηγαίνει σε μία λευκή σελίδα. Θα ήθελα να μάθω πως να με πηγαίνει σε μία δική μου σελίδα (π.χ. την contact2.html) αντί της λευκής. Παραθέτω τους κώδικες: contact.html > <form method="post" name="contact" action="css/contact.php"> <label for="author">Ονοματεπώνυμο :</label> <input type="text" id="author" name="author"/> <div class="cleaner h10"></div> <label for="job">E - Mail :</label> <input type="text" id="mail" name="mail"/> <div class="cleaner h10"></div> <div class="cleaner h10"></div> <label for="text">Μήνυμα :</label> <textarea id="text" name="text" rows="0" cols="0" class="required"></textarea> <div class="cleaner h10"></div> <input type="submit" value="Αποστολή" id="submit" name="Submit" class="submit_btn float_l" /> <input type="reset" value="Καθαρισμός" id="reset" name="reset" class="submit_btn float_r" /> </form> contact.php > <?php $ToEmail = '[email protected]'; $EmailSubject = 'www.GeorgAthan.com (New E - Mail)'; $mailheader = "From: ".$_POST["email"]."\r\n"; $mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; $MESSAGE_BODY = "Name: ".$_POST["author"].""; $MESSAGE_BODY .= "E - Mail: ".nl2br($_POST["mail"]).""; $MESSAGE_BODY .= "Text: ".nl2br($_POST["text"]).""; ?>
macabre_sunsets Δημοσ. 26 Οκτωβρίου 2012 Δημοσ. 26 Οκτωβρίου 2012 Δοκίμασε να βάλεις το: >header("Location: <όνομα σελίδας>.php"); πριν το: >?> στο "contact.php".
Theostaltos Δημοσ. 26 Οκτωβρίου 2012 Μέλος Δημοσ. 26 Οκτωβρίου 2012 Σε ευχαριστώ πολύ για την απάντησή σου. Να τονίσω ότι όποιος δεν έχει .php, μπόρει αντί για >header("Location: <όνομα σελίδας>.php"); να βάλει >header("Location: folder/onoma_selidas.html"); ... όπου: folder = φάκελος που έχει την σελίδα του Κάτι πολύ τελευταίο: Όταν, λοιπόν, συμπληρώνει κάποιος την φόρμα και έρχεται σε μενα το mail, αυτό είναι κάπως έτσι: >Name: kostasE - Mail: [email="[email protected]"][email protected][/email]: dokimi Πως μπορεί να γίνει λίγο πιο ανθρώπινο; To php είναι: ><?php $ToEmail = '[email protected]'; $EmailSubject = 'www.GeorgAthan.com (New E - Mail)'; $mailheader = "From: ".$_POST["email"]."\r\n"; $mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; $MESSAGE_BODY = "Name: ".$_POST["author"].""; $MESSAGE_BODY .= "E - Mail: ".nl2br($_POST["mail"]).""; $MESSAGE_BODY .= "Text: ".nl2br($_POST["text"]).""; mail($ToEmail, $text, $MESSAGE_BODY); header("Location: /test/index.html"); ?>
isay Δημοσ. 26 Οκτωβρίου 2012 Δημοσ. 26 Οκτωβρίου 2012 Theostalte βάλε και ένα if πριν το redirect (για διάφορους λόγους) > <?php $ToEmail = '[email protected]'; $EmailSubject = 'www.GeorgAthan.com (New E - Mail)'; $mailheader = "From: ".$_POST["email"]."\r\n"; $mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; $MESSAGE_BODY = "Name: ".$_POST["author"].""; $MESSAGE_BODY .= "E - Mail: ".nl2br($_POST["mail"]).""; $MESSAGE_BODY .= "Text: ".nl2br($_POST["text"]).""; if (mail($ToEmail, $text, $MESSAGE_BODY)) { header("Location: /test/index.html"); } else { echo "Problem! Email NOT sent"; } ?> 1
macabre_sunsets Δημοσ. 26 Οκτωβρίου 2012 Δημοσ. 26 Οκτωβρίου 2012 Να τονίσω ότι όποιος δεν έχει .php, μπόρει αντί για >header("Location: <όνομα σελίδας>.php"); να βάλει >header("Location: folder/onoma_selidas.html"); Αν εννοείς να μην έχει κάποια σελίδα με κατάληξη *.php τότε ΟΚ. Αν δεν έχει καθόλου υποστήριξη για PHP τότε το παραπάνω δεν θα δουλέψει. Πως μπορεί να γίνει λίγο πιο ανθρώπινο; Δοκίμασε το ακόλυοθο μήπως δουλέψει: ><?php $ToEmail = '[email protected]'; $EmailSubject = 'www.GeorgAthan.com (New E - Mail)'; $mailheader = "From: ".$_POST["email"]."\r\n"; $mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; $MESSAGE_BODY = "Name: ".$_POST["author"]."" . "\r\n"; $MESSAGE_BODY .= "E - Mail: ".nl2br($_POST["mail"])."" . "\r\n"; $MESSAGE_BODY .= "Text: ".nl2br($_POST["text"]).""; mail($ToEmail, $text, $MESSAGE_BODY); header("Location: /test/index.html"); ?> Έχω προσθέσει τα "\r\n" ώστε να αλλάζει γραμμή στο mail που λαμβάνεις.
Theostaltos Δημοσ. 26 Οκτωβρίου 2012 Μέλος Δημοσ. 26 Οκτωβρίου 2012 Σας ευχαριστώ για τις απαντήσεις σας. Με βοηθήσατε πολύ! ^_^
Theostaltos Δημοσ. 27 Οκτωβρίου 2012 Μέλος Δημοσ. 27 Οκτωβρίου 2012 Αυτός ο τρόπος είναι ο ίδιος και για άλλα redirections; Έχουμε αυτήν την εικόνα: Θέλω να δημιουργήσω μία database, έτσι ώστε αν κάποιος πελάτης μου θέλει να κάνει "Είσοδο", να πληκτρολογήσει τα στοιχεία του και να γίνεται redirect σε ένα tyxaio_onoma_selidas.html, οπού εκεί θα βλέπει διάφορα πράγματα (δε μας ενδιαφέρει αυτό το .html, καθώς το έχω κάνει ήδη). Γνωρίζει κανείς πως γίνεται αυτό; Ή αν είναι πολύς ο δρόμος, έχετε κατά νου κάποια κατατοπισμένη σελίδα (ελληνική ή αγγλική); Ευχαριστώ πολύ!
defacer Δημοσ. 27 Οκτωβρίου 2012 Δημοσ. 27 Οκτωβρίου 2012 Αυτό που θέλεις να κάνεις είναι το λεγόμενο PRG pattern. Η σελίδα της wikipedia δεν έχει πολλές πληροφορίες (διάβασέ την όμως) αλλά με λίγο googling για "PRG pattern" και "post/redirect/get" θα βρεις άπειρο πράμα.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα