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 |
|
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... |
|
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. |
|
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 ! |
|
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 ? |
|
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... |
|
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 ?
|
|
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 = '';
}
|
|