Deconexion session_start() chat php ajax

Fermé
micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008 - 24 avril 2008 à 21:44
micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008 - 27 avril 2008 à 22:34
Bonjour,



bonjour!


j'ai un probleme bizard!


Quand je vais sur le t'chat ma SESSION est automatiquement deconnecté!


si j'enleve le session_start(); du deuxieme script, il n ya plus de deconexion mais ma requete marche plus vu que je me sert de $_SESSION['pseudo'];..


j'utilise des session_start() pratiquement sur toute mes pages, ils fonctionnent bien , aucun problème.


la deconnection s'effectue juste quand je me rend sur la page de chat en même temps que le rafraichisement du deuxieme script que j'ai donnée.

si vous faire le teste par vous même: http://www.uncupidon.com

il faut s'inscrire et cliquer sur une des photos de la premiere page et cliquer sur chat!

normalement vous allez etre deconectée!




<?php
$reponse = mysql_query("SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'");
while ($donnees = mysql_fetch_array($reponse) )?>





bon j'espere que vous allez pouvoir m'aider!


voici les 2 script qui rentre en jeu:

<?php
	session_start();
	$_SESSION['pseudo'];
	$_SESSION['logged'];
 ?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>Chat</title>
<script type="text/javascript">
function plop()
        {
        var xhr_object = null;

        if(window.XMLHttpRequest) // Firefox
           xhr_object = new XMLHttpRequest();
        else
                {
                if(window.ActiveXObject) // Internet Explorer
                        xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
                else // XMLHttpRequest non supporté par le navigateur
                        {
                        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                        return;
                        }
                }







        var method   = "POST";
        var filename = "reponse.php";

        var requete  = "message=<?php echo'.$retour.'?>";

        xhr_object.onreadystatechange = function()
                {
                if(xhr_object.readyState == 4)
                        {
                        var reponse = xhr_object.responseText;
                        document.getElementById("content").innerHTML = reponse;
                        }
                }

        xhr_object.open(method, filename, true);

        xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

        xhr_object.send(requete);

        }






</script>

 <script>
function refresh()
{
        plop();
        setTimeout("refresh()", 5000);
}
</script>

</head>

<style type="text/css">


#chatcomplet
{
width:400px;
height:400px;
background-repeat: no-repeat;
border: 1px solid black;
}
  #content
{
position : absolute ;
width:400px;
height:300px;
background-color: red;
color : yellow;
overflow : scroll ;
border: 1px solid green;
}
#message
{
background-color: green;
background-attachment: fixed;
width:400px;
height:100px;
border: 1px solid green;
padding: 1px;
padding-top: 300px;
}
		</style>


	$cnx=mysql_connect("......", "..........", "..........") or die("Pb connexion au serveur".mysql_error());
$db=mysql_select_db("..........") or die("Pb selection base".mysql_error());



	if ( isset( $_POST['message'] ) && !is_null( $_POST['message'] ) )
	{
		$message = mysql_real_escape_string( htmlspecialchars( $_POST['message'] ) );
		$timestamp = time();
		$expediteur = $_SESSION['pseudo'];
		$destinataire = $_GET['pseudo'];
		mysql_query( "INSERT INTO chat VALUES('', '$expediteur', '$destinataire', '$message', '$timestamp', '')" );  // et tu ne stockes pas le résultat dans une variable ?
	}

      $destinataire = $_GET['pseudo'];
?>




<body onLoad="plop()">
<div id="content"></div>




  <div id="chatcomplet">


<form action="<?php echo'chat.php?pseudo='.$destinataire.''?>"  method="post"/>


<div id="message">

<p>Message : <input type="text" name="message" size="30"/><br />

<input type="submit" value="Envoyer" />
</p>

</div>
</div>

<?php


mysql_close();
?>

		</form>


<script>
refresh();
</script>

</body></html>





et voici le deuxieme, il sert a afficher les message dans le <div id="content">,

il se rafraichie toute les 5 seconde:


 <?php
 session_start();

 $cnx=mysql_connect("...........", "...........", "...........") or die("Pb connexion au serveur".mysql_error());
$db=mysql_select_db(".............") or die("Pb selection base".mysql_error());


$reponse = mysql_query("SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'");
while ($donnees = mysql_fetch_array($reponse) )
{

$date = date('d/m/Y \à H\hi', $donnees['timestamp']);
$message = $donnees['message'];
$expediteur = $donnees['expediteur'];
$pseudo= $_GET['pseudo'];

echo '<p><strong> '.$expediteur.' </strong> le '.$date.' : '.$message.' </p>';
}
mysql_close(); // Déconnexion de MySQL
?>
 
A voir également:

2 réponses

R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
24 avril 2008 à 23:23
Tu veux pas créer un compte pour ces tests et mettre le login/password dans le forum ?

Si je me fais prendre à m'inscrire sur ce genre de sites, mais femme va pas être très heureuse ;-)


Raph

0
micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008 5
25 avril 2008 à 12:35
bonjour!


voici un compte test:

pseudo = test

password= azerty.


la j'ai enlevé le session_start() du deuxieme script que j'ai donner donc il n y a plus de deconnexion , mais du coup ma requéte marche pas non plus car elle demande des information a la bdd par rapport a a bdd.

merci de votre aide.
0
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62 > micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008
25 avril 2008 à 15:47
Si les scripts utilisent $_SESSION ou des fonctions dont les noms commencent par session_, il faut absolument remettre session_start();

Sinon ça sert à rien de tester...




0
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
25 avril 2008 à 15:50
Quand je me connecte, je vois en bas de la page :

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)



Pas terrible.


Sinon, je veux bien tester des trucs, mais il faut donner les URLs à visiter, j'aimerais éviter de jouer à cache-cache...


Raph
0
micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008 5
25 avril 2008 à 16:05
re!

merci de ton aide

ok j'ai remis le session_star()


j'ai trouver une personne qui a le même probl^me que moi ici:

https://openclassrooms.com/forum/sujet/sessions-ajax-92916

winzou explique une solution que je n'arrive pas a faire!



Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)


moi il nya a rien d'ecrit!


voici l'url a visité une fois que tu est connecté


http://www.uncupidon.com/fichemembre.php?id=19

ensuite il faut cliquer sur chat!

quand tu aura ecrit 1 ou 2 mots tu retourne sur index.php et tu clique sur <mon espace>

la tu vera que tu a etait deconnecté..
0
micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008 5 > micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008
25 avril 2008 à 20:43
UP
0
micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008 5 > micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008
26 avril 2008 à 15:43
up
0
micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008 5 > micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008
26 avril 2008 à 20:12
uppp
0
micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008 5 > micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008
27 avril 2008 à 22:34
uppppppp
0