Page 1 sur 1

Inscription : PHP

Posté : 04 mars 2013, 00:31
par ramsserio
salut tout le monde ,
Je viens de créer une page inscription.php
<?php
echo "<h1>S'inscrire</h1>";
if(isset($_POST['submit']))
{
$username =htmlspecialchars(trim($_POST['username']));
$password =htmlspecialchars(trim($_POST['password']));
$repeatpassword =htmlspecialchars(trim($_POST['repeatpassword']));

	if($username&&$password&&$repeatpassword)
	{
		if(strlen($password)>3)
		{
		$password == md5($password);
		$repeatpassword == md5($repeatpassword);
		
		if($password==$repeatpassword)
		{
		
		
		$connect = mysql_connect('localhost', 'ici-jai-mis-mon-nom-d-utilisateur', '');
			mysql_select_db('ici-le-nom-de-ma-base-de-données');
		
			$reg = mysql_query("INSERT INTO le-nom-de-ma-table VALUES('','$username','$password','$repeatpassword')");
		
			die('inscription términée');
			
		
		
		}else echo "Les Passwords doivent etre identiques";
		
		
		}else echo "Le Password est très court";
		
				
			
	
			
	
	
	
	}else echo "Veillez saisir tout les champs";

	
}

?>
Le formulaire fonctionne très bien mai le problème c'es que dans la base de données Mysql je ne trouve pas les inscrits !
Pouvez-vous m'aider
Merci d'avance ;)

Re: Inscription : PHP

Posté : 04 mars 2013, 10:05
par nicolas
Pour voir si ta requête, en phase de mise au point je te propose de remplacer ta ligne mysql_query par :
$reg = mysql_query("INSERT INTO le-nom-de-ma-table VALUES('','$username','$password','$repeatpassword')") or die(mysql_error());
Sinon quelques remarques :
- j'imagine que le premier champ est un entier auto-incrémenté. Pas besoin de le mettre dans la requête.
- htmlspecialchars n'est pas suffisant pour te protéger des injections sql. Utilise mysql_real_escape_string() pour protéger tes variables.
- tu utilises des variables qui peuvent être non définies donc tu vas te retrouver avec des avertissements. Par exemple les champs de formulaires non remplis aboutiront à des variables non définies dans le tableau $_POST. Teste l'existence des variables avec isset ou empty.

Re: Inscription : PHP

Posté : 04 mars 2013, 10:38
par sirakawa
Pour voir si ta requête, en phase de mise au point je te propose de remplacer ta ligne mysql_query par :
$reg = mysql_query("INSERT INTO le-nom-de-ma-table VALUES('','$username','$password','$repeatpassword')") or die(mysql_error());
.
Moi je préfère:
$requete = "INSERT INTO le-nom-de-ma-table VALUES('','$username','$password','$repeatpassword')";//ce qui signifie que ta table contient quatre colonnes.
print "<br>$requete";
$resultat = mysql_query($requete) or die(mysql_error());
Et je me demande d'abord pourquoi tu mets dans ta table $repeatpassword....
enfin pour l'emploi de md5(), consulter:
http://www.php.net/manual/fr/faq.passwo ... s.fasthash

Re: Inscription : PHP

Posté : 08 mars 2013, 00:22
par ramsserio
Pour voir si ta requête, en phase de mise au point je te propose de remplacer ta ligne mysql_query par :
$reg = mysql_query("INSERT INTO le-nom-de-ma-table VALUES('','$username','$password','$repeatpassword')") or die(mysql_error());
.
Merci pour votre réponse
Mais je rencontre encore un petit problème :(
Le code fonctionne très bien avec Ma base de donner local (easyphp)
Mais j'ai un problème avec Ma base de donnée
en fait je ne sais pas exactement que dois je mettre dans chaque espace (mysql db , mysql user, host ...) Je suis encore débutant
Je suis hébérgé sur : heberfacile.com
Pourriez-vous m'aider ?
Merci

Re: Inscription : PHP

Posté : 08 mars 2013, 04:49
par AB
htmlspecialchars ne devrait pas être utilisé pour récupérer un post mais uniquement pour protéger des données à l'affichage
Pour plus de détails sur la connexion et l'inscription dans un espace membre j'ai fait un tuto spécialement prévu pour toi ici :wink: