Afficher des données depuis une table MySQL et les modifier

polarbird Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   -  
polarbird Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai une page update.php . J'exécute dessus deux requêtes MySQL :
¤ Une première qui récupère des valeurs depuis une base de données avec fetch
¤ Une seconde qui modifie ces valeurs déjà existantes dans la base de données en utilisant UPDATE
Problème : quand j'essaie ma requête UPDATE (à la ligne 13 du code suivant) il me dit "Undefinied variable ou index line 13"
Quelqu'un pourrait-il s'il vous plaît m'aider car je ne sais plus quoi faire.
D'avance je vous en remercie cordialement.
Voici mon code :
<?php
// on se connecte à notre basse
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('min_shortener', $base) ;
?>
<html>
<head>
<link href="style.css" rel="stylesheet" title="Style" />
<title>AdminZone • Update</title>
</head>
<body>
<?php
$sql ='UPDATE langues SET urlshortener="'.$base['urlshortener'].'", bouton1="'.$base['bouton1'].'" WHERE jezyk="'.$_GET['jezyk'].'"';

// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// lancement de la requete
$sql = 'SELECT * FROM langues WHERE jezyk="'.$_GET['jezyk'].'"';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);

// on libère l'espace mémoire alloué pour cette interrogation de la basse
mysql_free_result ($req);

?>
<h1>Insertion</h1>
<form method="POST" action="update.php?jezyk=<?php echo $_GET['jezyk']; ?>">
<center>
<input type="text" name="jezyk" size="20" value="<?php echo $_GET['jezyk']; ?>" placeholder="jezyk" maxlength="10"><br />
<input type="text" name="urlshortener" size="20" value="<?php echo $data['urlshortener'];?>" placeholder="urlshortener" maxlength="255"><br />
<input type="text" name="bouton1" size="20" value="<?php echo $data['bouton1']; ?>" placeholder="bouton1" maxlength="255"><br />
<input type="text" name="infobox" size="20" value="<?php echo $data['infobox']; ?>" placeholder="infobox" maxlength="255"><br />
<input type="text" name="host" size="20" value="<?php echo $data['host']; ?>" placeholder="host" maxlength="255"><br />
<input type="text" name="ip" size="20" value="<?php echo $data['ip']; ?>" placeholder="ip" maxlength="255"><br />
<input type="text" name="lundi" size="20" value="<?php echo $data['lundi']; ?>" placeholder="lundi" maxlength="255"><br />
<input type="text" name="mardi" size="20" value="<?php echo $data['mardi']; ?>" placeholder="mardi" maxlength="255"><br />
<input type="text" name="mercredi" size="20" value="<?php echo $data['mercredi']; ?>" placeholder="mercredi" maxlength="255"><br />
<input type="text" name="jeudi" size="20" value="<?php echo $data['jeudi']; ?>" placeholder="jeudi" maxlength="255"><br />
<input type="text" name="vendredi" size="20" value="<?php echo $data['vendredi']; ?>" placeholder="vendredi" maxlength="255"><br />
<input type="text" name="samedi" size="20" value="<?php echo $data['samedi']; ?>" placeholder="samedi" maxlength="255"><br />
<input type="text" name="dimanche" size="20" value="<?php echo $data['dimanche']; ?>" placeholder="dimanche" maxlength="255"><br />
<input type="text" name="janvier" size="20" value="<?php echo $data['janvier']; ?>" placeholder="janvier" maxlength="255"><br />
<input type="text" name="fevrier" size="20" value="<?php echo $data['fevrier']; ?>" placeholder="fevrier" maxlength="255"><br />
<input type="text" name="mars" size="20" value="<?php echo $data['mars']; ?>" placeholder="mars" maxlength="255"><br />
<input type="text" name="avril" size="20" value="<?php echo $data['avril']; ?>" placeholder="avril" maxlength="255"><br />
<input type="text" name="mai" size="20" value="<?php echo $data['mai']; ?>" placeholder="mai" maxlength="255"><br />
<input type="text" name="juin" size="20" value="<?php echo $data['juin']; ?>" placeholder="juin" maxlength="255"><br />
<input type="text" name="juillet" size="20" value="<?php echo $data['juillet']; ?>" placeholder="juillet" maxlength="255"><br />
<input type="text" name="aout" size="20" value="<?php echo $data['aout']; ?>" placeholder="aout" maxlength="255"><br />
<input type="text" name="septembre" size="20" value="<?php echo $data['septembre']; ?>" placeholder="septembre" maxlength="255"><br />
<input type="text" name="octobre" size="20" value="<?php echo $data['octobre']; ?>" placeholder="octobre" maxlength="255"><br />
<input type="text" name="novembre" size="20" value="<?php echo $data['novembre']; ?>" placeholder="novembre" maxlength="255"><br />
<input type="text" name="decembre" size="20" value="<?php echo $data['decembre']; ?>" placeholder="decembre" maxlength="255"><br />
<input type="text" name="siteonline" size="20" value="<?php echo $data['siteonline']; ?>" placeholder="siteonline" maxlength="255"><br />
<input type="text" name="dni" size="20" placeholder="dni" value="<?php echo $data['dni']; ?>" maxlength="255"><br />
<input type="submit" value="Envoyer" name="envoyer">
<?php
mysql_close ();
?>
</center>
</form>
</html>

