Script inscription, connexion ! [PHP}
Dernière réponse : dans Programmation
Salut les idnautes,
J'ai actuellement en projet de coder mon forum, et je me sert donc d'un tuto que jai trouver,
J'ai cependant quelque erreur,
L'inscription et la connexion ne fonctionne pas,
Pourriez-vous m'aider, je vous donne mes page
Sa c'etait l'inscription
Et voila la connexion
J'ai actuellement en projet de coder mon forum, et je me sert donc d'un tuto que jai trouver,
J'ai cependant quelque erreur,
L'inscription et la connexion ne fonctionne pas,
Pourriez-vous m'aider, je vous donne mes page
<?php
//Cette fonction doit être appelée avant tout code html
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<?php
//Maintenant on se connecte à la base de données
include("includes/connexion_bdd.php");
?>
<div id="corps_forum">
<a href ="./index.php">Index du forum</a>
<?php
//On évite qu'un membre déjà connecté se retrouve ici !
if (isset($_SESSION['pseudo']))
{
exit("<p>Désolé mais vous ne pouvez pas accéder à cette page</p>");
}
?>
<h1>Inscription 1/2</h1>
<form method="post" action="registerok.php" enctype="multipart/form-data">
<fieldset><legend>Identifiants</legend>
<label for="pseudo">* Pseudo :</label> <input name="pseudo" type="text" id="pseudo" /> (le pseudo doit contenir entre 3 et 15 caractères)<br />
<label for="password">* Mot de Passe :</label><input type="password" name="password" id="password" /><br />
<label for="confirm">* Confirmer le mot de passe :</label><input type="password" name="confirm" id="confirm" />
</fieldset>
<fieldset><legend>Contacts</legend>
<label for="email">* Votre adresse E_Mail :</label><input type="text" name="email" id="email" /><br />
<label for="msn">Votre adresse MSN :</label><input type="text" name="msn" id="msn" /><br />
<label for="website">Votre site web :</label><input type="text" name="website" id="website" />
</fieldset>
<fieldset><legend>Informations supplémentaires</legend>
<label for="localisation">Localisation :</label><input type="text" name="localisation" id="localisation" />
</fieldset>
<fieldset><legend>Profil sur le forum</legend>
<label for="avatar">Choisissez votre avatar :</label><input type="file" name="avatar" id="avatar" />(Taille max : 10 ko)<br />
<label for="signature">Signature :</label><textarea cols="40" rows="4" name="signature" id="signature">La signature est limitée à 200 caractères</textarea>
</fieldset>
<p>Les champs précédés d un * sont obligatoires</p>
<p><input type="submit" value="S'inscrire" /></p></form>
</h2>
</div>
</body>
</html>
<?php
//Cette fonction doit être appelée avant tout code html
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<?php
//Maintenant, on se connecte à la base de données
include("includes/connexion_bdd.php");
$i = 0;
//Vérification du pseudo
$nombrepseudo = mysql_result(mysql_query("SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = '".$_POST['pseudo']."'"), 0);
if($nombrepseudo != 0)
{
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
$i++;
}
if (strlen($_POST['pseudo']) < 3 || strlen($_POST['pseudo']) > 15)
{
$pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
$i++;
}
//Vérification du mdp
if ($_POST['password'] != $_POST['confirm'] || empty($_POST['confirm']) || empty($_POST['password']))
{
$mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides";
$i++;
}
//Vérification de l'adresse email
//Il faut que l'adresse email n'ait jamais été utilisée
$nombremail = mysql_result(mysql_query("SELECT COUNT(*) FROM forum_membres WHERE membre_email = '".$_POST['email']."'"), 0);
if ($nombremail!= 0)
{
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
$i++;
}
//On vérifie la forme maintenant
if (!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']) || empty($_POST['email']))
{
$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
$i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['msn']) && !empty($_POST['msn']))
{
$msn_erreur = "Votre adresse MSN n'a pas un format valide";
$i++;
}
//Vérification de la signature
if (strlen($_POST['signature']) > 200)
{
$signature_erreur = "Votre signature est trop longue";
$i++;
}
//Vérification de l'avatar :
if (!empty($_FILES['avatar']['size']))
{
//On définit les variables :
$maxsize = 10024; //Poid de l'image
$maxwidth = 100; //Largeur de l'image
$maxheight = 100; //Longueur de l'image
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
if ($_FILES['avatar']['error'] > 0)
{
$avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
}
if ($_FILES['avatar']['size'] > $maxsize)
{
$i++;
$avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong> contre <strong>".$maxsize." Octets</strong>)";
}
$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
{
$i++;
$avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
}
$extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
if (!in_array($extension_upload,$extensions_valides) )
{
$i++;
$avatar_erreur3 = "Extension de l'avatar incorrecte";
}
}
?>
<div id="corps_forum">
<a href ="./index.php">Index du forum</a> / <a href="./register.php">Inscription</a>
<?php
if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{
echo'<h1>Inscription terminée</h1>';
echo'<p>Bienvenue '.$_POST['pseudo'].' vous êtes maintenant inscrit sur le forum</p>';
echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';
if (isset($_FILES['avatar']['size']))
{
//On déplace l'avatar
$avatar = time();
$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
$avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
}
//On vérifie que les champs ne continennent pas de html
//Puis on crypte le mot de passe
$temps = time();
$signature = htmlspecialchars($_POST['signature'], ENT_QUOTES);
$signature = nl2br($signature);
$pseudo = htmlspecialchars($_POST['pseudo'], ENT_QUOTES);
$email = htmlspecialchars($_POST['email'], ENT_QUOTES);
$msn = htmlspecialchars($_POST['msn'], ENT_QUOTES);
$website = htmlspecialchars($_POST['website'], ENT_QUOTES);
$localisation = htmlspecialchars($_POST['localisation'], ENT_QUOTES);
$pass = md5($_POST['password']);
//On balance le tout dans notre table
mysql_query("
INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,
membre_msn, membre_siteweb, membre_avatar,
membre_signature, membre_localisation, membre_inscrit,
membre_derniere_visite)
VALUES ('".$pseudo."' , '".$pass."' , '".$email."' ,
'".$msn."' , '".$website."' , '".$nomavatar."' ,
'".$signature."' , '".$localisation."' , '".$temps."' ,
'".$temps."' ) ");
//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = mysql_insert_id();
$_SESSION['level'] = 1;
}
else
{
echo'<h1>Inscription interrompue</h1>';
echo'<p>Une ou plusieurs erreurs se sont produites pendant l incription</p>';
echo'<p>'.$i.' erreur(s)</p>';
echo'<p>'.$pseudo_erreur1.'</p>';
echo'<p>'.$pseudo_erreur2.'</p>';
echo'<p>'.$mdp_erreur.'</p>';
echo'<p>'.$email_erreur1.'</p>';
echo'<p>'.$email_erreur2.'</p>';
echo'<p>'.$msn_erreur.'</p>';
echo'<p>'.$signature_erreur.'</p>';
echo'<p>'.$avatar_erreur.'</p>';
echo'<p>'.$avatar_erreur1.'</p>';
echo'<p>'.$avatar_erreur2.'</p>';
echo'<p>'.$avatar_erreur3.'</p>';
echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
}
mysql_close();
?>
</div>
</body>
</html>
<?
//On déplace l'avatar
$avatar = time();
$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
$avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
?>
Sa c'etait l'inscription
Et voila la connexion
<?php
//Cette fonction doit être placé avant le reste
$titre = "Connexion";
include("includes/debut.php");
?>
<div id="banniere"></div>
<div id="corps_forum">
<a href="./index.php">Index du forum</a>
<?php
//Par sécurité, on vérifie que le membre qui accède à cette page n'est pas déjà connecté
if (isset($_SESSION['pseudo']))
{
exit("Désolé, mais vous ne pouvez pas accéder à cette page");
}
?>
<h1>Connexion</h1>
<form method="post" action="connexionok.php">
<fieldset>
<legend>Connexion</legend>
<p>
<label for="pseudo">Pseudo :</label><input name="pseudo" type="text" id="pseudo" /><br />
<label for="password">Mot de Passe :</label><input type="password" name="password" id="password" /><br />
</p>
</fieldset>
<p><input type="submit" value="Connexion" /></p></form>
<a href="./register.php">Pas encore inscrit ?</a>
</div>
</body>
</html>
<label>Se souvenir de moi ?</label><input type="checkbox" name="souvenir" /><br />
<?php
// Message
if (empty($_POST['pseudo']) || empty($_POST['password']) ) //Oublie d'un champ
{
$message = '<p>une erreur s est produite pendant votre identification.
Vous devez remplir tous les champs
Cliquez <a href="./connexion.php">ici</a> pour revenir</p>';
}
else
{
//Acces interdit : le membre est déjà connecté
if (isset($_SESSION['pseudo']))
{
$message ='<p>Désolé mais vous ne pouvez
pas accéder à cette page</p>';
}
else // Autorisation ok : il reste à voir le mot de passe
{
include("includes/connexion_bdd.php");
//On enlève les balises html éventuelles
$pseudo = htmlspecialchars($_POST['pseudo'], ENT_QUOTES);
$password = htmlspecialchars($_POST['password'], ENT_QUOTES);
$requete1 = mysql_query(' SELECT membre_mdp, membre_id, membre_rang
FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'" ')
or die (mysql_error());
$data1 = mysql_fetch_assoc($requete1);
if ($data1['membre_mdp'] == md5($password)) // Acces OK !
{
$_SESSION['pseudo'] = $pseudo;
$_SESSION['level'] = $data1['membre_rang'];
$_SESSION['id'] = $data1['membre_id'];
$message = '<p>Bienvenue '.$_SESSION['pseudo'].',
vous êtes maintenant connecté!</p>
<p>Cliquez <a href="./index.php">ici</a>
pour revenir à la page d accueil</p>';
}
else // Acces pas OK !
{
$message = '<p>Une erreur s est produite
pendant votre identification.
Le mot de passe ou le pseudo entré n est pas correcte.
Cliquez <a href="./connexion.php">ici</a>
pour revenir à la page précédente
<br /><br />
Cliquez <a href="./index.php">ici</a>
pour revenir à la page d accueil</p>';
}
}
}
//Ici seulement on affiche la page
include("includes/debut.php");
?>
<div id="banniere"></div>
<div id="corps_forum">
<?php
echo $message;
?>
</div>
</body>
</html>
<?
if (isset($_POST['souvenir']))
{
$expire = time() + 365*24*3600;
setcookie('pseudo', $_SESSION['pseudo'], $expire);
}
?>
Autres pages sur : script inscription connexion php
Lassé par la pub ? Créez un compte
Oui je sais,
C'est pas compliquez, je ne peux pas me connectez, sa me maque bonjour darkhos, vous etes connecté, sa me met une redirecction vers lindex, mais je ne suis pas co, ( c'est un comtpe creer par la bdd, puiske je ne peux pas minscririre)
Les erreur a linscription sont :
Edit, c'est reparé
Sauf la connexion
C'est pas compliquez, je ne peux pas me connectez, sa me maque bonjour darkhos, vous etes connecté, sa me met une redirecction vers lindex, mais je ne suis pas co, ( c'est un comtpe creer par la bdd, puiske je ne peux pas minscririre)
Les erreur a linscription sont :
Edit, c'est reparé
Sauf la connexion
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumScript php connexion inscription
- ForumPhp script inscription
- ForumScript connexion php
- ForumScript inscription php
- ForumScript connexion php session
- ForumTest connexion php mysql script php
- ForumScript inscription en php
- ForumScript de connexion php
- ForumScript de connexion en php
- solutionsScript php identification inscription
- Voir plus