A voir également:
- PHP > Espace membre > Erreur !
- Erreur 0x80070643 - Accueil - Windows
- Espace insécable word - Guide
- Libérer espace gmail - Guide
- Membre indisponible vinted - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
2 réponses
Utilisateur anonyme
20 nov. 2010 à 17:42
20 nov. 2010 à 17:42
Voici le meme script en plus rapide !
le script membre :
et la table membre :
CREATE TABLE membres (
id int(11) NOT NULL auto_increment,
login text NOT NULL,
pass_md5 text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
le script membre :
<?php if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') { if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) { if ($_POST['pass'] != $_POST['pass_confirm']) { $erreur = 'Les 2 mots de passe sont différents.'; } else { $base = mysql_connect ('serveur', 'login', 'password'); mysql_select_db ('nom_base', $base); $sql = 'SELECT id FROM membres WHERE login="'.mysql_escape_string($_POST['login']).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nb = mysql_num_rows($req); if ($nb == 0) { $sql = 'INSERT INTO membres (id, login, pass_md5) VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'")'; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); // on récupère l'id de notre nouveau membre $id = mysql_insert_id(); session_start(); $_SESSION['login'] = $_POST['login']; // on stocke cet id dans une variable de session $_SESSION['id'] = $id; header('Location: membre.php'); exit(); } else { $erreur = 'Un membre possède déjà ce login.'; } } } else { $erreur = 'Au moins un des champs est vide.'; } } ?> <html> <head> <title>Inscription</title> </head> <body> Inscription à l'espace membre :<br /> <form action="inscription.php" method="post"> Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>"><br /> Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>"><br /> Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['pass_confirm']))); ?>"><br /> <input type="submit" name="inscription" value="Inscription"> </form> <?php if (isset($erreur)) echo '<br />',$erreur; ?> </body> </html>
et la table membre :
CREATE TABLE membres (
id int(11) NOT NULL auto_increment,
login text NOT NULL,
pass_md5 text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
18 juil. 2009 à 20:44
18 juil. 2009 à 20:44
Remplace
Par
mysql_query('INSERT INTO membres VALUES("","'.$pseudo.'",md5("'.$passe.'"))') OR die(mysql_error());
Par
mysql_query('INSERT INTO membres VALUES("","'.$pseudo.'","'.md5($passe).'")') OR die(mysql_error());
fait carement
le espace pour le champ auto_incentement evite de poser des pobleme chez one et tt ca ! et precise ta sctrucure de base de donnee comme ca :
Encore une fois, ca accelere le processus et evite toutes erreures !
mysql_query('INSERT INTO membres VALUES(" ","'.$pseudo.'","'.md5($passe).'")') OR die(mysql_error());
le espace pour le champ auto_incentement evite de poser des pobleme chez one et tt ca ! et precise ta sctrucure de base de donnee comme ca :
mysql_query('INSERT INTO membres(id, pseudo, passe) VALUES(" ","'.$pseudo.'","'.md5($passe).'")') OR die(mysql_error());
Encore une fois, ca accelere le processus et evite toutes erreures !
et ici : tu fait au lieu de === tu fait == :
devient donc :
encore une acceleration et pour ton probleme fait comme j'ai dit :
$_POST['passe_membre']===$_POST['confirm_mdp'])
devient donc :
$_POST['passe_membre']==$_POST['confirm_mdp'])
encore une acceleration et pour ton probleme fait comme j'ai dit :
mysql_query('INSERT INTO membres(id, pseudo, passe) VALUES(" ","'.$pseudo.'","'.md5($passe).'")') OR die(mysql_error());
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
Modifié par avion-f16 le 20/11/2010 à 17:53
Modifié par avion-f16 le 20/11/2010 à 17:53
Le problème est résolu depuis le temps ...
Si tu précises la structure, inutile de mettre l'id et sa valeur.
« et ici : tu fait au lieu de === tu fait == »
Il y a une différence.
Le premier signifie "est strictement égal" et le second "est égal"
La différence, c'est que pour PHP, null, false, une chaine vide, 0, etc sont égaux mais pas strictement égaux.
Si tu précises la structure, inutile de mettre l'id et sa valeur.
« et ici : tu fait au lieu de === tu fait == »
Il y a une différence.
Le premier signifie "est strictement égal" et le second "est égal"
La différence, c'est que pour PHP, null, false, une chaine vide, 0, etc sont égaux mais pas strictement égaux.
20 nov. 2010 à 17:43