Problem php

Bonjour,

j'ai un problem avec :

Notice: Undefined index: pseudo in D:\wamp vista\www\tests\sitkoum\livreor.php on line 88

et mon code est :
..../
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("sitecoum");
 





	
	

{
if ( $_POST['pseudo'] != NULL AND $_POST['message'] != NULL) 
{
    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); 
    $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); 
    $message = nl2br($message); 
 
    
    mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
    }
}
 

 

$nombreDeMessagesParPage = 10; 

$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];

$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);

echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
 
</p>
<form class="formliv" method="post" action="livreor.php">
  <p>
            Pseudo : <input name="pseudo" /><br />
            Message :<br />
            <textarea name="message" rows="8" cols="35"></textarea><br />
            <input type="submit" value="Envoyer" />
	        </p>
    </form>
    <p class="pagesliv">
 
<?php
 
 

 
if (isset($_GET['page']))
{
        $page = intval($_GET['page']); 
}
else 
{
        $page = 1; 
}
 

$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
 
while ($donnees = mysql_fetch_array($reponse))
{
        echo '<p class="messageliv"><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
 
mysql_close(); 
?>
 
 
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("sitecoum");
 
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); 
mysql_real_escape_string et htmlspecialchars par mesure de sécurité
    $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); 
    $message = nl2br($message); 
 
   
    mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
 

$nombreDeMessagesParPage = 500; 

$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];

$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);

echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a  href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
..../

Configuration: Windows Vista
Internet Explorer 7.0

2 réponses

  1. Modérateur
    Ca veut dire que le formulaire n'a renvoyé aucun "pseudo". Et pour cause, l'utilisateur ne peut pas le remplir parce qu'en théorie il ne s'affiche même pas ! Il manque le type :

    <input name="pseudo" type="text" />
    1. Vérifie avant d'poster ski ce passe à la ligne 88 ..

      Tien t'avais oublié d'commenter ...

      J'ai mis en gras

      <?php
      mysql_connect("localhost", "root", "");
      mysql_select_db("sitecoum");

      {
      if ( $_POST['pseudo'] != NULL AND $_POST['message'] != NULL)
      {
      $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
      $message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
      $message = nl2br($message);

      mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
      }
      }

      $nombreDeMessagesParPage = 10;

      $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
      $donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];

      $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);

      echo 'Page : ';
      for ($i = 1 ; $i <= $nombreDePages ; $i++)
      {
      echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
      }
      ?>

      </p>
      <form class="formliv" method="post" action="livreor.php">
      <p>
      Pseudo : <input name="pseudo" /><br />
      Message :<br />
      <textarea name="message" rows="8" cols="35"></textarea><br />
      <input type="submit" value="Envoyer" />
      </p>
      </form>
      <p class="pagesliv">

      <?php

      if (isset($_GET['page']))
      {
      $page = intval($_GET['page']);
      }
      else
      {
      $page = 1;
      }

      $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

      $reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

      while ($donnees = mysql_fetch_array($reponse))
      {
      echo '<p class="messageliv"><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
      }

      mysql_close();
      ?>

      <?php
      mysql_connect("localhost", "root", "");
      mysql_select_db("sitecoum");

      if (isset($_POST['pseudo']) AND isset($_POST['message']))
      {
      $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
      //mysql_real_escape_string et htmlspecialchars par mesure de sécurité
      $message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
      $message = nl2br($message);

      mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
      }

      $nombreDeMessagesParPage = 500;

      $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
      $donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];

      $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);

      echo 'Page : ';
      for ($i = 1 ; $i <= $nombreDePages ; $i++)
      {
      echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
      }
      ?>