Page 1 sur 1

erreur Undefined index

Posté : 19 juil. 2016, 15:35
par Henrigo
j'avais deja pose une fois cette question ici, maintenant on peut voire les fotos a partir de ma page comme sous le lien
http://www.bilder-upload.eu/show.php?fi ... 935359.png
malheureusement quand j'essaye de vouloir supprimer (löschen )ca na marche pas je recois cette erreur

Notice: Undefined index: id_pho in C:\xampp\htdocs\kant\supprimerProduit.php on line 4

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '\'\'' at line 1' in C:\xampp\htdocs\kant\supprimerProduit.php:6 Stack trace: #0 C:\xampp\htdocs\kant\supprimerProduit.php(6): PDO->query('delete from pro...') #1 {main} thrown in C:\xampp\htdocs\kant\supprimerProduit.php on line 6
voila a quoi ressemble mon tableau produits http://www.bilder-upload.eu/show.php?fi ... 935478.png

supprimerProduit.php
<?php require_once("connection.php")?>
<?php
$ph=$_GET["id_pho"];
$req= mysql_real_escape_string("delete from produits where photo='" . $ph. "'"); //linie 4
$dbConnect->query($req) or die(mysql_error());
header("location:GestionProduits.php"); //linie 6
//$dbConnect->close()?
?>
GestionProduit.php
<?php
session_start();

require_once("connection.php");


$req= $dbConnect->query("SELECT * from categories");

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

	<head>

		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

		<title>Management-Produit</title>

		<link rel="stylesheet" type="text/css" href="style1.css">
		<script language="javascript">
                    function confirmation(photo){
                         var rep=confirm("Sind sie sicher dieses Bild zu löschen ?");
                         if(rep==true){
                            document.location="supprimerProduit.php?photo="+photo
                                       }
                    }
        </script>

	</head>

	<body>

		<?php 

		require_once("entete.php");

		?>

		<div id="formProduits" align="center">

		<form method="post" action="addProduit.php" enctype="multipart/form-data">

			<table>

				<tr>

					<td>Kategorie:</td>
					<td>

						<select name="idCat">

							<?php while($cat = $req->fetch(PDO::FETCH_ASSOC)) { ?>
							<option value="<?php echo $cat["code_cat"]; ?>">
							<?php echo $cat["nom_cat"]; ?>
							</option>
							<?php }?>

						</select>

					</td>

				</tr>

				<tr>

					<td>Bild:</td><td><input type="file" name="photo"></td>

				</tr>

				<tr>

					<td><input type="submit" value="Hinzufügen"></td>

				</tr>
<?php				
				$req2= $dbConnect->query("SELECT photo, id_pho, code_cat from produits");
?>				
				<div id="listeProduits" align="center">
                    <table border="1">
                            <tr>
                                 <th>BILD-ID</th><th>BILDPFAD</th><th></th>
                            </tr>
<?php while($prod = $req2->fetch(PDO::FETCH_ASSOC)){?>
                                
                                <tr>
								<td><?php echo($prod['id_pho'])?></td>
                                 <!--<td><?php //echo($prod['code_cat'])?></td>-->
                                 <td><?php echo($prod['photo'])?></td>
                                 <td>
								     
                                     <a href="javascript:confirmation(<?php echo($prod['id_pho'])?>)">Löschen</a>                             
                                </td>
                            </tr>
<?php } ?>
                    </table>
               </div>

			</table>

			</form>

		</div>

	</body>

</html>

Re: erreur Undefined index

Posté : 19 juil. 2016, 15:52
par or 1
supprimerProduit.php?photo=
$ph=$_GET["id_pho"];
il y a comme une incohérence.
à noter que si l'on passe comme id '123 or 1', on fait un peu de ménage.

Re: erreur Undefined index

Posté : 19 juil. 2016, 16:28
par moogli
Modération :
c'est le troisième sujet pour la même erreur, cela fait beaucoup !
celui ci est encore actif :php-debutant/undefined-index-t276577.html


Peux être n'as tu pas compris pourquoi tu as cette erreur et faut il t'expliquer une derniere fois ?

Re: erreur Undefined index

Posté : 20 juil. 2016, 08:08
par Henrigo
moogli,
on peut avoir la meme erreur mais dans des contexte bien different,
j'ai compris du lien que tu a envoye quel etait le problem et je l'ai resolu, et non pas comme
on me l'a indique dans le forum. car dans le forum les intervenant parlais de <form></form>
certe meme en placant mon <input> dans mon <form></form> ca ne resolvait pas le probleme
plustot mes formulaire devait etre tout simplemnt separe l'un de l'autre car les 2 ne devait pas etre rempli
au meme moment .
et j'ai aussi mentionne que idCat etait ce qui me cassait la tete car jusqu'ic je ne sais pas ce qui ne va pas
avec l'index idCat.
dans le cas cite ici j'ai encore l'index id_pho qui cause probleme .
Je dirai, tu y connais bien en php mais il faut bien pouvoir faire la difference des questions pose (le context bien defini)
merci bien

Re: erreur Undefined index

Posté : 20 juil. 2016, 09:31
par Spols
Le contexte importe certe, mais un message d'erreur identique indique une cause direct identique. Dans la plupart des cas, lire ce message va t'apporter de très bonne indication sur la source direct du problème. Là oµ le contexte importe c'est la cause sous jacente, et là c'est plus compliqué sans une idée générale du projet que toi seul connait.

une erreur undefined index signifie toujours que tu cherche à utiliser un index de tableau inexistant, il faut donc chercher oµ ce tableau est créer et pourquoi il ne contient pas l'index recherché. commence toujours par vérifier l'orthographe, un simple caractère changeant peut générer l'erreur. c'est le cas ici comme l'indique Or1, tu utilise d'un coté photo de l'autre id_pho. faire afficher l'enièrté de ton tableau avec var_dump() peut t'aider à voir les index
Mais si tu es sur d'utiliser le même index en écriture et en lecture, il faut voir si ton tableau est bien crée, dans le cas de tableau POST ou GET, c'est la création du formulaire qui est a vérifier. Dans ton cas précédent, tu utilisais des bouton qui te redirigeai plutot qu'envoyer le formulaire. Quant à savoir qu'il te fallait 2 formulaire plutot qu'un nous ne pouvions pas le deviner.

Un conseil général, lis attentivement les messages d'erreur, il sont source de réponse.