Problème formulaire de connexion

Fermé
cyborg_five Messages postés 5 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 27 juillet 2014 - Modifié par cyborg_five le 25/07/2014 à 23:18
cyborg_five Messages postés 5 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 27 juillet 2014 - 27 juil. 2014 à 20:15
Bonjour, je suis en cours de création d'un site internet, et je suis devant une impasse. J'ai créé un espace membre, le formulaire d'inscription fonctionne parfaitement toutes les informations s'inscrive dans la base de données, mais bien sûr il faut qu'il y est un mais après avoir créé le formulaire de connexion je n'arrive pas à me connecter sur mon site, je ne comprend vraiment pas. PS: Les lignes ci-dessous viennent d'un tuto car je ne savais pas du tout comment faire ;).


Voici toutes les lignes de codes:

base de données: 'rs'
table: 'utilisateurs'
1 id int(10) Non Aucune AUTO_INCREMENT
2 pseudo varchar(100) latin1_swedish_ci
3 password varchar(100) latin1_swedish_ci
4 email varchar(100) latin1_swedish_ci
5 sexe varchar(6) latin1_swedish_ci


register.php:

<h1>Incription</h1>


<?php

include ('functions/config.php');

if(isset($_POST['submit'])){
$sexe = mysql_real_escape_string(htmlentities(trim($_POST['sexe'])));
$pseudo = mysql_real_escape_string(htmlentities(trim($_POST['pseudo'])));
$password = mysql_real_escape_string(htmlentities(trim($_POST['password'])));
$repeatpassword = mysql_real_escape_string(htmlentities(trim($_POST['repeatpassword'])));
$email = mysql_real_escape_string(htmlentities(trim($_POST['email'])));

if(empty($pseudo)){
$errors[] = "Veuillez saisir un pseudo";
}
if(empty($password)){
$errors[] = "Veuillez saisir un Mot de passe";
}
if($password != $repeatpassword){
$errors[] = "Vos deux Mot de passe ne sont pas identique";
}
if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
$errors[] = "Votre adresse email n'est pas correct";
}
if(!empty($errors)){
foreach($errors as $error)
{
echo "<div class='error'>".$error."</div>";
}
}else{
inscrire_utilisateur($pseudo,$password,$email,$sexe);
die('inscription terminéé');
}
}

?>
<form method='POST' action=''>

<label for='sexe'>Sexe</label>
<select name='sexe'>
<option value="Homme">Homme</option>
<option value="Femme">Femme</option>
</select><br/>
<label for="pseudo">Votre pseudo Minecraft:</label>
<input type="text" name="pseudo"><br/>

<label for="password">Votre Mot de passe:</label>
<input type="password" name="password"><br/>

<label for="repeatpassword">Repetez votre Mot de passe:</label>
<input type="password" name="repeatpassword"><br/>

<label for="email">E-mail:</label>
<input type="text" name="email"><br/>br/>

<input type="submit" value="S'inscrire" name="submit">

</form>

<a href='index.php?page=login'>Page de connexion</a>

register.func.php:

<?php

//function qui va inscrire user

function inscrire_utilisateur($pseudo,$password,$email,$sexe){
$password = sha1($password);
mysql_query("INSERT INTO utilisateurs(id,pseudo,password,email,sexe)
VALUES('','$pseudo','$password','$email','$sexe')
") or die(mysql_error());
}

?>

login.php:

<h1>Connexion</h1>
<?php

include ('functions/config.php');
if(isset($_POST['submit']))
{
if(empty($POST['pseudo'])){
$errors[] = "Veuillez saisir votre pseudo";
}
if(empty($_POST['password'])){
$errors[] = "Veuillez saisir votre mot de passe";
}

if(!empty($errors))
{
foreach($errors as $error)
{
echo"<div class='error'>".$error."</div>";
}
}else{
if(verifier_conbinaison_pseudo_password($_POST['pseudo'],$_POST['password']) == 0)
{
echo "<div class='error'>Pseudo ou Mot de passe invalide</div>";
}else{
$_SESSION['pseudo'] = $POST['pseudo'];
header("Location:index.php?page=membre");
}
}
}

?>
<form method='POST' action=''>

<label for="pseudo">Votre pseudo Minecraft:</label>
<input type="text" name="pseudo"><br/>

<label for="password">Votre Mot de passe:</label>
<input type="password" name="password"><br/>

<input type="submit" value="Se connecter" name="submit">

</form>

<a href='index.php?page=register'>Pas encore membre</a>

login.func.php:

<?php
//verification combianaison

function verifier_conbinaison_pseudo_password($pseudo,$password)
{
$pseudo = mysql_real_escape_string(htmlentities($_POST['pseudo']));
$password = mysql_real_escape_string(htmlentities($_POST['password']));
$password = sha1($password);

$query = mysql_query("SELECT pseudo,password FROM utilisateurs WHERE pseudo = '$pseudo' AND password = '$password'");

$rows = mysql_num_rows($query);
return $rows;
}


?>

membre.php:

<?php

$infos = infos_membre_connecte();

foreach($infos as $info){
echo "Bienvenue".$info['pseudo'];
}

?>

membre.func.php:

<?php
//la fonction qui va recuperer les infos du mec co

function infos_membre_connecte(){
$infos = array();
$pseudo = $_SESSION['pseudo'];
$query = mysql_query("SELECT * FROM ultilisateurs WHERE pseudo = '$pseudo'");

while($row = mysql_fetch_assoc($query)){
$infos[] = $row;
}
return $infos;
}

?>

J'espere ne pas avoir fait trop long, mais je pense que vous avez besoin de tous les fichiers pour comprendre la structure.

Merci d'avance.

6 réponses

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
Modifié par Nhay le 26/07/2014 à 09:18
Bonjour !
Tu a un session_start quelque part dans ton code ?
0
ElementW Messages postés 4814 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 227
26 juil. 2014 à 11:26
latin1_swedish_ci en tant qu'encodage de MDP: pas bon, tu fais quoi si le MDP contient des caractères spéciaux que latin1 ne gère pas? Si tu oses les restreindre tu va péter la sécurité de certaines personnes qui ont choisi volontairement un MDP avec des caractères spéciaux.
mysql_real_escape_string
: ewww c'est moche. Sache que les fonctions
mysql_
vont disparaitre définitivement dans les prochaines versions de PHP et qu'elles sont déjà obsolètes depuis PHP 5.5. Passe à
PDO
ou au syntaxiquement plus proche
mysqli
.
0
cyborg_five Messages postés 5 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 27 juillet 2014
26 juil. 2014 à 11:50
Merci pour votre réponse rapide, j'ai mis cette encodage le temp mais aprés je le chargerai en md5, je ne connaissai pas le PDO je vais essayer de l'inserer. encore merci.
0
cyborg_five Messages postés 5 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 27 juillet 2014
26 juil. 2014 à 11:52
Bonjour, Oui j'ai un session_start() dans config.php.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cyborg_five Messages postés 5 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 27 juillet 2014
26 juil. 2014 à 19:16
J'ai tous mis en mysqli mais dans la connexion il me marque "veuillez saisir pseudo" au lieux que je l'ai saisi je ne vois pas d'où vient le problème, pouvez-vous m'éclairer. Merci.
0
cyborg_five Messages postés 5 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 27 juillet 2014
27 juil. 2014 à 20:15
Up!!
0