Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/09/2011, 14h28   #1
Invité de passage
 
Homme adil adilo
Développeur Web
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme adil adilo
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 0
Points : 0
Par défaut probléme :formulaire d'inscription

Bonjour à tous, je suis nouveau sur le forum et je me permet de poster ce sujet car j'ai besoin d'aide en php. je viens de crée un formulaire d'inscription avec captcha et lors de l'iscrption je reçois erreur .
merci d'avance :
Citation:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\bancheap\pages\register.php on line 27

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\bancheap\pages\register.php on line 30

mon formulaire inscription :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php 
if(isset($_POST['user'])) {

	if(empty($_POST['user']) OR empty($_POST['password']) OR empty($_POST['password2']) OR empty($_POST['site_title']) OR empty($_POST['site_url']) OR empty($_POST['email']) 
	//OR empty($_POST['captcha'])
	) {
		echo "<p class='text_error'>Veuillez remplire tous les champs.</p>";
		echo "<br /><a href='index.php?p=register'>Retour.</a>";

	} else {
		$captcha  = $_POST['captcha'];
		$captcha2 = $_SESSION['captcha'];
		$user  = mysql_real_escape_string($_POST['user']);
		$password  = mysql_real_escape_string($_POST['password']);
		$password2  = mysql_real_escape_string($_POST['password2']);
		$email  = mysql_real_escape_string($_POST['email']);
		$paypal  = mysql_real_escape_string($_POST['paypal']);
		$url  = mysql_real_escape_string($_POST['site_url']);
		$url = parse_url($url, PHP_URL_HOST);
		$title  = mysql_real_escape_string($_POST['site_title']);
		if(!empty($_POST['ref'])) { $ref = mysql_real_escape_string($_POST['ref']); } else { $ref = '';}
		$error= '';

		
		$q1 = mysql_query("SELECT * FROM users WHERE username ='$user'");
	line 27	$result = mysql_num_rows($q1);

		$q2 = mysql_query("SELECT * FROM users WHERE email ='$email'");
	line 30	$result2 = mysql_num_rows($q2);
		
		if($captcha2 != $captcha) {
			echo "Le code de sécurité que vous avez entré est invalide.";
			$error++;
		} elseif($password != $password2) {
			echo "Les deux mot de passe que vous avez entré sont differents.";
			$error++;
		} elseif(!preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#is', $email)) {
			echo "Votre adresse email n'est pas valide.";
			$error++;
		} elseif($result > '0') {
			echo "Votre nom d'utilisateur est déjà utilisé.";
			$error++;
		} elseif($result2 > '0') {
			echo "Votre adresse email est déjà utilisé.";
			$error++;
		} elseif(strlen($password) < '5' OR strlen($password) > '25') {
			echo "Votre mot de passe n'est pas valide.";
			$error++;
		} elseif(strlen($user) < '5' OR strlen($user) > '25') {
			echo "Votre nom d'utilisateur n'est pas valide.";
			$error++;
		} else {
			$now = date('U');
			mysql_query("INSERT INTO users(ref, username, password, email, sign_date, paypal) VALUES ('$ref', '$user', '$password', '$email', '$now', '$paypal')");
			mysql_query("INSERT INTO sites(user, url, title, active) VALUES ('$user', '$url', '$title', '0')");
			
			$sub = "Inscription réussite";
			$headers = 'From: '.$c_email."\n";
			$headers .= "MIME-version: 1.0\n";
			$headers .= "Content-type: text/html; charset= iso-8859-1\n";
			$msg = "<b>Merci pour votre inscription sur notre regie</b> <br />Veuillez confirmez votre inscription en cliquant sur le lien :<br /><a href='".$_SERVER['HTTP_HOST']."/index.php?p=login&confirm=".$now."'>".$_SERVER['HTTP_HOST']."/index.php?p=login&confirm=".$now."</a><br /><br />";

			if(mail($email, $sub, $msg, $headers)) {
			} else { echo "Un problème est survenu veuillez contactez le webmaster."; }
			
			echo "<p class='text_valid'>Vous avez bien été inscrit, vous devez activer votre compte depuis le lien dans l'email qu'il vient d'être envoyé a l'adresse <b>".$email."</b>"; session_destroy();
		}
	
	if($error > '0') {
		echo "<br /><a href='index.php?p=register'>Retour.</a>";
	}

	}


 } else {
	 		if(isset($_GET['ref'])) { $ref = mysql_real_escape_string($_GET['ref']); } else { $ref = '';}
			?>
<table id="form">
<form action="" method="post">
<tr><td>Nom d'utilisateur : </td><td><input type="text" name="user"></td></tr>
<tr><td>Mot de passe : </td><td><input type="password" name="password"></td></tr>
<tr><td>Vérification de mot de passe : </td><td><input type="password" name="password2"></td></tr>
<tr><td>Adresse éléctronique : </td><td><input type="text" name="email"></td></tr>
<tr><td>Adresse PayPal : </td><td><input type="text" name="paypal"></td></tr>
<tr><td>Parrain : </td><td><input type="text" value="<?php echo $ref; ?>" name="ref"></td></tr>
<tr><td>Titre de votre site  : </td><td><input type="text" name="site_title"></td></tr>
<tr><td>URL de votre site : </td><td><input type="text" name="site_url" value="http://" size="30"></td></tr>
<tr><td>Code de sécurité : </td><td><img src="pages/captcha.php"><br /><input type="text" name="captcha"></td></tr>
<tr><td></td><td><input type="submit" value="S'inscrire"></td></tr>
</form>
</table>
<?php
}
?>
adilboy2007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 16h29   #2
Membre Expert
 
