Espace sécurisé : erf

Mammouth du PHP | 19672 Messages

16 août 2005, 08:56

essaye ça:
<?php
if (isset($_GET['modifier_membres'])) // Si on demande de modifier un membre
{
    // On récupère les infos
    $retour = mysql_query("SELECT * FROM team WHERE id=" . $_GET['modifier_membres'] ." LIMIT 0,1") or die (mysql_error());
    while($infos = mysql_fetch_array($retour))
    {
        // On place tous dans des variables simples
        $pseudo = $infos['pseudo'];
        $prenom = $infos['prenom'];
        $age = $infos['age'];
        $ville = $infos['ville'];
        $pays = $infos['pays'];
        $msn = $infos['msn'];
        $processeur = $infos['processeur'];
        $memoire = $infos['memoire'];
        $cm = $infos['cm'];
        $cg = $infos['cg'];
        $resolution_win = $infos['resolution_win'];
        $son = $infos['son'];
        $souris = $infos['souris'];
        $clavier = $infos['clavier'];
        $connexion = $infos['connexion'];
        $sensi_win = $infos['sensi_win'];
        $resolution_cs = $infos['resolution_cs'];
        $sensi_cs = $infos['sensi_cs'];
        $armes = $infos['armes'];
        $id_membres = $infos['id']; // Cette variable va servir pour se souvenir que c'est une modification
    }
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 15 Messages

16 août 2005, 09:36

Malheuresement ca ne marche toujours pas. J'ai test en alimentant moi même la table avec phpmyadmin et la ca marche donc ca ne vient pas de la. :?

Merci pour l'effort que tu fais pour m'aider :P

Mammouth du PHP | 19672 Messages

16 août 2005, 09:49

Quand tu as ce genre de problème, procède avec ordre et méthode: fais afficher ce qui peut l'être. Par exemple, ta requête étant dynamique, fais afficher la requête générée pour vérifier qu'elle est correctement complétée. S'il manque quelque chose, alors tu sauras que c'est en amont de la requête qu'il y a un problème. Si elle est correcte, alors c'est la suite qui déconne. Fais afficher les variables qui peuvent l'être pour en vérifier le contenu.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 15 Messages

16 août 2005, 09:52

Désolé de te le dire mais j'ai pas tout compris dans ce que tu viens de me dire :(

Mammouth du PHP | 19672 Messages

16 août 2005, 10:13

Exemple. À la place de la ligne:
$retour = mysql_query("SELECT * FROM team WHERE id=" . $_GET['modifier_membres'] ." LIMIT 0,1") or die (mysql_error());
Ajoute :
$sql = "SELECT * FROM team WHERE id=" . $_GET['modifier_membres'] ." LIMIT 0,1";
echo("<p>". $sql ."</p>\n");
$retour = mysql_query("SELECT * FROM team WHERE id=" . $_GET['modifier_membres'] ." LIMIT 0,1") or die (mysql_error());
Ça va afficher la requête générée à l'écran. Tu auras un premier aperçu qui te permettra de détecter une variable vide par exemple. Sinon, si la requête a l'air normale, copie-la et essaye de l'exécuter directement dans phpMyAdmin, tu auras le retour directement. Si le retour est normal, alors c'est après ces ligne qu'il y a une erreur.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 15 Messages

16 août 2005, 10:24

Je viens d'essayer ce que tu as fais et apparemment la requête est normal. Je vais essayer ta méthode.

Eléphanteau du PHP | 15 Messages

16 août 2005, 10:27

$sql = "INSERT INTO team VALUES('', '" . $pseudo . "', '" . $prenom . "', '" . $age . "', '" . $ville . "', '" . $pays . "', '" . $msn . "', '" . $processeur . "', '" . $memoire . "', '" . $cm . "', '" . $cg . "', '" . $resolution_win . "', '" . $son . "', '" . $souris . "', '" . $clavier . "', '" . $connexion . "', '" . $sensi_win . "', '" . $resolution_cs . "', '" . $sensi_cs . "', '" . $armes . "')";
echo("<p>". $sql ."</p>\n");

mysql_query("INSERT INTO team VALUES('', '" . $pseudo . "', '" . $prenom . "', '" . $age . "', '" . $ville . "', '" . $pays . "', '" . $msn . "', '" . $processeur . "', '" . $memoire . "', '" . $cm . "', '" . $cg . "', '" . $resolution_win . "', '" . $son . "', '" . $souris . "', '" . $clavier . "', '" . $connexion . "', '" . $sensi_win . "', '" . $resolution_cs . "', '" . $sensi_cs . "', '" . $armes . "')") or die (mysql_error());
De cette façon ?

Mammouth du PHP | 19672 Messages

16 août 2005, 10:34

Pourquoi ré-écris-tu la requête alors qu'elle est définie une première fois dans une variable: utilise donc la variable:
$sql = "INSERT INTO team VALUES('', '" . $pseudo . "', '" . $prenom . "', '" . $age . "', '" . $ville . "', '" . $pays . "', '" . $msn . "', '" . $processeur . "', '" . $memoire . "', '" . $cm . "', '" . $cg . "', '" . $resolution_win . "', '" . $son . "', '" . $souris . "', '" . $clavier . "', '" . $connexion . "', '" . $sensi_win . "', '" . $resolution_cs . "', '" . $sensi_cs . "', '" . $armes . "')";
echo("<p>". $sql ."</p>\n");

mysql_query($sql) or die (mysql_error());
Et ce qui nous intéresse, c'est ce que ça va afficher à l'écran, donc la ligne echo() qui te permettra de visualiser la requête générée.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 15 Messages

16 août 2005, 10:40

Malheuresement rien ne s'affiche quand j'ajoute un membre ( comme c'est un INSERT )...

Mammouth du PHP | 19672 Messages

16 août 2005, 10:47

Donc.... :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 19672 Messages

16 août 2005, 10:59

Qu'est-ce qui s'affiche exactement ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 15 Messages

16 août 2005, 11:00

Voila je crois avoir trouve l'origine du problème.
if (isset($_POST['pseudo']) AND isset($_POST['prenom']) AND isset($_POST['age']) AND isset($_POST['ville']) AND isset($_POST['pays']) AND isset($_POST['msn']) AND isset($_POST['processeur']) AND isset($_POST['memoire']) AND isset($_POST['cm']) AND isset($_POST['cg']) AND isset($_POST['resolution_win']) AND isset($_POST['son']) AND isset($_POST['souris']) AND isset($_POST['clavier']) AND isset($_POST['connexion']) AND isset($_POST['sensi_win']) AND isset($_POST['resolution_cs']) AND isset($_POST['sensi_cs']) AND isset($_POST['armes']))
Quand je met
if (isset($_POST['pseudo']))

Ca marche mais dès que je met
if (isset($_POST['pseudo']) AND isset($_POST['prenom']))
Ca marche pas

Voilà, donc j'ai trouver que dans ajout_membres.php les name des input était sur "titre" sauf pour le pseudo

EDIT :
Maintenant tout fonctionne
Merci pour l'aide
Modifié en dernier par `Jun!or le 16 août 2005, 11:08, modifié 1 fois.

Mammouth du PHP | 19672 Messages

16 août 2005, 11:02

Fais donc afficher ta variable $_POST avec:
<pre>
<?php
var_dump($_POST);
?>
</pre>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: