Page 1 sur 1

Problème avec "mysql_fetch_array"

Posté : 31 juil. 2008, 14:04
par Stef
Bonjour,

merci de m'accueillir ici et de poser un regard sur ma question! :)

Je débute en php (normal puisque je poste ici...), je suis sur un projet de site où les visiteurs peuvent s'enregistrer via un formulaire; jusque là tout va bien, mais y a un shmol avec l'affichage des données de ma table: il y a une inversion de données! ce qui est dans la colonne "site" de ma table est affiché à la place de ce qu'il y a dans la colonne "descriptif" et inversement...

J'ai bien relu tout mon code et je ne comprends d'où vient cette "erreur".

Voici mes deux fichiers:

L'Inscription
<?php
if (isset($_POST['name']) AND isset($_POST['style']) AND isset($_POST['descriptif'])) // Si les variables existent
{
    if ($_POST['name'] != NULL AND $_POST['style'] != NULL AND $_POST['descriptif'] != NULL) // Si on a quelque chose à enregistrer
    {
        // D'abord, on se connecte à MySQL
        mysql_connect("host", "moi", "mdp");
        mysql_select_db("db");

        // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
        $name = mysql_real_escape_string(htmlspecialchars($_POST['name']));
        
        $style = mysql_real_escape_string(htmlspecialchars($_POST['style']));
        
        $site = mysql_real_escape_string(htmlspecialchars($_POST['site']));
        
        $descriptif = mysql_real_escape_string(htmlspecialchars($_POST['descriptif']));

        // Ensuite on enregistre le message
        mysql_query("INSERT INTO syt VALUES('', '$name', '$style', '$site', '$descriptif')");

        // On se déconnecte de MySQL
        mysql_close();
    }
}

?>



<form action="register.php" method="post">

<p>
Nom : <input type="text" name="name" /><br />
Style :  <input type="text" name="style" /><br />
Site :  <input type="text" name="site" /><br />
Descriptif :  <input type="text" name="descriptif" /><br />

<input type="submit" value="Envoyer" />
</p>

</form>
L'affichage des données:
<?php
mysql_connect("host", "moi", "mdp") or die(mysql_error()); // Connexion à MySQL
mysql_select_db("db"); // Sélection de la base
$reponse = mysql_query("SELECT * FROM syt"); // Requête SQL
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p>    
  Pseudo: <?php echo $donnees['name']; ?><br />
  Style: <?php echo $donnees['style']; ?><br />
  Site web : <a href="<?php echo $donnees['site']; ?>"><?php echo $donnees['site']; ?></a><br />
  Description: <?php echo $donnees['descriptif']; ?>
</p>
<?php
}
mysql_close(); // Déconnexion de MySQL
?>
Voilà.... j'espère recevoir quelques lumières des pros!! :wink:

Re: Problème avec "mysql_fetch_array"

Posté : 31 juil. 2008, 14:44
par Truc
merci de m'accueillir ici et de poser un regard sur ma question! :)
Bienvenue :)
Je débute en php (normal puisque je poste ici...)
Ha pas si évident pour certains #-o


Regarde directement en BDD l'odre des 2 derniers champs.
Il y a peut être inversion lors de l'insertion
mysql_query("INSERT INTO syt VALUES('', '$name', '$style', '$site', '$descriptif')"); 
équivalent à
mysql_query("INSERT INTO syt (id,name,style,site,descriptif)  VALUES('', '$name', '$style', '$site', '$descriptif')"); 

Posté : 31 juil. 2008, 15:02
par Stef
Hi Truc!! merci pour ton accueil et ton conseil, c'est exactement ça! inversion...

Blem résolu!!!!!! Very Happy

Mais pas de panique, j'aurais d'autres questions à l'avenir!