Voilà, mon objectif me semblait très simple mais je me retrouve avec pas mal de problèmes
Je souhaite que les utilisateurs qui veulent recevoir un email de news puissent s'inscrire en saisissant un email dans un champ.
Une fois saisit, l'utilisateur clic sur le bouton SUBSCRIBE pour qu'ensuite son adresse email soit inscrite dans un tableau. Le tableau ayant 2 colonnes, l'une ID auto incrémenté et la seconde, l'adresse email.
J'ai le code suivant dans ma page PHP
La connexion se fait bien mais l'insertion ne se fait pas dans le tableau. Et pire, le <form> étant dans mon <footer>, ce dernier disparait complètement une fois l’actualisation de la page faite après que l’utilisateur ai cliqué sur SUBSCRIBE.
De plus, si je souhaite F5 ou ctrl+F5, j'ai le message suivant:
Et que je fasse "Renvoyer" ou "Annuler", mon <footer> a toujours disparu.
Étant totalement noob, je n'ai aucune piste de solution :X.
Merci très grandement par avance de votre temps.
Modifié par westman (26 Jul 2024 - 21:40)
Je souhaite que les utilisateurs qui veulent recevoir un email de news puissent s'inscrire en saisissant un email dans un champ.
Une fois saisit, l'utilisateur clic sur le bouton SUBSCRIBE pour qu'ensuite son adresse email soit inscrite dans un tableau. Le tableau ayant 2 colonnes, l'une ID auto incrémenté et la seconde, l'adresse email.
J'ai le code suivant dans ma page PHP
<?php
$servername = "mysql.XXX.com";
$database = "newsletter";
$username = "username";
$password = "mdp";
$conn = mysqli_connect($servername, $username, $password, $database);
if(isset($_POST['subscribe'])){
if(empty($_POST['email_newsletter'])){
echo '<script>alert("empty field!")</script>';
}else{
if(!preg_match("#^[a-z0-9_-]+((\.[a-z0-9_-]+){1,})?@[a-z0-9_-]+((\.[a-z0-9_-]+){1,})?\.[a-z]{2,}$#i",$_POST['email_newsletter'])){
echo '<script>alert("incorrect email address!")</script>';
}else{
$req = $sql->prepare('INSERT INTO newsletter(email) VALUES(:email_newsletter)');
$req->execute([':email_newsletter' => $_POST['email_newsletter']]);
}
}
}
mysqli_close($conn);
?>
<form style="" method="post" action="">
<input name="email_newsletter" type="email" value="<?php if(isset($_POST['email_newsletter'])){echo $_POST['email_newsletter'];} ?>"/>
<button name="subscribe" type="submit">SUBSCRIBE!</button>
</form>
La connexion se fait bien mais l'insertion ne se fait pas dans le tableau. Et pire, le <form> étant dans mon <footer>, ce dernier disparait complètement une fois l’actualisation de la page faite après que l’utilisateur ai cliqué sur SUBSCRIBE.
De plus, si je souhaite F5 ou ctrl+F5, j'ai le message suivant:
a écrit :
Pour afficher cette page, les informations précédemment transmises par Firefox doivent être renvoyées. Ceci répétera toute action (telle qu’une recherche ou un ordre d’achat) entreprise précédemment.
Et que je fasse "Renvoyer" ou "Annuler", mon <footer> a toujours disparu.
Étant totalement noob, je n'ai aucune piste de solution :X.
Merci très grandement par avance de votre temps.
Modifié par westman (26 Jul 2024 - 21:40)