Poo erreur

Fermé
NightwishQc - 22 mai 2013 à 22:20
 Utilisateur anonyme - 22 mai 2013 à 22:51
Bonjour,

Je ne comprend vraiment pu, et c'est pourquoi je fait demande à vos services, après 5 heures, je n'est pas sus le trouver. Voilà, en 2 ans de codage phppooj'ai jamais rencontrer ce genre d'erreur !:

Code erreur rejeter par wamp:
Object of class PDOStatement could not be converted to string in C:\wamp\www\kebechat.ca\include\register.php on line 110


Voici le register.php :
<?php
if (!empty($_post)){
	$valid = true;
	extract($_post);
	
	if(empty($courriel))
	{
		$valid = false;
		$erreuremail = "- Indiquez votre adresse courriel";
	}
	$courriel = $bdd->query('SELECT userid FROM vb_user WHERE email="'.$courriel.'"');
	if ($courriel->rowCount()>0){
		$valid = false;
		$erreuremail = "- Cette adresse courriel est déjà prit.";
	}
	if(empty($password))
	{
		$valid = false;
		$erreurpassword = '- Indiquez votre mot de passe';
	}
	if(!empty($password) && empty($confirm))
	{
		$valid = false;
		$erreurpassword = '- Veuillez réinscrire votre mot de passe';
	}
	if(!empty($password) && !empty($confirm) && $password != $confirm)
	{
		$valid = false;
		$erreurpassword = '- Vos mot de passe ne sont pas identique';
	}
	if (empty($username)){
		$valid = false;
		$erreurusername = "- Indiquez votre nom d'utilisateur";
	}
	if (!empty($username) && strlen($username)<3){
		$valid = false;
		$erreurusername = "- Votre nom d'utilisateur doit contenir plus de 3 charactères";
	}
	if (!empty($username) && strlen($username)>20){
		$valid = false;
		$erreurusername = "- Votre nom d'utilisateur doit contenir moins de 20 charactères";
	}

	
	$exist = $bdd->query('SELECT userid FROM vb_user WHERE username="'.$username.'"');
	if ($exist->rowCount()>0){
		$valid = false;
		$erreurusername = "- Ce nom d'utilisateur est déjà prit.";
	}
	if ($valid){
		
		$username = htmlspecialchars($username);
		$password = htmlspecialchars($password);
		$confirm = htmlspecialchars($confirm);
		$cycleage = htmlspecialchars($cycleage);
		$sex = htmlspecialchars($sex);
		
		switch ($cycleage){
			case 1:
			$minage = 13;
			$maxage = 16;
			break;
			case 2:
			$minage = 16;
			$maxage = 18;
			break;
			case 3:
			$minage = 18;
			$maxage = 25;
			break;
			case 4:
			$minage = 25;
			$maxage = 30;
			break;
			case 5:
			$minage = 30;
			$maxage = 40;
			break;
			case 6:
			$minage = 40;
			$maxage = 50;
			break;
			case 7:
			$minage = 50;
			$maxage = 65;
			break;
			case 8:
			$minage = 65;
			$maxage = 100;
			break;
		}
		
		$jour = date('d');
		$mois = date('m');
		$monthDateRemplace = array('01','02','03','04','05','06','07','08','09','10','11','12');
		$monthDateRemplaced = array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Aoüt','Septembre','Octobre','Novembre','Decembre');
		$month = str_replace($monthDateRemplace,$monthDateRemplaced,$mois);
		$annee = date('Y');
		
		$heure = date('H');
		$minute = date('i');
		$date = "".$jour." ".$month." ".$annee." à ".$heure.":".$minute."";
		
		$rand1 = mt_rand();
		$rand2 = mt_rand();
		$rand3 = mt_rand();
		
		$salt = $rand1 + $rand2 + $rand3;
		
		$user = $bdd->query('INSERT INTO vb_user (usergroupid,username,password,email,sexe,minage,maxage,agecycle,register_date,ipaddress,salt,coins,profilmade) VALUES (2,"'.$username.'","'.md5($password).'","'.$courriel.'",'.$sex.','.$minage.','.$maxage.','.$cycleage.',"'.$date.'","'.$_SERVER['REMOTE_ADDR'].'","'.$salt.'",150,1)');
		
		$getid = $bdd->query('SELECT userid FROM vb_user WHERE email="'.$courriel.'" AND username="'.$username.'"');
		$userid = $getid->fetch(PDO::FETCH_OBJ);
		$id = $userid->userid;
		
		$usersetting = $bdd->query('INSERT INTO user_setting (userid) VALUES ('.$id.')');
		$meetinfos - $bdd->query('INSERT INTO meetinginfos (userid) VALUES ('.$id.')');
		$done = "Vous être enregistrez sur Kebe Chat.";
	}
}
?>


