Chat php
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
<?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
22 réponses
-
Bonjour a tous!
Voila, j'ai un site sur free.
c'est : http://sica007.free.fr/
J'ai activer bien sur php et mysql.
Donc, j'envoie le fichier avec file Zilla sur mon ftp.
puis qd, j'ai fini, je reviens sur
http://sica007.free.fr/chat/install.php
Regardez ce qui est marque sur la liste...il y a juste un endroit ou ce n'est pas OK....
En bas, j'ai 2 problemes.
Warning: Unknown(): open(/mnt/112/sdc/7/1/sica007/sessions/sess_37f5be9dedf8cedcae31b0bd34cc5652, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/112/sdc/7/1/sica007/sessions) in Unknown on line 0
Pourriez vous m'expliquez s'il vous plait?
Ca peut vous paraitre tout betement.
Merci à l'avance pour l'aide.Chez urgent. -
ContributeurJe veux pas te décevoir mais c'est pas ca du tout !
Il faut que tu fasse une requete sur ta base pour selectionner les utilisateurs qui ont le même pseudo et passwd que ceux passés en paramètre à topn script. Si tu n'a pas de résultat alors, ce n'est pas bon. Si tu as un résultat alors c'est bon. Si tu as plusieurs résultat (c'est à dire plusieurs utilisateur qui correspondent au pseudo et mot de passe) alors tu as un pb dans ta base.
Il faut que tu ai un truc du genre :if(isset($_POST['loggin'])) { $res = mysql_query("SELECT id_utilisateur FROM `utilisateur` WHERE pseudo = '".$_POST['pseudo']."' AND paswd = '".$_POST['paswd']."'",$connexion); $lignes = mysql_num_rows($res); if( $lignes <= 0 ) echo "pas de profil correspondant<BR>"; else if( $lignes = 1 ) echo "c bon<BR>"; else echo "probleme redondance dans la base<BR>"; -
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? -
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?
-
ContributeurC'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>
-
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 -
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? -
ContributeurAhhh, 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). -
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) -
Contributeuroui, dsl, ben une desciption de "Chat", c'est à dire tous les champs qu'elle comprend.
-
rencontre n'est pas une table mais la base de données; la table c'est chat
rencontre est ma base de données -
ContributeurEt puis au passage donne moila description de ta table "rencontre"
-
ContributeurAlors met cette requete à la place de la tienne :
$req = "SELECT * FROM chat ORDER BY ID";
-
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 -
ContributeurMet 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>"; } ?> -
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 -
MERCI
j'ai appris plus en 2jours que dans l'année pour php.
bon maintenant vais essayer -
ContributeurNon 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.
-
pq faire passer la variable de test? je pige pas et ca ne marcheras pas.
-
ContributeurIl fait que tu remplace :
$result = mysql_query($req);
par :$result = mysql_query($req, $testbase);
- 1
- 2
Suivant