Avatar de David Guillot
 
Homme David Guillot
Chef de projet en SSII
Inscription : mars 2004
Messages : 879
Détails du profil
Informations personnelles :
Nom : Homme David Guillot
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 879
Points : 1 149
Points : 1 149


Ta requête doit retourner FALSE et donc générer une erreur. Mets en place un test if($result === FALSE) pour ne pas tomber sur ce problème, et surtout résoudre l'erreur générée par ta requête (visible avec un mysql_error()).

Conseil : pour la prochaine fois, utilise la balise CODE et pas QUOTE pour afficher ton code sur le forum
__________________
Avant de poser une question ici :

Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé
David Guillot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 16h31   #3
Invité de passage
 
Inscription : juillet 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 9
Points : 4
Points : 4
Bonsoir,

Juste pour précision sur ton script, je ne vois pas à quel niveau tu as placé la connexion à ta base de données ??
Delors est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 18h43   #4
Futur Membre du Club
 
Homme
Inscription : septembre 2011
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2011
Messages : 15
Points : 18
Points : 18
Effectivement, ton script ne possède aucune connexion à une bdd. Nous n'apercevons que tes requêtes...
Je te conseil l'extension PDO en lieu et place de mysql pour utiliser une base de donnée avec PHP (à partir de 5.1).
Elle apporte un confort d'utilisation et une extraction plus importants.
A savoir qu'entre les deux existe mysqli (i pour improve).
Sam__ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 20h16   #5
Invité de passage
 
Homme adil adilo
Développeur Web
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme adil adilo
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 0
Points : 0
Par défaut probléme :formulaire d'inscription

Bonjour après quelque modifies sur le scripts je reçois erreur
si quelqu’un connais la solution merci

Erreur SQL !
Citation:

Access denied for user 'bancheap.com_84'@'localhost' (using password: NO)
adilboy2007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 11h41   #6
Membre Expert
 
Avatar de David Guillot
 
Homme David Guillot
Chef de projet en SSII
Inscription : mars 2004
Messages : 879
Détails du profil
Informations personnelles :
Nom : Homme David Guillot
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 879
Points : 1 149
Points : 1 149
Ah ben voilà, la base de ton problème a émergé ! Le couple user/password que tu fournis à la connexion MySQL est faux. Du coup, forcément, tout ce qui utilise ta base renvoie une erreur.
__________________
Avant de poser une question ici :

Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé
David Guillot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h26.


 
 
 
 
Partenaires

Hébergement Web