Avertissement à cause d'une erreur dans l'URL
bonsoir à tous,
un warning qui me fait tourner la tête!
c'est un code un peu à la maniere d'un forum, un formulaire avec un pseudo et une zone textarea pour le message à transmettre.
le tout est stocké dans une base de données à trois champs: id, pseudo et message.
les messages sont affichés à raison de 5 messages par pages.
dés l'ouverture de ma page , je voudrais qu'elle m'affiche les derniers messages.
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <html>
<body>
<?php
mysql_connect("localhost","root","");
mysql_select_db("new");
if ((isset($_POST['message']))&&(isset($_POST['pseudo']))&&($_POST['message']!=null)&&($_POST['pseudo']!=null))
{
$ms=$_POST['message'];
$ps=$_POST['pseudo'];
mysql_query("insert into tchatching values('','$ps','$ms')");
}
$rows=mysql_fetch_array(mysql_query("select count(*) as nb from tchatching "));
$nbligne=$rows['nb'];
$nbligneparpage=5;
$nbpage=ceil($nbligne/$nbligneparpage);
if (isset($_GET['numpage']))
$page=(integer)htmlspecialchars($_GET['numpage']);
else $page=$nbpage;
$posdebut=(($page-1)*$nbligneparpage);
$resultat=mysql_query("select * from tchatching order by id limit $posdebut,$nbligneparpage");
while($donnee=mysql_fetch_array($resultat))
echo $donnee['id'].'-'.$donnee['pseudo'].':'.$donnee['message'].'<br>';
for ($i=1;$i<=$nbpage;$i++) echo '<a href="tchatche.php?numpage='.$i.'">'.$i.'</a>';
mysql_close();
?>
<form method=POST action="tchatche.php?numpage=$nbpage">
<input type="text" name="pseudo"><br>
<textarea name="message" rows="5"></textarea><br>
<input type="submit" value="envoyer"><br>
</form>
</body>
</html> |
l'erreur est:
Code:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\php\tchatche.php on line 22
j'ai suivi le code ligne par ligne,j'ai constater un truc un peu bizarre:
dés le premier affichage de ma page tout va bien, c'est les derniers messages qui sont affichés comme c'est prévu.
le problème est dans l'envoie, quand j'envoie un message l'url est de la forme suivante:
Code:
http://127.0.0.1:90/moi/tchatche.php?numpage=$nbpage
je ne vois pas pourquoi il ne prend pas réellement la valeur de $nbpage!
du coup, les calcules sont faussés parcequ'il prend une chaine de caractere à la place!
je sens qu'un truc tout bête m'echappe, mais je sais pas lequel, merci de m'aider!