Προς το περιεχόμενο
  • 0
Theostaltos

Πως κάνω redirect σε μία σελίδα μετά το Submit;

Ερώτηση

Καλησπέρα,

 

Κατασκευάζω μία προσωπική σελίδα και αντιμετωπίζω ένα πρόβλημα. Στην Φόρμα Επικοινωνίας, συμπληρώνω τα στοιχεία, πατάω "Αποστολή", τα πάντα έρχονται κανονικά στο 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"])."";
?>

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

7 απαντήσεις σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

  • 0

Δοκίμασε να βάλεις το:

>header("Location: <όνομα σελίδας>.php");

πριν το:

>?>

στο "contact.php".

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Σε ευχαριστώ πολύ για την απάντησή σου.

Να τονίσω ότι όποιος δεν έχει .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");
?>

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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";
}
?>

  • Like 1

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Να τονίσω ότι όποιος δεν έχει .php, μπόρει αντί για

>header("Location: <όνομα σελίδας>.php");

να βάλει

>header("Location: folder/onoma_selidas.html");

 

Αν εννοείς να μην έχει κάποια σελίδα με κατάληξη *.php τότε ΟΚ. Αν δεν έχει καθόλου υποστήριξη για PHP τότε το παραπάνω δεν θα δουλέψει.

 

Πως μπορεί να γίνει λίγο πιο ανθρώπινο;

 

Δοκίμασε το ακόλυοθο μήπως δουλέψει:

><?php
$ToEmail = '[email protected].com';
$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 που λαμβάνεις.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Αυτός ο τρόπος είναι ο ίδιος και για άλλα redirections;

 

Έχουμε αυτήν την εικόνα:

 

post-227859-0-08421600-1351337608_thumb.png

 

Θέλω να δημιουργήσω μία database, έτσι ώστε αν κάποιος πελάτης μου θέλει να κάνει "Είσοδο", να πληκτρολογήσει τα στοιχεία του και να γίνεται redirect σε ένα tyxaio_onoma_selidas.html, οπού εκεί θα βλέπει διάφορα πράγματα (δε μας ενδιαφέρει αυτό το .html, καθώς το έχω κάνει ήδη).

 

Γνωρίζει κανείς πως γίνεται αυτό;

Ή αν είναι πολύς ο δρόμος, έχετε κατά νου κάποια κατατοπισμένη σελίδα (ελληνική ή αγγλική);

 

Ευχαριστώ πολύ!

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Αυτό που θέλεις να κάνεις είναι το λεγόμενο PRG pattern. Η σελίδα της wikipedia δεν έχει πολλές πληροφορίες (διάβασέ την όμως) αλλά με λίγο googling για "PRG pattern" και "post/redirect/get" θα βρεις άπειρο πράμα.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε έναν λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι εύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
×
×
  • Δημιουργία νέου...

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.