Chat php

geo -  
 hajduk -
voila maintenant je fait un chat en php (encore pour l'ecole) et j'ai une erreur; les données s'ajoutent bien mais je n'arrive pas a les affichés.
<?php
$connexion=mysql_connect("localhost","root","");
$testbase=mysql_select_db("rencontre");
$req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,30";
$result = mysql_query($req);
mysql_close();
while ($val = mysql_fetch_array($result))
{
echo "<b>", $val["pseudo"],"</b>";
echo " : ";
echo $val["message"];
echo "<br />";
}
?>
l'erreur:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\rencontre\chat.php on line 49

bien sur essayer tj de repondre a mes autres probleme
un grand merci a tous
A voir également:

22 réponses

kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
 $result = mysql_query($req); 

Et si tu passais ta variable de connexion à la base dans ton mysql_query ?
0
geo
 
desoler je ne comprend pas comment vous me dites.
MERCI
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Il fait que tu remplace :
 $result = mysql_query($req);

par :
$result = mysql_query($req, $testbase); 
0
abv
 
pq faire passer la variable de test? je pige pas et ca ne marcheras pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Non c pas ca :
Quand tu veux faire une requete sur une base, tu dois en premier lieu te connecter à cette base, et c'est ce que tu fais en mettant le code suivant :
 $connexion=mysql_connect("localhost","root","");
// Tu viens de faire une connexion à la base.
// Maintenant tu selectionne la base de donnée sur laquelle
// tu souhaite travailler :
 mysql_select_db("rencontre",$connexion);

Tu as maintenant une varaible de connexion ($connexion) et as selectionné la base "rencontre". Quand tu fais des requetes sur cette base, tu dois y joindre la variable de connexion "$connexion" qui fais le lien entre ton code et la base SQL que tu viens d'ouvrir.
Ainsi quand tu fais une requete, tu ajoute :
$result = mysql_query($req, $connexion);

Maintenant, si ta base existe, ca devrait marcher.
0
geo
 
MERCI
j'ai appris plus en 2jours que dans l'année pour php.
bon maintenant vais essayer
0
geo
 
je veux vraiment pas etre chiant mais,

c'e<?php
$connexion=mysql_connect("localhost","root","");
$testbase=mysql_select_db("rencontre");
mysql_select_db("rencontre", $connexion);
$req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,30";
$result = mysql_query($req, $connexion);

mysql_close();
while ($val = mysql_fetch_array($result))
{
echo "<b>", $val["pseudo"],"</b>";
echo " : ";
echo $val["message"];
echo "<br />";
}
?>st bien ce que vous m'avez dit?
ben j'ai une erreur
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\rencontre\chat.php on line 49
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Met ca et dit moi ce que ca donne :

<?php
$connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
mysql_select_db("rencontre",$connexion) OR die("pb selection base");
$req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,30";
$result = mysql_query($req, $connexion);

mysql_close($connexion);

while ($val = mysql_fetch_array($result))
{
echo "<b>". $val['pseudo']."</b> : ".$val['message']."<BR>";

}
?>
0
geo
 
tj pareil
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\rencontre\chat.php on line 51
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Alors met cette requete à la place de la tienne :
$req = "SELECT * FROM chat ORDER BY ID";
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Et puis au passage donne moila description de ta table "rencontre"
0
geo
 
rencontre n'est pas une table mais la base de données; la table c'est chat
rencontre est ma base de données
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
oui, dsl, ben une desciption de "Chat", c'est à dire tous les champs qu'elle comprend.
0
geo
 
pseudo, message
c'est tout ce que cette table comprend
aucune cle primaire
et tout les deux des varchar
et ca ne marche tj ca me déprime ce truc!
en plus y a plein d'autre truc qui marche pas (demande de mot de passe, lor d'une inscription: remplissage de combo box)
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Ahhh, c'est donc, ca !!!
Mais il te faut mettre des clés primaire, sinon comment veut tu retrouver tes élément dans ta table quand tu fais des requetes !!
En plus dans ton code tu fais un :
select * from chat order by id

Mais si tu n'a pas d'id, ce n'est pas la peine de chercher plus loin !
Vu ce que tu dit, je te conseil de revoir tes cours...

Pour ce qui est de ta table chat, met un id en autoincrement (INT).
0
geo
 
