Probleme avec fonction update

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme avec fonction update

par kjbstar » 26 mai 2005, 15:04

Euh...Petit up car mon probleme n est pas résolu...
J'ai beau essayer quelques variantes dans le if ou de reunis les 2 <form> en un seul , j'ai toujours le meme resultat: "Unknown column 'Nouveau nom de categorie' in 'field list' "

Merki...

par kjbstar » 26 mai 2005, 12:18

Grossiere erreur nocturne de code pas propre, en effet.
Ca et d'autres </font> inutiles.
Merci.

par renatane » 26 mai 2005, 12:10

<font class='a1'><strong>Modifier une catégorie:</font></strong>
ferme </strong> avant </font>.

par kjbstar » 26 mai 2005, 12:05

Effectivement, mon côté "bordélique" se retrouve meme dans mon code ^^
J'ai pas mis de valeur action dans le form, c est vrai, mais sur la meme page il y a egalement l ajout de catégorie qui fonctionne tres bien.

Sinon, voici le code entier de la page:
<?
        chdir("..");
        include("./include/common.php");
        include("accesscontrol.php");
        include("header.php");
        if(isset($_POST['ajoutcat'])){

                $sql = 'INSERT INTO catz (nomcat) VALUES ("'.$_POST['ajoutcat'].'")';
                $result = mysql_query($sql) or die( mysql_error() );
                if ($result){
                          echo "<font color=red>Catégorie correctement ajoutée dans la base de données ! :)</font><br>";
                }
                        }

       if(isset($_POST['idcat'])){

               $sql2 = 'UPDATE catz SET nomcat='.$_POST['newnom'].' WHERE id='.$_POST['idcat'].'';
                $result2 = mysql_query($sql2) or die( mysql_error() );
                if ($result2){
                          echo "<font color=red>Catégorie correctement modifiée dans la base de données ! :)</font><br>";
                }
                        }

              $listcats = mysql_query('SELECT * FROM catz');
?>
<form method="POST">
<TABLE class=design bgColor=#ffffff cellPadding=1 cellSpacing=0 width=600 border='1' BORDERCOLOR="#C0C0C0" STYLE="border-collapse: collapse">
<TR>
<TD class='a1' width=200><strong>Ajouter une catégorie:</font></strong></td>
<TD class='a1'><INPUT maxLength=200 size=25 name=ajoutcat>&nbsp;&nbsp;&nbsp;&nbsp;<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><input type="submit" alt="submit" value="Ajouter" width="66" height="20" hspace="5" vspace="5" border="0"></font>
</tr>
</table>
</form>

<form method="POST">
<font class='a1'><strong>Modifier une catégorie:</font></strong>
<TABLE class=design bgColor=#ffffff cellPadding=1 cellSpacing=0 width=600 border='1' BORDERCOLOR="#C0C0C0" STYLE="border-collapse: collapse">
<TR>
<TD class='a1' width=80><strong>ID: <INPUT maxLength=2 size=2 name=idcat></font></strong></td>
<TD class='a1'><b>Nouveau nom:</b> <INPUT maxLength=50 size=30 name=newnom></font>&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" alt="submit2" value="Valider la modification" width="66" height="20" hspace="5" vspace="5" border="0"></td></font>
</tr>
</table>
</form>

<font class='a1'><strong>Liste des catégories:</font></strong>
<? while ($donnees = mysql_fetch_array($listcats) )
{ ?>
<TABLE class=design bgColor=#ffffff cellPadding=1 cellSpacing=0 width=600 border='1' BORDERCOLOR="#C0C0C0" STYLE="border-collapse: collapse">
<TR>
<TD class='a1' width=50><strong>ID: <font color=#0000FF><? echo $donnees['id']; ?></font></font></strong></td>
<TD class='a1'><b>Nom:</b> <font color=#0000FF><? echo $donnees['nomcat']; ?></font></td></font>
</tr>
</table>
<?
  }      include("footer.php");
?>

par ZeRo[^L^]CoOOL » 26 mai 2005, 11:48

La valeur de la propriété action de la form c'est koi ?? ou bien c'est deux codes se trouve ds le mm fichier si c le cas est ce que tu peut nous extraire tout le fichier ?

par Cyrano » 26 mai 2005, 11:45

Salut,
indente correctement ton code et aère-le aussi, ça évite bien des surprises:
<?php
if(isset($_POST['idcat']))
{
    $sql2 = "UPDATE catz SET nomcat = ". $_POST['newnom']." WHERE id = ".$_POST['idcat'];
    $result2 = mysql_query($sql2) or die( mysql_error() );
    if ($result2)
    {
        echo "<font color=red>Catégorie correctement modifiée dans la base de données ! :)</font><br>";
    }
}
?>
Attention aussi aux mélanges de " et de '

Probleme avec fonction update

par kjbstar » 26 mai 2005, 11:29

Hello à tous :)

Voilà, je ne sais pas pourquoi, mais la fonction update et moi , on s'aime pas... ^^
Afin de modifier le nom d'une catégorie dans la zone admin d'un site, j'ai procédé de la maniere suivante:

Formulaire:

Code : Tout sélectionner

<form method="POST"> <font class='a1'><strong>Modifier une catégorie:</font></strong> <TABLE class=design bgColor=#ffffff cellPadding=1 cellSpacing=0 width=600 border='1' BORDERCOLOR="#C0C0C0" STYLE="border-collapse: collapse"> <TR> <TD class='a1' width=80><strong>ID: <INPUT maxLength=2 size=2 name=idcat></font></strong></td> <TD class='a1'><b>Nouveau nom:</b> <INPUT maxLength=50 size=30 name=newnom></font>&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" alt="submit2" value="Valider la modification" width="66" height="20" hspace="5" vspace="5" border="0"></td></font> </tr> </table> </form>
Code PHP:
       if(isset($_POST['idcat'])){

               $sql2 = 'UPDATE catz SET nomcat='.$_POST['newnom'].' WHERE id='.$_POST['idcat'].'';
                $result2 = mysql_query($sql2) or die( mysql_error() );
                if ($result2){
                          echo "<font color=red>Catégorie correctement modifiée dans la base de données ! :)</font><br>";
                }
                        }
Sachant que j'affiche un listing des categories avec leur ID.
Ainsi, pour faire la modification, il suffit d'entrer l'ID de la categorie que l'on souhaite modifier, ainsi que le nouveau nom désiré.
Malheureusement, à la validation, j'obtient un "Unknown column 'Nouveau nom de categorie' in 'field list'
Il croit donc que je tape un nom de champs, et j'avoue que je comprend pas du tout quelle est mon erreur... :'(

Si quelqu un avait une idée ^^
Merci !

kjb