2 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Dans $base['bouton1'] et $base['urlshortener'], remplace $base par $_POST.

    Xavier
    0
    1. polarbird Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   1
       
      Bonjour,
      Merci de votre conseil.J'ai remplacé $base par $_POST mais rien n'y fait : wamp m'affiche toujours l'erreur Undefined index.
      Cordialement,
      Voilà mon code corrigé
      <?php
      // on se connecte à notre basse
      $base = mysql_connect ('localhost', 'root', '');
      mysql_select_db ('min_shortener', $base) ;
      ?>
      <html>
      <head>
      <link href="style.css" rel="stylesheet" title="Style" />
      <title>AdminZone • Update</title>
      </head>
      <body>
      <?php
      $sql ='UPDATE langues SET urlshortener="'.$_POST['urlshortener'].'", bouton1="'.$_POST['bouton1'].'" WHERE jezyk="'.$_GET['jezyk'].'"';
      
      // on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
      mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
      // lancement de la requete
      $sql = 'SELECT * FROM langues WHERE jezyk="'.$_GET['jezyk'].'"';
      
      // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      
      // on recupere le resultat sous forme d'un tableau
      $data = mysql_fetch_array($req);
      
      // on libère l'espace mémoire alloué pour cette interrogation de la basse
      mysql_free_result ($req);
      
      ?>
      <h1>Insertion</h1>
      <form method="POST" action="update.php?jezyk=<?php echo $_GET['jezyk']; ?>">
      <center>
      <input type="text" name="jezyk" size="20" value="<?php echo $_GET['jezyk']; ?>" placeholder="jezyk" maxlength="10"><br />
      <input type="text" name="urlshortener" size="20" value="<?php echo $data['urlshortener'];?>" placeholder="urlshortener" maxlength="255"><br />
      <input type="text" name="bouton1" size="20" value="<?php echo $data['bouton1']; ?>" placeholder="bouton1" maxlength="255"><br />
      <input type="text" name="infobox" size="20" value="<?php echo $data['infobox']; ?>" placeholder="infobox" maxlength="255"><br />
      <input type="text" name="host" size="20" value="<?php echo $data['host']; ?>" placeholder="host" maxlength="255"><br />
      <input type="text" name="ip" size="20" value="<?php echo $data['ip']; ?>" placeholder="ip" maxlength="255"><br />
      <input type="text" name="lundi" size="20" value="<?php echo $data['lundi']; ?>" placeholder="lundi" maxlength="255"><br />
      <input type="text" name="mardi" size="20" value="<?php echo $data['mardi']; ?>" placeholder="mardi" maxlength="255"><br />
      <input type="text" name="mercredi" size="20" value="<?php echo $data['mercredi']; ?>" placeholder="mercredi" maxlength="255"><br />
      <input type="text" name="jeudi" size="20" value="<?php echo $data['jeudi']; ?>" placeholder="jeudi" maxlength="255"><br />
      <input type="text" name="vendredi" size="20" value="<?php echo $data['vendredi']; ?>" placeholder="vendredi" maxlength="255"><br />
      <input type="text" name="samedi" size="20" value="<?php echo $data['samedi']; ?>" placeholder="samedi" maxlength="255"><br />
      <input type="text" name="dimanche" size="20" value="<?php echo $data['dimanche']; ?>" placeholder="dimanche" maxlength="255"><br />
      <input type="text" name="janvier" size="20" value="<?php echo $data['janvier']; ?>" placeholder="janvier" maxlength="255"><br />
      <input type="text" name="fevrier" size="20" value="<?php echo $data['fevrier']; ?>" placeholder="fevrier" maxlength="255"><br />
      <input type="text" name="mars" size="20" value="<?php echo $data['mars']; ?>" placeholder="mars" maxlength="255"><br />
      <input type="text" name="avril" size="20" value="<?php echo $data['avril']; ?>" placeholder="avril" maxlength="255"><br />
      <input type="text" name="mai" size="20" value="<?php echo $data['mai']; ?>" placeholder="mai" maxlength="255"><br />
      <input type="text" name="juin" size="20" value="<?php echo $data['juin']; ?>" placeholder="juin" maxlength="255"><br />
      <input type="text" name="juillet" size="20" value="<?php echo $data['juillet']; ?>" placeholder="juillet" maxlength="255"><br />
      <input type="text" name="aout" size="20" value="<?php echo $data['aout']; ?>" placeholder="aout" maxlength="255"><br />
      <input type="text" name="septembre" size="20" value="<?php echo $data['septembre']; ?>" placeholder="septembre" maxlength="255"><br />
      <input type="text" name="octobre" size="20" value="<?php echo $data['octobre']; ?>" placeholder="octobre" maxlength="255"><br />
      <input type="text" name="novembre" size="20" value="<?php echo $data['novembre']; ?>" placeholder="novembre" maxlength="255"><br />
      <input type="text" name="decembre" size="20" value="<?php echo $data['decembre']; ?>" placeholder="decembre" maxlength="255"><br />
      <input type="text" name="siteonline" size="20" value="<?php echo $data['siteonline']; ?>" placeholder="siteonline" maxlength="255"><br />
      <input type="text" name="dni" size="20" placeholder="dni" value="<?php echo $data['dni']; ?>" maxlength="255"><br />
      <input type="submit" value="Envoyer" name="envoyer">
      <?php
      mysql_close ();
      ?>
      </center>
      </form>
      </html>
      0
  2. Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
     
    Bonjour !
    Tu devrait aussi penser à sécuriser tes variables.
    jezyk="'.$_GET['jezyk'].'"

    C'est la porte ouverte au injections sql.
    0