Soucis d'édition d'une page PHP SQL

Hello, je ne voulais pas demander d’aide car je pensais réussir ce script seul, mais après avoir passé la nuit dernière a chercher l’erreur, et bien je ne la trouve pas !

J’ai un système d’articles : Ajout_article.php > Formulaire, rédaction de l’article, enregistrement dans la SQL.
Liste_article.php > édition et suppression des articles créé.

J’ai tenté d’adapter ca a un gestionnaire de téléchargement, qui me permettrait de remplir automatiquement ma page téléchargement, grâce au formulaire. Ceci n’est donc qu’un ajout de quelques champs dans la BDD et de quelques input dans le html :slight_smile:

Mais le problème est que depuis, je ne parviens plus a modifier mes téléchargements.

L’ajout, l’affichage et la suppression marchent très bien, mais pas la modification.

Je met ci-joint les deux pages en ligne sous un format TXT.

Je ne parviens vraiment pas à trouver l’erreur.

Pourtant, lorsque j’édite, il me donne cette erreur dans chaque INPUT :

<label for="chemin_image">Chemin de l'image : <input type="text" name="chemin_image" value="<br />
<b>Notice</b>:  Undefined variable: chemin_image in <b>C:\Program Files\EasyPHP 2.0b1\www\Jeoffrey54\ajout_telechargement.php</b> on line <b>130</b><br />
" /></label><br /><br />

Il me met ca pour chaque input.

Voici les liens :

Ajout_telechargement.txt
Liste_telechargement.txt

J’espère que vous pourrez m’aider, car la, je vois vraiment pas d’ou vient mon erreur :frowning:

Bonne journée :slight_smile:

J’ai pas vu d’erreurs visibles dans les codes que tu files, les variables semblent bien définies (c’est ton problème actuel : tu utilises une variables non définie).

Anomalie : Le script “ajout_telechargement.php” fait 113 lignes (du moins d’après le “ajout_telechargement.txt” que tu as donné) or PHP indique une erreur à la ligne 130 :confused:

Exact, la ligne 130 correspond a ce code :

<label for="chemin_image">Chemin de l'image : <input type="text" name="chemin_image" value="<br /> <b>Notice</b>: Undefined variable: chemin_image in <b>C:"Program Files"EasyPHP 2.0b1"www"Jeoffrey54"ajout_telechargement.php</b> on line <b>130</b><br /> " /></label><br /><br />

En fait j’ai supprimé le Doctype et le footer pour que l’on voye mieux. Mais j’ai une erreur de varaible non définie pour chaque INPUT

Donc j’ai une erreur pour :
$nom_get
$nom
$version
$langue
$type
$siteofficiel
$taille
$stats_php
$stats_txt
$chemin_image
$lien_image
$description

Je ne comprend vraiment pas mon erreur, n’y a til pas un problème ?

L’erreur est que $chemin_image n’est pas déclaré au moment où PHP en à besoin.
Et pour cause, tu ne le fais pas dans tous les cas. Et pour cause, toutes les déclarations que tu as faites se trouvent dans des if, il suffit que les conditions du if ne soient pas satisfaitent pour que PHP passe dans le else (inexistant) et que la déclaration soit sautée.

Que faut t’il faire alors ?

Car les variables sont déclarées quand il faut !

Bah justement non !
Elle ne sont pas déclarées quand :[LIST]
[]empty($_GET[‘modifier_telechargement’]) est TRUE
[
]isset($_POST[‘nom_get’]) ou isset($_POST[‘description’]) est FALSE
[*]isset($def) est TRUE
[/LIST]
Mets des else à tout tes if et déclares-y tes variables.

Sinon tu peux régler ton problème plus simplement en déclarant toutes tes variables dès le début du script (mais c’est moins propre).
Edité le 09/07/2007 à 10:10

je te conseillerai un var_dump($GLOBALS); avant la première erreur : tu sauras ce qui n’est pas déclaré avec ça.