erreur introuvable :-S

Eléphant du PHP | 84 Messages

03 mai 2005, 19:45

Bonsoire ^^ j'ai un ti gros problem
J'ai vremen tout fait repasser ligne par lignemais tjr une erreur!!
les erreur les voicie : Notice: Undefined variable: nombreDemessagesParPage in c:\documents and settings\philippe\bureau\webex\phptest\livredor.php on line 85
[php]
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\documents and settings\philippe\bureau\webex\phptest\livredor.php on line 86
<HTML>
<head>
<title>formulair php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="blue" href="sombre.css"/>
</Head>
<body>
<p>
<table><tr><td><form action="livredor.php" method="POST">Pseudo: </td><td><input type="text" name="pseudo"/> </td></tr>
<tr><td>Mail: </td><td><input type="text" name="mail"/></td></tr><tr><td>Note: </td><td>
<Select name="note">
<option value="08" selected="selected">Aucune note</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
</select></td></tr><tr><td>Commentaire: </td><td><textarea name="com">Taper votre com...</textarea></td></tr><tr><td colspan="2"><input type="submit" value="envoi"/></form></td></tr><tr><td colspan="2">
<?
if(isset($_POST['pseudo']) and isset($_POST['mail']) and isset($_POST['note']) and isset($_POST['com']))
{
if($_POST['pseudo'] != null and $_POST['note'] != null and $_POST['com'] != null)
{
$pseudo =$_POST['pseudo'];
$mail = $_POST['mail'];
$note = $_POST['note'];
$com = addslashes($_POST['com']);
Mysql_connect('localhost','root');
Mysql_select_db('gtn');
mysql_query("INSERT INTO livredor value('','".$pseudo."','".$mail."','".$note."','".$com."')");
mysql_close();
}
else
{
echo 'Vous n\'avez pas remplie les champs obligatoire..';
}
}
else
{
echo 'Remplisser les champs';
}
$nombreDeMessagesParPage = "20";
Mysql_connect('localhost','root');
Mysql_select_db('gtn');
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livredor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
Mysql_close();
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
?></br><?echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livredor.php?page=' . $i . '">' . $i . '</a> ';
}
if (isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 1;
}
$premierMessageAafficher = ($page-1)*$nombreDeMessagesParPage;
?>
</br> Livre d'OR </td></tr><tr><td colspan="2">
<?
Mysql_connect('localhost','root');
Mysql_select_db('gtn');
$ld = mysql_query('Select * from livredor order by id desc LIMIT'.$premierMessageAafficher .','.$nombreDemessagesParPage.'');
While($t = mysql_fetch_array($ld))
{
if($t['mail'] != null)
{
?>
<table color="blue" border="#000080"><tr><td>
Message de
<a href="mailto:<? echo $t['mail'];?>">
<? echo $t['pseudo']; ?></a>
</td><td>Note: <? echo $t['note'];?>/15</td></tr><tr><td colspan="2">Commentaire: <? echo $t['com']; ?>.</td></tr></table>
<?
}
else
{
?>
<table color="blue" border="#000080"><tr><td>
Message de
<? echo $t['pseudo']; ?>
</td><td>Note: <? echo $t['note'];?>/15</td></tr><tr><td colspan="2">Commentaire: <? echo $t['com']; ?>.</td></tr></table>
<?
}
}
mysql_close();
?>
</td><tr></table></p>
</body>
<HTML>[/php]Merci^^

Mammouth du PHP | 19672 Messages

03 mai 2005, 21:21

Tu devrais utiliser des noms de variable moins longs, tu aurais moins de chances de faire des erreurs de recopie: tu as changé la casse de ta variable: $nombreDeMessagesParPage définie est devenue plus loin $nombreDemessagesParPage. Ton serveur est sensible à la casse et n'a pas reconnu la seconde version.

Autre chose : active les bbcodes quand tu postes du code. Une bonne indentation d'un programme le rend plus facile à lire :
<html>
<head>
<title>formulair php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="blue" href="sombre.css"/>
</head>
<body>
<p>
<table>
  <tr>
    <td><form action="livredor.php" method="POST">Pseudo: </td>
      <td><input type="text" name="pseudo"/></td>
    </tr>
    <tr>
      <td>Mail: </td>
      <td>
        <input type="text" name="mail"/>
      </td>
    </tr>
    <tr>
      <td>Note: </td>
      <td>
        <select name="note">
        <option value="08" selected="selected">Aucune note</option>
        <option value="01">01</option>
        <option value="02">02</option>
        <option value="03">03</option>
        <option value="04">04</option>
        <option value="05">05</option>
        <option value="06">06</option>
        <option value="07">07</option>
        <option value="08">08</option>
        <option value="09">09</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        </select>
      </td>
    </tr>
    <tr>
      <td>Commentaire: </td>
      <td>
        <textarea name="com">Taper votre com...</textarea>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <input type="submit" value="envoi"/></form>
    </td>
  </tr>
  <tr>
    <td colspan="2">