et voici la page d'enregistrement :

<?php

if (!empty($_GET['term'])){
	require ('include/query.inc.php');
	require ('include/register.php');
	echo "<!DOCTYPE html>
	<!--[if lt IE 7]> <html class=\"lt-ie9 lt-ie8 lt-ie7\" lang=\"en\"> <![endif]-->
	<!--[if IE 7]> <html class=\"lt-ie9 lt-ie8\" lang=\"en\"> <![endif]-->
	<!--[if IE 8]> <html class=\"lt-ie9\" lang=\"en\"> <![endif]-->
	<!--[if gt IE 8]><!--> <html lang=\"en\"> <!--<![endif]-->
	<head>
	  <meta charset=\"utf-8\">
	  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">
	  <title>Enregsitrement à Kebe Chat</title>
	  <link rel=\"stylesheet\" href=\"css/style.css\">
	  <!--[if lt IE 9]><script src=\"//html5shim.googlecode.com/svn/trunk/html5.js\"></script><![endif]-->
	</head>
	
	<body>
	  <div class=\"container\">
		<section class=\"register\">
		  <h1>Enregistrez-vous sur Kebe Chat</h1>";
		  if (isset($erreuremail)){
			  echo "<h1><font color=\"red\">".$erreuremail."</font></h1>";
		  }
		  if (isset($erreurpassword)){
			  echo "<h1><font color=\"red\">".$erreurpassword."</font></h1>";
		  }
		  if (isset($erreurusername)){
			  echo "<h1><font color=\"red\">".$erreurusername."</font></h1>";
		  }
		  echo "<form method=\"post\" action=\"\">
		 
		  <div class=\"reg_section personal_info\">
		  <h3>Vos informations de connexion</h3>
		  <input type=\"text\" name=\"courriel\">
		  <input type=\"password\" name=\"password\" placeholder=\"Votre mot de passe\">
		  <input type=\"password\" name=\"confirm\" placeholder=\"Confirmer votre mot de passe\">
		  </div>
		  <div class=\"reg_section password\">
		  <h3>Informations sur votre compte</h3>
		  <input type=\"text\" name=\"username\" value=\"\" placeholder=\"Nom d'utilisateur désiré (Max 20 charactères.)\">
		  <h3>Votre cycle d'age</h3>
		  <select name=\"cycleage\">
			<option value=\"1\">13 à 16 ans</option>
			<option value=\"2\">16 à 18 ans</option>
			<option value=\"3\">18 à 25 ans</option>
			<option value=\"4\">25 à 30 ans</option>
			<option value=\"5\">30 à 40 ans</option>
			<option value=\"6\">40 à 50 ans</option>
			<option value=\"7\">50 à 65 ans</option>
			<option value=\"8\">65 à 100 ans</option>
		  </select>
		  <h3>Vous être</h3>
		  <select name=\"sex\">
			<option value=\"1\">Un homme</option>
			<option value=\"2\">Une femme</option>
		  </select>
		  </div>
		  <p class=\"submit\"><input type=\"submit\" value=\"S'enregistrer\"></p>
		  </form>
		</section>
	  </div>
	
	</body>
	</html>";
}
?>



Mon problème c'est qui dit que $courriel n'est pas valide en utilisant cette fonction php:

if (!filter_var($courriel,FILTER_VALIDATE_EMAIL)){
		$valid = false;
		$erreuremail = '- Adresse courriel invalide';
	}


Si je la supprime il me met un grosse erreur comme celle ci-dessus par wamp. Si je supprime dans l'insertion à la base de donné email, tout fonctionne.


Quelque serrait m'aider je suis vraiment perdu je comprend en rien pourquoi juste email ne fonctionne pas ! J'ai même essayer de recréer le formulaire avec aucun css, strict minimum. Isolant les page function.php en register.php, Rien ne fonctionne, je suis décourager.

1 réponse

Utilisateur anonyme
22 mai 2013 à 22:51
Bonsoir

Dès le début de register.php, tu détruis la variable $courriel en voulant la vérifier :
$courriel = $bdd->query('SELECT userid FROM vb_user WHERE email="'.$courriel.'"');
	if ($courriel->rowCount()>0){

Utilise un autre nom (par exemple $x) pour faire ta vérification, ça ira beaucoup mieux :
$x = $bdd->query('SELECT userid FROM vb_user WHERE email="'.$courriel.'"');
	if ($x->rowCount()>0){
1