Modification php/mysql

vbto Messages postés 27 Date d'inscription samedi 10 janvier 2009 Statut Membre Dernière intervention 25 octobre 2012 - 16 mai 2011 à 16:43
vbto Messages postés 27 Date d'inscription samedi 10 janvier 2009 Statut Membre Dernière intervention 25 octobre 2012 - 17 mai 2011 à 12:57
Bonjour j'ai un problème de modification d'un enregistrement en php/mysql
j'ai 2 formulaires. l'erreur est à ce niveau mais if ($_GET['Code'] )
je n'arrive pas à le résoudre,l'insertion et la suppression marche mais pas la modification merci

voici le contenu du premier
<?php
include'connexion.php';
//vérification de la variable
//$Code=$_GET['Code'];
if(isset($_POST['TxtCode']) and isset($_POST['TxtLib']))
{
//$Code=addslashes($_GET['Code']);
$TxtCode = addslashes($_POST['TxtCode']);
$TxtLib = addslashes($_POST['TxtLib']);
// On vérifie si c'est une modification de news ou pas
if ($_GET['Code'] == 0) //Il ne teste pas Code est dans le 2e formulaire
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
$heure = date("y-m-d H:i:s");
mysql_query("INSERT INTO grade VALUES('" . $TxtCode . "', '" . $TxtLib . "', '" . $heure . "')");
}
else
{
// On protège la variable "code" pour éviter une faille SQL
$_GET['Code'] = addslashes($_GET['Code']);
// C'est une modification, on met juste à jour le libellé
mysql_query("UPDATE grade SET libellegrade='" . $TxtLib . "' WHERE codegrade='" . $_GET['Code'] . "'");
}

}

//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer un grade ?
//--------------------------------------------------------
if (isset($_GET['supprimer_grade'])) // Si on demande de supprimer un grade
{
// Alors on supprime le grade correspondante
// On protège la variable codegrade pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_grade']);
mysql_query('DELETE FROM grade WHERE codegrade=\'' . $_GET['supprimer_grade'] . '\'');
}
?>
...
<?php
$requete=mysql_query('select codegrade,libellegrade from grade order by libellegrade');
while ($donnees = mysql_fetch_array($requete)) //on fait une boucle pour lister les grades
{
?>
<tr>
<td><?php echo stripslashes($donnees['codegrade']); ?></td>
<td><?php echo stripslashes($donnees['libellegrade']); ?></td>
<td>[view_grade.php?vieuw_grade=<?php echo stripslashes($donnees['codegrade']); ?> Consulter]</td>
<td>[update_grade.php?modifier_grade=<?php echo stripslashes($donnees['codegrade']); ?> Modifier]</td>
<td>[ajoutgrade.php?supprimer_grade=<?php echo stripslashes($donnees['codegrade']); ?> Supprimer]</td>
</tr>
<?php
}
?>

2e formulaire

<?php
include 'connexion.php';
if (isset($_GET['modifier_grade']))
{
// On protège la variable "modifier_news" pour éviter une faille SQL
$_GET['modifier_news'] = htmlspecialchars($_GET['modifier_news']);
// On récupère les infos de la news correspondante
$retour = mysql_query('SELECT * FROM grade WHERE codegrade=\'' . $_GET['modifier_grade'] . '\'');
$donnees = mysql_fetch_array($retour);


$TxtLib = stripslashes($donnees['libellegrade']);
$Code =$donnees['codegrade'];

}
else
{

$TxtLib = '';
$Code = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>

2 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
16 mai 2011 à 21:09
bonsoir
à premiere vue un problème d'indentation
essai ça
a++
<?php 
include'connexion.php'; 
//vérification de la variable 
//$Code=$_GET['Code']; 
if(isset($_POST['TxtCode']) and isset($_POST['TxtLib'])) 
{ 
    //$Code=addslashes($_GET['Code']); 
    $TxtCode = addslashes($_POST['TxtCode']); 
    $TxtLib = addslashes($_POST['TxtLib']); 
    // On vérifie si c'est une modification de news ou pas 
    if ($_GET['Code'] == 0) //Il ne teste pas Code est dans le 2e formulaire 
    { 
    // Ce n'est pas une modification, on crée une nouvelle entrée dans la table 
    $heure = date("y-m-d H:i:s"); 
    mysql_query("INSERT INTO grade VALUES('" . $TxtCode . "', '" . $TxtLib . "', '" . $heure . "')"); 
    }else{
    //rien
    } 


}else{ 
// On protège la variable "code" pour éviter une faille SQL 
$_GET['Code'] = addslashes($_GET['Code']); 
// C'est une modification, on met juste à jour le libellé 
mysql_query("UPDATE grade SET libellegrade='" . $TxtLib . "' WHERE codegrade='" . $_GET['Code'] . "'"); 
} 

 

//-------------------------------------------------------- 
// Vérification 2 : est-ce qu'on veut supprimer un grade ? 
//-------------------------------------------------------- 
if (isset($_GET['supprimer_grade'])) // Si on demande de supprimer un grade 
{ 
// Alors on supprime le grade correspondante 
// On protège la variable codegrade pour éviter une faille SQL 
$_GET['supprimer_news'] = addslashes($_GET['supprimer_grade']); 
mysql_query('DELETE FROM grade WHERE codegrade=\'' . $_GET['supprimer_grade'] . '\''); 
} 
?> 
... 
<?php 
$requete=mysql_query('select codegrade,libellegrade from grade order by libellegrade'); 
while ($donnees = mysql_fetch_array($requete)) //on fait une boucle pour lister les grades 
{ 
?> 
<tr> 
<td><?php echo stripslashes($donnees['codegrade']); ?></td> 
<td><?php echo stripslashes($donnees['libellegrade']); ?></td> 
<td>[view_grade.php?vieuw_grade=<?php echo stripslashes($donnees['codegrade']); ?> Consulter]</td> 
<td>[update_grade.php?modifier_grade=<?php echo stripslashes($donnees['codegrade']); ?> Modifier]</td> 
<td>[ajoutgrade.php?supprimer_grade=<?php echo stripslashes($donnees['codegrade']); ?> Supprimer]</td> 
</tr> 
<?php 
} 
?> 

2e formulaire 

<?php 
include 'connexion.php'; 
if (isset($_GET['modifier_grade'])) 
{ 
// On protège la variable "modifier_news" pour éviter une faille SQL 
$_GET['modifier_news'] = htmlspecialchars($_GET['modifier_news']); 
// On récupère les infos de la news correspondante 
$retour = mysql_query('SELECT * FROM grade WHERE codegrade=\'' . $_GET['modifier_grade'] . '\''); 
$donnees = mysql_fetch_array($retour); 


$TxtLib = stripslashes($donnees['libellegrade']); 
$Code =$donnees['codegrade']; 

} 
else 
{ 

$TxtLib = ''; 
$Code = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification 
} 
?> 



Bonne programmation !
0
vbto Messages postés 27 Date d'inscription samedi 10 janvier 2009 Statut Membre Dernière intervention 25 octobre 2012
17 mai 2011 à 12:57
salut
le problème c'est qu'il ne teste pas cette condition:
if ($_GET['Code'] == 0)
le Code est dans le 2e formulaire.L'enregistrement et la suppression marchent mais j'ai les soucis pour la modification.
si Code est différent de 0 là il peut exécuter le script de modification.
aidez moi s'il vous plaît.
0
Rejoignez-nous