<?
if(isset($_POST['pseudo']) and isset($_POST['mail']) and isset($_POST['note']) and isset($_POST['com']))
{
    if($_POST['pseudo'] != null and $_POST['note'] != null and $_POST['com'] != null)
    {
        $pseudo =$_POST['pseudo'];
        $mail = $_POST['mail'];
        $note = $_POST['note'];
        $com = addslashes($_POST['com']);
        mysql_connect('localhost','root');
        mysql_select_db('gtn');
        mysql_query("INSERT INTO livredor value('','".$pseudo."','".$mail."','".$note."','".$com."')");
        mysql_close();
    }
    else
    {
        echo 'Vous n\'avez pas remplie les champs obligatoire..';
    }
}
else
{
    echo 'Remplisser les champs';
}
$nombreDeMessagesParPage = 20;
mysql_connect('localhost','root');
mysql_select_db('gtn');
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livredor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
mysql_close();
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
?>
</br>
<?
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="livredor.php?page=' . $i . '">' . $i . '</a> ';
}
if (isset($_GET['page']))
{
    $page = $_GET['page'];
}
else
{
    $page = 1;
}
$premierMessageAafficher = ($page-1)*$nombreDeMessagesParPage;
?>
      </br> Livre d'OR </td>
  </tr>
  <tr>
    <td colspan="2">
<?
mysql_connect('localhost','root');
mysql_select_db('gtn');
$ld = mysql_query('Select * from livredor order by id desc LIMIT'.$premierMessageAafficher .','.$nombreDeMessagesParPage.'');
While($t = mysql_fetch_array($ld))
{
    if($t['mail'] != null)
    {
?>
      <table color="blue" border="#000080">
        <tr>
          <td>
            Message de
            <a href="mailto:<? echo $t['mail'];?>">
<? echo $t['pseudo']; ?>            </a>
          </td>
          <td>Note: <? echo $t['note'];?>/15</td>
        </tr>
        <tr>
          <td colspan="2">Commentaire: <? echo $t['com']; ?>.</td>
        </tr>
      </table>
<?
    }
    else
    {
?>
      <table color="blue" border="#000080">
        <tr>
          <td>
            Message de
<? echo $t['pseudo']; ?>
          </td>
          <td>Note: <? echo $t['note'];?>/15</td>
        </tr>
        <tr>
          <td colspan="2">Commentaire: <? echo $t['com']; ?>.</td>
        </tr>
      </table>
<?
    }
}
mysql_close();
?>
    </td>
  </tr>
</table>
</p>
</body>
<html>
C'est pas mieux comme ça ???
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

03 mai 2005, 21:37

efectivemen :)
grand meci a toi coriano^^

Mammouth du PHP | 19672 Messages

03 mai 2005, 21:45

efectivemen :)
grand meci a toi coriano^^
On me l'avait pas encore déformé à ce point là : jojo, je te sens bien parti pour des records dans le genre et en fin de compte je suis moins surpris de tes erreurs de code...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

03 mai 2005, 23:05

efectivemen :)
grand meci a toi coriano^^
Jojo, ce genre de "réécriture" pourrait faire sourire, si c'était un gag volontaire,
mais sur ce forum, les gens qui font l'effort de fournir leur temps et leur aide
apprécient que ceux qui les demandent fassent aussi des efforts.

Nous n'exigeons de personne de maîtriser l'orthographe au point
de cartonner à la dictée de Pivot ou de postuler à l'Académie française
(et encore, même les immortels font des fautes ! J'en connais...)
mais quand il s'agit de termes absolument courants ou de mots à recopier,
là, tu n'as aucune excuse pour ne pas les orthographier correctement ! :evil:

Nous te le demandons donc, très simplement :
- tape moins vite (ça évite les fautes de frappe)
- relis-toi et corrige tes fautes (tu as même un bouton "éditer" si besoin.)


Sache que, malgré toute notre bonne volonté, nous nous lasserons de devoir te déchiffrer.
C'est donc dans ton intérêt que de veiller à la lisibilité de tes messages.

Respecter l'orthographe, c'est aussi une forme de respect pour tous les membres de ce forum.
D'avance, merci.