schats Posté 19 Avril 2007 Posté 19 Avril 2007 bonjour j'ai des gros problème avec mes script il ne veule pas réagir comme je veut le code <?phpsession_start();mysql_connect("localhost","*****","******");mysql_select_db("schats");if(!empty($_SESSION['logged']) || $_SESSION['logged'] == false){ if(!empty($_POST) ) // le form a été soumis{ // servira à enregistrer les messages pour les erreurs rencontrées $_POST = array_map('trim', $_POST); $erreur = array(); $pseudo = mysql_real_escape_string($_POST['pseudo']); $mdp = mysql_real_escape_string($_POST['mdp']); if(empty($pseudo)){ $erreur[] = 'veillez mettre un pseudo';$sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membre WHERE pseudo = '".$pseudo."'")or die (mysql_error()); } //Si le pseudo existe. elseif ($sql['nb_pseudo'] == 1) { $erreur[] = ' aucun pseudo n\'existe ';$pod = mysql_query("SELECT id, pseudo, mdp, confirmation FROM membre where pseudo = '".$pseudo."'")or die (mysql_error());}elseif(empty($mdp)){$erreur[] = ' aucun mot de passe';$mdphap = md5(sha1($mdp));}elseif($mdphap = $pod['mdp']){$erreur[] = ' mot de passe non valide';}elseif($pod['confirmation'] == 1){$erreur[] = 'ce pseudo n\'est pas confirmer';} if(empty($erreur)){ mysql_query("UPDATE membre SET statue ='1' WHERE id = '".$pod['id']."'") OR die(mysql_error());$_SESSION['logged'] = true ;$_SESSION['pseudo'] = $pseudo;$_SESSION['id'] = $pod['id'];header("location: [url="http://spouts.goldzoneweb.info/espace_membre/index_membre.php");"]http://spouts.goldzoneweb.info/espace_memb...bre.php");[/url]}}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>index --> connection</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" /> </head><body> <?php include("menu.php"); ?><div id="corps"><p>bonjour<br /></p><p> pour vous connecter veullez renplir le formulaire pour vous connecter</p><form method="post" action="connection.php">pseudo<input type="text" name="pseudo">mot de passe<input type="password" name="mdp"><input type="submit" value="entrez"></form><?phpif( !empty($erreur) ) // Donc le formulaire a été envoyé et au moins une erreur a été rencontrée{ // on affiche les erreurs foreach( $erreur as $valeur ) echo $valeur . '<br>';}?> </div><div id="pied_de_page"> <?php include('pied.php'); ?> </div></body></html><?php}else{echo '<meta http-equiv="Refresh" content="0;URL=/espace_membres/index_membre.php">';}?> ici en fait la sessions $_SESSION['id'] ne veut pas prendre la valeur du pseudo le second problème est un peu près pareil <?phpsession_start();if( !isset($_SESSION['logged']) || $_SESSION['logged'] === false ){ exit(header('location: ../index.php'));}$pseudo = $_GET['pseudo'];$id_envoyeur = $_SESSION['id'];include("config.inc.php");?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" ><head><title>espace membre --> messagerie perso </title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" /></head><body><?php include("menu.php");?><div id="corps"><form method="post"><p>Pseudo : <input type="text" name="pseudo_recepteur" value=<?php echo $pseudo;?>></p><p>titre du message : <input type="text" name="titre"></p><p>Message : <br /><textarea name="commentaire" rows="4" cols="30"></textarea></p><p><input type="submit" value="valider"></p></form><?php mysql_connect("localhost","*****","***************"); mysql_select_db("schats"); if(!empty($_POST) ) // le form a été soumis{ // servira à enregistrer les messages pour les erreurs rencontrées $_POST = array_map('trim', $_POST); $erreur = array(); $pseudo_recepteur = mysql_real_escape_string($_POST['pseudo_recepteur']); $titre = mysql_real_escape_string($_POST['titre']);$message = mysql_real_escape_string($_POST['commentaire']); if(empty($_POST['pseudo_recepteur'])) { $erreur[] = 'veullez mettre un pseudo'; } else { $sdz = mysql_query("SELECT * FROM membre WHERE pseudo ='".$pseudo_recepteur."'")or die (mysql_error());//ligne 49 } if(mysql_num_rows($sdz) <= 0) { $erreur[] = ' ben le pseudo demander n\'existe pas'; } elseif(empty($titre))//ligne 55 { $erreur[] = ' merci de mettre un titre'; } elseif(empty($message)) { $erreur[] = 'merci de mettez un texte'; } if(empty($erreur)){ $id_recepteur = $sdz['id'];mysql_query("INSERT INTO mp VALUES('','".$titre."','".$message."','".$id_recepteur."','".$id_envoyeur."')")or die (mysql_error());}}if( !empty($erreur) ) // Donc le formulaire a été envoyé et au moins une erreur a été rencontrée{ // on affiche les erreurs foreach( $erreur as $valeur ) echo $valeur . '<br>';}{echo ' l\'id envoyeur '.$id_envoyeur;echo 'l\'id recepteur'.$id_recepteur;}?><a href="index.php">page d'acceuil</a></div><div id="pied_de_page"><?phpinclude("pied.php");?></div></body></html> ici id_envoyeur et id_recepteur = 0 je ne comprend pas pourquoi ??? merci de me répondre schats
Harry_20 Posté 19 Avril 2007 Posté 19 Avril 2007 Ca ressemble à un problème classique des sessions Je vois 2 possibilités : - soit la page doit être rechargée après le session_start() pour que la session soit effective - ou alors pour qu'une variable de session soit créée, il faut utiliser session_register() Ca peut encore être différent aussi selon que tu sois en local ou sur serveur APACHE J'espère que ça pourra te venir en aide
schats Posté 19 Avril 2007 Auteur Posté 19 Avril 2007 alors Je ne crois pas que la page soit recharger car les deux premières sessions marche. :s il y a juste celle la qui ne veut pas se créer :s. euh c'est quoi session_register() . je vais regarder sur la doc . Je suis sur appache et pas en local :s.
Harry_20 Posté 19 Avril 2007 Posté 19 Avril 2007 session_register() est une fonction qui permet de créer une variable de session si ça ne fonctionne pas par la méthode classique. Essaie avec cette méthode-là, sinon à mon avis le problème vient d'ailleurs
schats Posté 20 Avril 2007 Auteur Posté 20 Avril 2007 euh ouai en faite ce que je pence surtout c'est a cause de la requette $pod = mysql_query("SELECT id, pseudo, mdp, confirmation FROM membre where pseudo = '".$pseudo."'")or die (mysql_error()); puisque même ici ca ne marche pas mysql_query("UPDATE membre SET statue ='1' WHERE id = '".$id."'") OR die(mysql_error()); mais aucunne erreur n'est afficher
schats Posté 20 Avril 2007 Auteur Posté 20 Avril 2007 bonjour j'ai tester la première requette elle marche ( avec phpadmin ). le reste j'i arrive pas je suis maudit
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant