Bonjour à toutes et é tous,
Je débute dans le PHP, mais j'avance bien. J'ai récemment cherché mon erreur dans un code. Mais je n'y arrive pas.
Je fais un petit site comme exercice pour que je comprenne mieux le code php avec les sessions.
Le problème s'est que je voudrais que les inscriptions ne soient pas en Double. Dans mon fichier Texte: Login.txt, quand je remet un même pseudo, il l'accepte et fait foirer tout mon code.
VOici mon code:
<?php
session_start();
?>
<html>
<head>
<title>Inscription</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/nouveau.css">
</head>
<body bgcolor="#ffcc99">
<?
echo "<h1>Nouveau Membre</h1>";
?>
<form action="../index.php" method="post">
<input type="submit" value=" Retour "></form>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Votre prénom(obligatoire) :<br>
<input type="text" name="Nom"><br>
Mot de passe(obligatoire) :<br>
<input type="password" name="Mdp"><br><br>
Email(Pas obligatoire):<br>
<input type="text" name="email"><br><br>
<input type="submit" value="S'inscrire"></form>
<?php
if (isset($_POST["Nom"])||(isset($_POST["Mdp"])))
{
@$nom = $_POST['Nom'];
@$motdepasse = $_POST['Mdp'];
@$email = $_POST['email'];
$fichier="../Identification/login.txt";
$contenu=file($fichier);
// La variable commentaire est-elle définie ?
if ($nom != "" && $motdepasse != "")
{
foreach($contenu as $indice)
{
$indice = rtrim($indice);
$morceaux = explode(" ", $indice);
if($nom != $morceaux[0] && $email != $morceaux[2])
{
// On ouvre alors le fichier en lecture-écriture
$pointeur=fopen($fichier,"r+");
// On lit les anciennes données et on les stocke dans $anciennes
@$anciennes=fread($pointeur,filesize($fichier));
// Le lien de l'email
if ($email != "")
{
$membre = $nom." ".$motdepasse." ".$email." ";
}
else
{
$membre = $nom." ".$motdepasse." "."Inconnu"." ";
}
// On remet le curseur invisible au début du fichier
rewind($pointeur);
// Dans le fichier, on écrit le nouvel avis devant les anciens :
fputs($pointeur,"$membre\n$anciennes");
// On referme le fichier
fclose($pointeur);
}
else
echo "Email ou Pseudo déjà existants";
}
else
{
echo "Un ou Deux champ(s) vide(s) n'ont pas été rempli.";
}
}
?>
</body>
</html>
