Page 1 sur 1

Problème d'update

Posté : 29 nov. 2005, 16:21
par betman
Bonjour à tous,

J'ai un léger sous avec ma requète UPDATE, je ne vois pas trop d'où peut venir l'erreur.

Cela me dit :
Notice: Undefined index: titre in c:\program files\easyphp1-7\www\site intranet\admin\actu\update_actu.php on line 6

Notice: Undefined index: sstitre in c:\program files\easyphp1-7\www\site intranet\admin\actu\update_actu.php on line 6

Notice: Undefined index: photo in c:\program files\easyphp1-7\www\site intranet\admin\actu\update_actu.php on line 6
Erreur SQL !
Erreur de syntaxe près de 'WHERE id='
Notice: Undefined variable: id in c:' à la ligne 2
voici le code mon fichier update
<?
include('connection.inc.php');

include ('upload_file.php');

$query = "UPDATE actu SET titre='".$_POST['titre']."' , sstitre='".$_POST['sstitre']."' , photo='".$_POST['photo']."' , 
WHERE id='".$_GET['id']."'"; 

$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());

header('location: adm_actu.php');
?>
si quelqu'un pouvais m'aider à comprendre d'où viens mon erreur

Merci d'avance

Posté : 29 nov. 2005, 16:22
par VaN
j'enleverais déjà la virgule avant le WHERE.

Mais le probleme, c'est surtout qu'il ne recupere pas tes variables passées en POST et GET j'ai l'impression.

essaye de les afficher avant la requete deja.

Posté : 29 nov. 2005, 16:26
par betman
:oops:

Exact, du coup je n'ai plus d'erreur mais cela n'enregistre pas les modifications effectuéés dans les forumlaires.

Voici le code du formulaire :
<?php
include('connection.inc.php');
$query = "SELECT * FROM actu WHERE id='".$_GET['id']."'";
$result = mysql_query($query);
$nb = mysql_numrows($result);
while ($val = mysql_fetch_array($result))

{
$idc = $val["id"];
$titre = $val["titre"];
$sstitre = $val["sstitre"];
$photo = $val["photo"];
}
?>
<br>
  <table width="750" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td height="20"><p><span class="texte_gras">Titre :</span><br>
        <form method="post" action="update_actu.php?id=<?php echo ($id); ?>" enctype="multipart/form-data">
		  <p>
		    <input name="nom_col" id="nom_col" value="<?php echo ($titre); ?>" size="75">
		    <br>
		    <br>
		    <span class="texte_gras">Texte  :</span> <br>
	        <input name="identifiant" id="identifiant" value="<?php echo ($sstitre); ?>" size="75">
	        <br>
	        <br>
		     <span class="texte_gras">Images :</span><br>
	        <br> 
           <img src='<?php echo($photo); ?>' height="50" width="63">		     </p>
		  <p>Nouveau visuel : </p>
		  <p>
          <input name="photo" type="file" id="photo">
		    <br>
	        <br>
	        <input type="submit" value="Valider" name="submit">
		    / <a href="adm_actu.php" class="texte_lien">Annuler</a>	        </p>
        </form>
	  </td>
    </tr>
</table>

Posté : 29 nov. 2005, 16:33
par VaN
$titre = $val["[b]titre[/b]"];
<input name="[b]nom_col[/b]" id="nom_col" value="<?php echo ($titre); ?>" size="75">

:?: :?:

Posté : 29 nov. 2005, 16:39
par sadeq
:oops:

...
$idc = $val["id"];
....
<form method="post" action="update_actu.php?id=<?php echo ($id); ?>" enctype="multipart/form-data">
...
Te casses pas la tête, ton id n'est pas bien passé : il faut écrire $idc au lieu de $id dans l'echo.

Posté : 30 nov. 2005, 11:29
par betman
Oui j'ai vu çà après, désolé je vous ai dérangé pour rien, mais je débute et à force d'avoir la tête ds la code , ej vois plus rien...

Mon update se fait correctement, excepté l'image, elle se copie bien dans le répertoire, mais au moment de lrequete j'ai une erreur :

Erreur SQL !
Erreur de syntaxe près de ''img/appareil.gif' WHERE id='65'' à la ligne 1

et le code :
<?
include('connection.inc.php');

include 'upload_file.php';

$query = "UPDATE actu SET titre='".$_POST['titre']."' , sstitre='".$_POST['sstitre']."' , '"$dest_dossier . $dest_fichier."' 			WHERE id='".$_GET['id']."'"; 

$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());

header('location: adm_actu.php');
?>
si vous voyez une faute de syntax dites moi car la je suis myope :)

Posté : 30 nov. 2005, 11:40
par charabia

Code : Tout sélectionner

''img/appareil.gif' WHERE id='65''
vérifies bien tes ', c'est de là que vient l'erreur. regardes tu ne peux pas avoir 2 quotes simple avant img et après 65.

Posté : 30 nov. 2005, 12:21
par betman
:shock: :shock:

J'ai beau vérifier, je ne vois l'erreur des quotes...

Posté : 30 nov. 2005, 14:59
par sadeq
Oui j'ai vu çà après,
.....

$query = "UPDATE actu SET titre='".$_POST['titre']."' , sstitre='".$_POST['sstitre']."' , '"$dest_dossier . $dest_fichier."' WHERE id='".$_GET['id']."'";

....

si vous voyez une faute de syntax dites moi car la je suis myope :)
:shock: Effectivement t'es myope, regarde bien dans ta requête avant les variables '"$dest_dossier . $dest_fichier."' et après la virgule : tu as oublié le nom du champ à mettre à jour :lol:

Posté : 30 nov. 2005, 17:56
par betman
:shock: :? :oops: :oops: :oops: :oops:

(s'enfuie discrètement....)

Merci en tout cas !!!