Problème d'update

Eléphant du PHP | 206 Messages

29 nov. 2005, 16:21

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

VaN
Mammouth du PHP | 1107 Messages

29 nov. 2005, 16:22

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.

Eléphant du PHP | 206 Messages

29 nov. 2005, 16:26

: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>

VaN
Mammouth du PHP | 1107 Messages

29 nov. 2005, 16:33

$titre = $val["[b]titre[/b]"];
<input name="[b]nom_col[/b]" id="nom_col" value="<?php echo ($titre); ?>" size="75">

:?: :?:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

29 nov. 2005, 16:39

: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.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 206 Messages

30 nov. 2005, 11:29

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 :)

Avatar du membre
ViPHP
ViPHP | 3008 Messages

30 nov. 2005, 11:40

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.

Eléphant du PHP | 206 Messages

30 nov. 2005, 12:21

:shock: :shock:

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

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

30 nov. 2005, 14:59

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:
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 206 Messages

30 nov. 2005, 17:56

:shock: :? :oops: :oops: :oops: :oops:

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

Merci en tout cas !!!