Salve, nel codice seguente vorrei evitare quando faccio il refresh della pagina che mi faccia la ritrasmissione dei dati ma non so come fare ho provato usando header (location:...) ma nulla. Se avete un'idea da mostrarmi vi ringrazio.
PHP:
<?php /*************NEWSLETTER FORM******************/
function Newsletter(Database $db, Request $request){
$name = "";
$email = "";
$msg_to_user = "";
if (isset($_POST['name'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "SELECT * FROM newsletter WHERE email='$email'";
$result = $db->getData($sql);
$numRows =0;
foreach ($result as $row){
$numRows++;
}
//echo "num ".$numRows." ....";
if (!$email) {
$msg_to_user = "<br /><br /><h4><font color='FF0000'>Please type an email address '$name'</font></h4>";
} else if ( $numRows > 0) {
$msg_to_user = "<br /><br /><h4><font color='FF0000'>'$email' is already in the system.</font></h4>";
} else {
$sql = "INSERT INTO newsletter (name, email, dateTime) VALUES('$name','$email',now())";
$db->query($sql);// !!!!!!IMPORTANT FOR RUN THE SQL!!!!!!!!!!!!!!!!
//echo mysql_error();
$msg_to_user = "<br /><br /><h4><font color='0066FF'>Thanks '$name', you have been added successfully.</font></ h4>";
$name = "";
$email = "";
}
}
$out ="<section class='subscribe'>";
$out .="<form action='index.php?page=home&newsletterState=submitted' method='post' class='subscribe-form'>";
$out .="<fieldset class='letter'>";
$out .="<legend>Newsletter</legend>";
$out .="<input type='name' name='name' class='subscribe-name' placeholder='Name' autofocus>";
$out .="<input type='email' name='email' class='subscribe-email' placeholder='Email address' autofocus>";
$out .="<button type='submit' class='subscribe-submit'>Subscribe</button>";
$out .= "$msg_to_user";
$out .="</fieldset>";
$out .="</form>";
$out .="</section>";
//include_once("views/letter.php");
//$out .= letter($db, $request);
return $out;
}
Function SendLetter(Database $db, Request $request){
$subscribeState = $request->get("newsletterState");
if ($subscribeState === "submitted") {
include_once("views/letter.php");
$out = letter($db, $request);
//$url ="index.php?page=home";
header("location: index.php?page=home&newsletterState=submitted");
}else{
$out = Newsletter($db, $request);
}
return $out;
}
Ultima modifica di un moderatore: