Voici le code d'un script que j'avais étudié lors d'une formation PHP, qui permet de s'inscrire à une newsletter, le nom et l'email est alors ajouté à un fichier texte.
En local j'utilise MAMP donc sur mac (je suis en php5)
dans les formulaires s'affiche <br />, alors que lorsque j'essaie le script sur free.fr, il n'y a pas ses
<br /> Quelqu'un a t'il une explication ?
<?php
//pour n'avoir qu'un seul endroit où modifier le fichier
define('NEWSLETTER_FILE', 'newsletter.txt');
$message='';
/* *******************
inscription
********************* */
if(isset($_POST['inscri']))
{
if ($_POST['nom'] != '' AND $_POST['email'] != '')
{
$nom = stripslashes($_POST['nom']);
$email = stripslashes($_POST['email']);
/*verification des doublons*/
$newsletter = @file_get_contents(NEWSLETTER_FILE);
//Recherche de l'adresse e-mail dans la chaîne du fichier
if (ereg($email,$newsletter) == 1)
{
$message = 'cette adresse existe déja';
unset($_POST['email']);//pour ne pas la réafficher dans le form
}
else
{
//écriture dans le fichier
$ligne = $nom.'|'.$email."\r\n";
file_put_contents(NEWSLETTER_FILE,$ligne,FILE_APPEND);
$message = 'inscription effectuée';
//pour empêcher le réaffichage des champs
unset($_POST);
}
}
else
{
$message = 'merci de remplir tous les champs';
}
}
?>
<body>
<h1>Inscription</h1>
<form method="post" action="?" >
<label>Nom : </label><input type="text" name="nom" value="<?php echo $_POST['nom']; ?>" />
<br>
<label>e-mail : </label><input type="text" name="email" value="<?php echo $_POST['email']; ?>" />
<br>
<input type="submit" name="inscri" value="Je m'inscris à la Newsletter" />
</form>
<?php echo $message; ?>
</body>
</html>