Aller au contenu

SESSION qui ne se créer pas et messagerie qui enregistre 0


Sujets conseillés

Posté

bonjour

j'ai des gros problème avec mes script il ne veule pas réagir comme je veut

le code

<?php
session_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>
<?php
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>';
}

?>



</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 :)

<?php
session_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">
<?php
include("pied.php");
?>
</div>

</body>
</html>

ici id_envoyeur et id_recepteur = 0 je ne comprend pas pourquoi ???

merci de me répondre

schats

Posté

Ca ressemble à un problème classique des sessions :blush:

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 :whistling:

J'espère que ça pourra te venir en aide :)

Posté

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.

Posté

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 :unsure:

Posté

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

Posté

bonjour

j'ai tester la première requette elle marche :) ( avec phpadmin ). le reste j'i arrive pas :) je suis maudit :)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...