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

Fermé
polarbird Messages postés 105 Date d'inscription vendredi 24 juin 2011 Statut Membre Dernière intervention 16 décembre 2023 - 30 déc. 2013 à 21:54
polarbird Messages postés 105 Date d'inscription vendredi 24 juin 2011 Statut Membre Dernière intervention 16 décembre 2023 - 31 déc. 2013 à 16:35
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>
A voir également:

2 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
30 déc. 2013 à 22:02
Bonjour,

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

Xavier
0
polarbird Messages postés 105 Date d'inscription vendredi 24 juin 2011 Statut Membre Dernière intervention 16 décembre 2023 1
31 déc. 2013 à 16:35
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
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
31 déc. 2013 à 11:11
Bonjour !
Tu devrait aussi penser à sécuriser tes variables.
jezyk="'.$_GET['jezyk'].'"

C'est la porte ouverte au injections sql.
0