IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

probléme :formulaire d'inscription


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Points : 1
    Points
    1
    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 :
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    }
    ?>

  2. #2
    Invité
    Invité(e)
    Par défaut


    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

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    Juste pour précision sur ton script, je ne vois pas à quel niveau tu as placé la connexion à ta base de données ??

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 34
    Points : 38
    Points
    38
    Par défaut
    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).

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Points : 1
    Points
    1
    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 !

    Access denied for user 'bancheap.com_84'@'localhost' (using password: NO)

  6. #6
    Invité
    Invité(e)
    Par défaut
    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.

Discussions similaires

  1. problème formulaire inscription prestashop 1.6
    Par lylypauffert dans le forum Programmation système
    Réponses: 1
    Dernier message: 11/08/2015, 14h43
  2. problème formulaire d'inscription
    Par hooouuta dans le forum Langage
    Réponses: 28
    Dernier message: 20/01/2013, 17h52
  3. Problème Formulaire Validation Inscription
    Par TRUNCKS dans le forum Langage
    Réponses: 29
    Dernier message: 07/02/2011, 09h24
  4. Réponses: 2
    Dernier message: 19/12/2005, 12h23
  5. Formulaire d'inscription
    Par Gourouni dans le forum ASP
    Réponses: 6
    Dernier message: 02/12/2004, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo