Navigation : Forums > Forum Général > Modification

Pages : 1 Poster un nouveau sujet Ajouter un message
Auteur Message
anthony

Messages : 56
Inscrit le : 11/05/2002
Posté le 20/06/2003 à 10:18:25 Message N°1 #
Bonjour à tous,
Encore un petit soucis <IMG src="smileys/frown.gif">

Je n'ai rien qui se passe avec ce code.
Les variables sont bien affichés dans le formulaire mais ensuite le traitement de celui-ci n'est pas bon.
Il ne se passe rien, même pas un petit message d'erreur.

function cat_modif($id_cat, $nom_cat, $des_cat, $img_cat) {
include ("config.php");
if($action == "modifier") {
$id_cat = $_POST['id_cat'];
$nom_cat = $_POST['nom_cat'];
$des_cat = $_POST['des_cat'];
$img_cat = $_POST['img_cat'];
mysql_query("UPDATE $cat SET nom_cat='$nom_cat', des_cat='$des_cat', img_cat='$img_cat' WHERE id_cat='$id_cat'");
echo "<font color='red'>La rubrique a bien été modifié</font><br><br>";
echo "<a href='gestion_cat.php'>Retour à la gestion des catégories</a><br>";
}
else {
$id_cat = $_GET['id_cat'];
$nom_cat = $_GET['nom_cat'];
$des_cat = $_GET['des_cat'];
$img_cat = $_GET['img_cat'];
echo "Vous modifiez la rubrique : $_GET[nom_cat]";
?>
<form action="gestion_cat.php?action=modifier">
<input type="hidden" name="action" value="modif_cat">
<input type="hidden" name="id_cat" value="<?php echo $id_cat;?>">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr><td width="146"><font color="red">
Nom de la catégorie :</font></td><td width="254">
<input type="text" name="nom_cat" value="<?php echo $nom_cat;?>"></td></tr><tr><td>
Url de l'image :</td><td>
<input type="text" name="img_cat" value="<?php echo $img_cat;?>"></td></tr></table>
Description de la catégorie :<br>
<textarea name="des_cat" cols="60" rows="6" value="<?php echo $des_cat;?>"></textarea><br>
<input type="submit" name="modifier" value="Modifier la categorie">
</form>
<?
}
}


______________________________
Message édité par anthony
Profil Citer
loranger

Messages : 392
Inscrit le : 04/04/2002
Posté le 20/06/2003 à 11:17:31 Message N°2 #
Moi, je dirais plus un truc dans le genre
include ("config.php");

function cat_modif($action) {

Global $_GET, $_POST, $cat;

if($action == "modifier") {
$sql = "UPDATE $_POST['cat'] SET nom_cat='$_POST['nom_cat']', des_cat='$_POST['des_cat']', img_cat='$_POST['img_cat']' WHERE id_cat='$_POST['id_cat']";
mysql_query($sql);
$out = "<font color='red'>La rubrique a bien été modifié</font><br><br>";
$out .= "<a href='gestion_cat.php'>Retour à la gestion des catégories</a><br>";
} else {
$id_cat = $_GET['id_cat'];
$nom_cat = $_GET['nom_cat'];
$des_cat = $_GET['des_cat'];
$img_cat = $_GET['img_cat'];
$out = "Vous modifiez la rubrique : $_GET[nom_cat]";
$out .= '<form action="gestion_cat.php?action=modifier">';
$out .= '<input type="hidden" name="action" value="modif_cat">';
$out .= '<input type="hidden" name="id_cat" value="'.$_GET['id_cat'].'">';
$out .= '<table width="400" border="0" cellspacing="0" cellpadding="0">';
$out .= '<tr><td width="146"><font color="red">';
$out .= 'Nom de la catégorie :</font></td><td width="254">';
$out .= '<input type="text" name="nom_cat" value="'.$_GET['nom_cat'].'"></td></tr><tr><td>';
$out .= 'Url de l'image :</td><td>';
$out .= '<input type="text" name="img_cat" value="'.$_GET['img_cat'].'"></td></tr></table>';
$out .= 'Description de la catégorie :<br>';
$out .= '<textarea name="des_cat" cols="60" rows="6" value="'.$_GET['des_cat'].'"></textarea><br>';
$out .= '<input type="submit" name="modifier" value="Modifier la categorie">';
$out .= '</form>';
}

return $out;

}[/quote]
Par contre, pourquoi ça marche pas... bin y'a des tonnes de raisons. En vrac :
$action ? $cat ? ou se fait ton mysql_connect ?
Pour afficher les erreurs de ton code, je te conseille de mettre ça en haut de chacune de tes pages (ou dans un fichier inclus dans chacune de tes pages) :
[quote]error_reporting(E_ALL);
et là, promis, tu auras plein d'erreurs partout.
=)

Tu sais que tu es le seul à avoir galéré pour afficher le bloc de code, et qui arrive à ne pas afficher les smileys comme il faut ? Comment tu fais ? c'est pourtant trop facile, il suffit de cliquer...
Profil Citer
anthony

Messages : 56
Inscrit le : 11/05/2002
Posté le 20/06/2003 à 12:06:34 Message N°3 #
Je suis le seul à galérer ? :-)

Par contre, plus ça va plus je comprend de moins en moins.
À force d'avoir le nez dans le code, je dois saturer.
Je vais lire tout ça et essayer d'y voir plus clair.

En tout cas merci encore de ta réponse.
Profil Citer
anthony

Messages : 56
Inscrit le : 11/05/2002
Posté le 20/06/2003 à 18:31:01 Message N°4 #
C'est bon tout fonctionne.
Mais j'ai pas compris comment il fallait que j'utilise le code que t'as écrit.
Enfin bon.

Bonne fête de la musique !
Profil Citer
anthony

Messages : 56
Inscrit le : 11/05/2002
Posté le 22/06/2003 à 12:13:22 Message N°5 #
J'ai mis le error_reporting et ça m'affiche pleins d'erreur !
En fait, pleins de "undefined variable"
Comment puis-je les défnir ?
Profil Citer
loranger

Messages : 392
Inscrit le : 04/04/2002
Posté le 23/06/2003 à 17:48:52 Message N°6 #
Attention, ça va aller très vite :
$var = 12;
$string = 'ma variable string';[/quote]
voilà.
=)

Bon, histoire d'être un peu plus causant et un peu moins chafouin, voilà quelques explications :
if($truc < 10) {
$variab .= ' inférieure';
$myvar++;
}

te reverra des erreur parce que tu ne peux incrémenter/concaténer une variable que si elle a été définie.
Bon, dans la pratique, ça passe, mais si tu affiche toutes les erreurs (error_reporting à all), tu peux te rendre compte que php n'aime pas ça. Et moi, je serais toi, je contrarierais pas trop php...
=)

Si je reprend l'exmple :
[quote]$variab = 'condition :';
$myvar = ( isset($_GET['my']) ) ? $_GET['my'] : 0;

if($truc < 10) {
$variab .= ' inférieure';
$myvar++;
}

Il n'y aura plus d'erreur...
Profil Citer
anthony

Messages : 56
Inscrit le : 11/05/2002
Posté le 24/06/2003 à 12:07:45 Message N°7 #
Décidemment, j'ai bcp de progrès à faire car je comprend pas.
Concrètement dans mon programme, que dois-je changer ?
Par exemple avec ceci :

$p = $_GET['p'];
$action = $_GET['action'];

J'ai un undefined variable alors qu'il me semble, justement que je la définit.
Sinon qu'est que définir une variable ?
Profil Citer
loranger

Messages : 392
Inscrit le : 04/04/2002
Posté le 24/06/2003 à 13:14:09 Message N°8 #
ha bin là, je ne vois plus trop ce que je peux faire pour toi.

Définir une variable, c'est... la définir. la rendre existante.

$ma_var = 12;
[/quote]
Voilà, je viens de définir ma variable "$ma_var"

help

$action = $_GET['action'];
ça, c'est bien, mais si $_GET['action'] n'est égal à rien ?
Alors $_GET['action'] n'est pas définie, du coup $action non plus...

à mon avis, ça ça marche mieux :

[quote] if( isset($_GET['action']) ) {
$action = $_GET['action'];
} else {
$action = '';
}
Profil Citer

Navigation : Forums > Forum Général > Modification

Pages : 1 Poster un nouveau sujet Ajouter un message


Se rendre directement sur le forum :