ben y nous faudrai un meilleur prof.
non sans rire merci
et est ce que ca pourrait etre la meme raison pour laquel met mot de passe ne fonctionne pas? pourtant j'ai dejà une clef primaire dans cette autre table. je peux en mettre plusieur?
0
geo
 
merci mon chat marche impecablement petit plus enfin si vous voulez m'expliquer vite fait. si je veux ajouter des couleurs? chacun a le chois d'ecrire d'une couleur.
je met quoi comme code et ou?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bienvenu dans le chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if (isset($_POST['pseudo']) && isset($_POST['message']))
{
if ($_POST['pseudo'] !=null && $_POST['message'] !=null)
{
$connexion=mysql_connect("localhost","root","");
$testbase=mysql_select_db("rencontre");
$pseudo=htmlentities($_POST['pseudo'],ENT_QUOTES);
$msg=htmlentities($_POST['message'],ENT_QUOTES);
$req="INSERT INTO chat (pseudo,message) VALUES('$pseudo','$msg')";
$result=mysql_query($req);
mysql_close();
}
else
{
echo "probléme d'ajout";
}
}
?>
<form name="form1" id="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">

<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="24"> PSEUDO </td>
<td widht="82%"> <input name="pseudo" type="text" id="pseudo" /></td>
</tr>
<tr>
<td> Message </td>
<td><input name="message" type="text" id="message" size="100" /></td>
</tr>
</table>
<p>
<input type="submit" name="cmdok" value="Ajouter?"/>
</p>
</form>
<?php
$connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
mysql_select_db("rencontre",$connexion) OR die("pb selection base");
$req = "SELECT * FROM chat ORDER BY ID";
$result = mysql_query($req, $connexion);

mysql_close($connexion);

while ($val = mysql_fetch_array($result))
{
echo "<b>". $val['pseudo']."</b> : ".$val['message']."<BR>";
}
?>

</body>
</html>

MERCI MILLE FOIS
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
C'est exactement la même chose que tout à l'heure :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bienvenu dans le chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if (isset($_POST['pseudo']) && isset($_POST['message']))
{
	if ($_POST['pseudo'] != "" && $_POST['message'] != "")
	{
		$connexion=mysql_connect("localhost","root","") OR die("pb connexion mysql");
		mysql_select_db("rencontre",$connexion) OR die("pb selection base");
		$pseudo=htmlentities($_POST['pseudo'],ENT_QUOTES);
		$msg=htmlentities($_POST['message'],ENT_QUOTES);
		$req="INSERT INTO chat (id,pseudo,message) VALUES('','".$pseudo."','".$msg."')";
		$result=mysql_query($req,$connexion);
		mysql_close();
	}
	else
	{
		echo "probléme d'ajout";
	}
}
?>
<form name="form1" id="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">

<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="24"> PSEUDO </td>
<td widht="82%"> <input name="pseudo" type="text" id="pseudo" /></td>
</tr>
<tr>
<td> Message </td>
<td><input name="message" type="text" id="message" size="100" /></td>
</tr>
</table>
<p>
<input type="submit" name="cmdok" value="Ajouter?"/>
</p>
</form>
<?php
	$connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
	mysql_select_db("rencontre",$connexion) OR die("pb selection base");
	$req = "SELECT * FROM chat ORDER BY ID";
	$result = mysql_query($req, $connexion);

	mysql_close($connexion);

	while ($val = mysql_fetch_array($result))
	{
		echo "<b>". $val['pseudo']."</b> : ".$val['message']."<BR>";
	}
?>

</body>
</html> 
0
geo
 
tout ca marche (enfin le mot de passe je suis pas loin d'y arriver je pense) et pour les couleurs je rajoute ou et quoi?
0
geo
 
tant qu'on y est regardez le code du mot de passe;
<?php

if(isset($_POST['cmdok']))
{
$code=$_POST['code'];
$pseudo=$_POST['pseudo'];
$bpseudo=mysql_query("SELECT id FROM inscrit where pseudo = '$pseudo' ");
$bcode=mysql_query("SELECT id FROM inscrit where code = '$code' ");

if ($bpseudo=$bcode)
{
echo "ok";
}
else
{
echo "veuillez recommencer!";
echo "<br> ou Inscrivez-vous </br>";
}
}
?>
c'est le truc connexion qu'il me manque?
0