IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Avertissement à cause d'une erreur dans l'URL [Fait]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Points : 207
    Points
    207
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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!

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    regarde là pour corriger l'erreur :
    http://php.developpez.com/faq/?page=...ysql_ressource

  3. #3
    Membre actif
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Points : 207
    Points
    207
    Par défaut
    merci mathieu pour le lien, mais le problème ici est que je connais l'origine de mon warning,ma requête est faussé car numpage est une chaine de caractère ,j'ai essayé de modifier cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method=POST action="tchatche.php?numpage=$nbpage">
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method=POST action="tchatche.php">
    et ça fonctionne sans warning
    moi qui croyais que mon numero de page allais être equivalent au dernier grâce à cette affectation, j'avoue que je ne comprends pas trop comment ca fonctionne!
    alors une petite question encore comment je peux spécifier mon numpage quand je lance ma page???
    merci de me repondre

  4. #4
    Membre actif
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Points : 207
    Points
    207
    Par défaut
    bon , finalement c'été vraiment null comme question
    il suffisait de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method=POST action="tchatche.php?numpage=<?php echo $nbpage; ?>">
    merci de votre aide quand même!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. msaccess a provoqué une erreur dans KERNEL32.dll
    Par massol joel dans le forum Access
    Réponses: 12
    Dernier message: 03/04/2006, 14h32
  2. Une erreur dans un script
    Par tsing dans le forum Linux
    Réponses: 9
    Dernier message: 16/03/2006, 15h50
  3. Comment détecter une erreur dans un process
    Par chuckboy dans le forum MFC
    Réponses: 3
    Dernier message: 25/10/2005, 10h40
  4. Comment lancer une erreur dans une procédure stockée
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2005, 17h06
  5. [Struts] Passer une variable dans l'url
    Par pilz dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/03/2005, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo