Page 1 sur 1

php PDO

Posté : 05 déc. 2014, 17:25
par miorah
et ben voilà je suis débutante en php plus précisement avec PDO, et il y a toujours un erreur sur mon code et je sais plus quoi faire;
voilà l'erreur "Notice: Undefined index: FournisseurID in C:\wamp\www\SMI\modifiefourni.php on line 4"
voilà mon code
  <?php
 $db=new PDO('mysql:host=localhost; dbname=parcmfb', 'root','');
  
  $FournisseurID  = $_GET["FournisseurID"] ;
 
  $sqm = "SELECT * FROM fournisseur WHERE FournisseurID = "."\'".$FournisseurID."\'";
  
  $sqm = stripslashes($sqm);
 
    $reqTousM=$db->query($sqm);
   
  if  ($dataR=$reqTousM->FETCH(PDO::FETCH_ASSOC))
  {
  ?>
 
<form name="insertion" action="modificationfourni.php" method="POST">
  <input type="hidden" name="id" value="<?php echo($id) ;?>">
  <table border="0" align="center" cellspacing="2" cellpadding="2">
    <tr align="center">
      <td>FournisseurID</td>
      <td><input type="text" name="FournisseurID" value="<?php echo($dataR['FournisseurID']) ;?>"></td>
    </tr>
    <tr align="center">
      <td>FournisseurNIF</td>
      <td><input type="text" name="FournisseurNIF" value="<?php echo($dataR['FournisseurNIF']) ;?>"></td>
    </tr>
    <tr align="center">
      <td>FournisseurNom</td>
      <td><input type="text" name="FournisseurNom" value="<?php echo($dataR['FournisseurNom']) ;?>"></td>
    </tr>
    <tr align="center">
      <td>FournisseurAdresse</td>
      <td><input type="text" name="FournisseurAdresse" value="<?php echo($dataR['FournisseurAdresse']) ;?>"></td>
    </tr>
    <tr align="center">
      <td>FournisseurTel</td>
      <td><input type="text" name="FournisseurTel" value="<?php echo($dataR['FournisseurTel']) ;?>"></td>
    </tr>
    <tr align="center">
      <td>Observation</td>
      <td><input type="text" name="Observation" value="<?php echo($dataR['Observation']) ;?>"></td>
    </tr>
 
    <tr align="center">
      <td colspan="2"><input type="submit" value="modifier"></td>
    </tr>
  </table>
</form>
 
<?php
  }//fin if 
  ?>
 
</body>
</html>
modificationfourni.php
     
<?php
 
  $db=new PDO('mysql:host=localhost; dbname=parcmfb', 'root','');
   
  $FournisseurID   = $_POST["FournisseurID"];
  $FournisseurNIF    = $_POST["FournisseurNIF"];
  $FournisseurNom   = $_POST["FournisseurNom"];
  $FournisseurAdresse = $_POST["FournisseurAdresse"];
  $FournisseurTel   = $_POST["FournisseurTel"];
  $Observation   = $_POST["Observation"];
  
  $sqlp = "UPDATE fournisseur SET = "."\'".$FournisseurID."\'".", FournisseurNIF= "."\'".$FournisseurNIF."\'".", FournisseurNom=" .$FournisseurNom.", FournisseurAdresse="."\'".$FournisseurAdresse.", FournisseurTel=" .$FournisseurTel.", Observation=" .$Observation."\'"." WHERE FournisseurID = "."\'".$FournisseurID."\'";
 
  $sqlpreg = stripslashes($sqlp);
 
        echo '<script type="text/javascript">';
        //echo "alert('$sqlp');";       
        echo '</script>';
  
    if ($afficheReg=$db->exec($sqlpreg))
    {
        echo '<script type="text/javascript">';
        echo "alert('Modification effectué');";
        echo '</script>';
    }
    else
    {
        if ($db->errorCode()!=0)
        {  
            $t=$db->errorInfo();   
            $message = $t[2];
            echo $message;
            die();
        }   
    }
     
    echo '<script type="text/javascript">history.go(-1);</script>';
   
?>
et j'ai créer un image avec lien en html pour cette code de modification
je vous previent que j'ai vraiment aucune idée de ce que je peux faire pour corriger ça!! merci!!

Re: php PDO

Posté : 05 déc. 2014, 21:14
par Nestecha
$_GET["FournisseurID"] ;
Ce code va bug s'il n'y a pas de FournisseurID dans l'URL de la page et t'enverra l'erreur que tu as.

