Posez votre question Signaler

Deconexion session_start() chat php ajax

micka30 107Messages postés 30 décembre 2007Date d'inscription - Dernière réponse le 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
?>
 
Lire la suite 

Deconexion session_start() chat php ajax »

9 réponses
Réponse
+0
moins plus
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

micka30- 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.
R4f- 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...




Ajouter un commentaire
Réponse
+0
moins plus
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
micka30- 26 avril 2008 à 15:43
up
micka30- 26 avril 2008 à 20:12
uppp
micka30- 27 avril 2008 à 22:34
uppppppp
Ajouter un commentaire
Ce document intitulé « deconexion session_start() chat php ajax » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?