Il y a bien modification, mais ce sont toutes mes lignes qui se modifient , pourtant je prends par id????
// On protège la variable "id_matchs_seniors" pour éviter une faille SQL
<form action= "modif_matchs_seniors.php" method="post">
<form action="list_matchs_seniors.php" method="post">c'est la feuille qui liste mes pages et c'est a cette endroit que je choisi de modifier une ligne.
<?php //VARIABLES GENERALES include("../data.php"); global $dbserver; global $dbdb; global $dbuser; global $dbpass; //CONNEXION A LA BASE DE DONNEES $base = @MYSQL_CONNECT ("$dbserver","$dbuser","$dbpass") or die ("Erreur: impossible de communiquer avec la base de données. Vérifiez les donnés du fichier data.php . "); mysql_select_db("dbdb",$base); //----------------------------------------------------- // Vérification 1 : y a t'il des matchs? //----------------------------------------------------- if (isset($_POST['date']) AND isset($_POST['heure']) AND isset($_POST['home']) AND isset($_POST['visiteur']) AND isset($_POST['score'])) { $date = addslashes($_POST['date']); $heure = addslashes($_POST['heure']); $home = addslashes($_POST['home']); $visiteur = addslashes($_POST['visiteur']); $score = stripslashes($donnees['score']); // On vérifie si c'est une creation de matchs ou pas if ($_POST['id_matchs_seniors'] == 0) { // Ce n'est pas une modification, on crée une nouvelle entrée dans la table mysql_query("INSERT INTO matchs_seniors VALUES('', '" . $date . "', '" . $heure . "', '" . $home . "', '" . $visiteur . "', '" . $score . "')"); } else { // On protège la variable "id_matchs_seniors" pour éviter une faille SQL $_POST['id_matchs_seniors'] = addslashes($_POST['id_matchs_seniors']); // C'est une modification, on peut tout mettre à jour mysql_query("UPDATE matchs_seniors SET date='" . $date . "', heure='" . $heure . "', home='" . $home . "', visiteur='" . $visiteur . "', score='" . $score . "'"); } } //-------------------------------------------------------- // Vérification 2 : est-ce qu'on veut supprimer un matchs? //-------------------------------------------------------- if (isset($_GET['supprimer_matchs_seniors'])) // Si on demande de supprimer un matchs { // Alors on supprime le membre correspondant // On protège la variable "id_matchs_seniors" pour éviter une faille SQL $_GET['supprimer_matchs_seniors'] = addslashes($_GET['supprimer_matchs_seniors']); mysql_query('DELETE FROM matchs_seniors WHERE id=\'' . $_GET['supprimer_matchs_seniors'] . '\''); } ?> <table><tr> <th>Date</th> <th>Heure</th> <th>Home</th> <th>Visiteur</th> <th>score</th> <th>Modifier</th> <th>supprimer</th> </tr> <?php $retour = mysql_query('SELECT * FROM matchs_seniors ORDER BY date'); while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les matchs { ?> <tr> <td><?php echo stripslashes($donnees['date']); ?></td> <td><?php echo stripslashes($donnees['heure']); ?></td> <td><?php echo stripslashes($donnees['home']); ?></td> <td><?php echo stripslashes($donnees['visiteur']); ?></td> <td><?php echo stripslashes($donnees['score']); ?></td> <td><?php echo '[modif_matchs_seniors.php?modifier_matchs_seniors=' . $donnees['id'] . ' '; ?>modifier]</td> <td><?php echo '[list_matchs_seniors.php?supprimer_matchs_seniors=' . $donnees['id'] . ' '; ?>Supprimer]</td> </tr> <?php } // Fin de la boucle qui liste les matchs ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPar contre je ne sais pas me servir de mysql_real_escape_string.
Si je remplace addslashes par mysql_real_escape_string ça ne marche plus.
$sql = "UPDATE matchs_seniors SET date='" . $date . "', heure='" . $heure . "', home='" . $home . "', visiteur='" . $visiteur . "', score='" . $score . "'"; echo '<hr />debug : '.$sql.' '; if (false === mysql_query($sql)) die(mysql_error());
Une autre question: comment faire pour que la date soit au format jj/mm/aaaa? j'ai beau chercher je ne comprends pas où placer les codes.
.. et peut on savoir ce que ça fait au juste ? une erreur ? pas d'affichage ? autres ?
Où souhaites tu qu'elle le soit ? A l'affichage ? dans la base ?
Le mieux serait sans doute un unique champ de type DATETIME directement dans la DB.