Pour l'éviter à l'avenir, utilise if (isset($_GET['FournisseurID'])) { // code }.

Ainsi il vérifiera que FournisseurID est dans l'URL de la page avant de lancer le code.

Re: php PDO

Posté : 06 déc. 2014, 12:38
par dogmongo
Bonjour,

sécurise un peu tout ça
$FournisseurID = (isset($_POST['FournisseurID'])) ? $_POST['FournisseurID'] : (isset($_GET['FournisseurID']) ? $_GET['FournisseurID'] : null);

Puis en prépare tes requêtes
	require_once('pannel_conf/connexionPDO.php');

	$query = 'SELECT *'
		. ' FROM fournisseur '
		. ' WHERE FournisseurID =?;';
		
	$select = $db->prepare($query);
	$select->bindValue(1, $FournisseurID, PDO::PARAM_INT);
	$select->execute();	

etc....


Notice: Undefined index: FournisseurID ca veux dire FournisseurID n'est pas défini :mrgreen:

personnellement je trouve ton code et ton organisation pas très cohérente, enlève moi ce formulaire de ta boucle requête, place tes données en tableau puis affiche le formulaire avec tes variables en les testant bien leurs existence avec des issets

bien sure je ne critique pas, je te conseil de prendre les bonnes habitude de suite par ce que j'ai l'impression de voir mes codes avant d'avoir pris une bonne leçon de piratage :oops:

bon courage

Re: php PDO

Posté : 06 déc. 2014, 12:44
par dogmongo
$id ?????
<input type="hidden" name="id" value="<?php echo($id) ;?>">

c'est pas plutôt <input type="hidden" name="FournisseurID " value="<?php echo($FournisseurID ) ;?>">

j'ai l'impression que tu as une embrouille d'ID quelque part :mrgreen:

Re: php PDO

Posté : 07 déc. 2014, 09:25
par sammimiorah
$id ?????
<input type="hidden" name="id" value="<?php echo($id) ;?>">

c'est pas plutôt <input type="hidden" name="FournisseurID " value="<?php echo($FournisseurID ) ;?>">

j'ai l'impression que tu as une embrouille d'ID quelque part :mrgreen:
ah ça c'est sur!! merci je sais plus ou me mettre la tête avec tous ça!!

Re: php PDO

Posté : 07 déc. 2014, 09:25
par sammimiorah
$_GET["FournisseurID"] ;
Ce code va bug s'il n'y a pas de FournisseurID dans l'URL de la page et t'enverra l'erreur que tu as.

Pour l'éviter à l'avenir, utilise if (isset($_GET['FournisseurID'])) { // code }.

Ainsi il vérifiera que FournisseurID est dans l'URL de la page avant de lancer le code.
merci :)

Re: php PDO

Posté : 07 déc. 2014, 09:29
par sammimiorah
Bonjour,

sécurise un peu tout ça
$FournisseurID = (isset($_POST['FournisseurID'])) ? $_POST['FournisseurID'] : (isset($_GET['FournisseurID']) ? $_GET['FournisseurID'] : null);

Puis en prépare tes requêtes
	require_once('pannel_conf/connexionPDO.php');

	$query = 'SELECT *'
		. ' FROM fournisseur '
		. ' WHERE FournisseurID =?;';
		
	$select = $db->prepare($query);
	$select->bindValue(1, $FournisseurID, PDO::PARAM_INT);
	$select->execute();	

etc....


Notice: Undefined index: FournisseurID ca veux dire FournisseurID n'est pas défini :mrgreen:

personnellement je trouve ton code et ton organisation pas très cohérente, enlève moi ce formulaire de ta boucle requête, place tes données en tableau puis affiche le formulaire avec tes variables en les testant bien leurs existence avec des issets

bien sure je ne critique pas, je te conseil de prendre les bonnes habitude de suite par ce que j'ai l'impression de voir mes codes avant d'avoir pris une bonne leçon de piratage :oops:

bon courage
Warning: require_once(pannel_conf/connexionPDO.php): failed to open stream: No such file or directory in C:\wamp\www\SMI\modifiefourni.php on line 6
Fatal error: require_once(): Failed opening required 'pannel_conf/connexionPDO.php' (include_path='.;C:\php\pear') in C:\wamp\www\SMI\modifiefourni.php on line 6
et c'est l'erreur qui vient aprés :( #-o

Re: php PDO

Posté : 07 déc. 2014, 17:07
par dogmongo
require_once(pannel_conf/connexionPDO.php) ;
c'est pour charger un fichier qui contient ma connexion PDO, ça ne te concerne pas, ne fais pas un copier coller mais essaye de comprendre, dans ton cas enlève le puisque que tu insert ta connexion directement dans ton code :D

Re: php PDO

Posté : 08 déc. 2014, 05:05
par miorah
ok!! mais c'est ça le probleme depuis j'ai utiliser requiere once mais je ne comprend son utilité mais je l'utilise betement enfaite :oops: :cry: