Inscription : PHP

Petit nouveau ! | 2 Messages

04 mars 2013, 00:31

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 ;)

Eléphant du PHP | 353 Messages

04 mars 2013, 10:05

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.

Mammouth du PHP | 2278 Messages

04 mars 2013, 10:38

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
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Petit nouveau ! | 2 Messages

08 mars 2013, 00:22

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

ViPHP
AB
ViPHP | 5818 Messages

08 mars 2013, 04:49

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: