Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1801 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Ajouter lien supprimer et effacement enregistrement dans la BDD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajouter lien supprimer et effacement enregistrement dans la BDD

n°2199146
Valbuena72
Posté le 31-07-2013 à 16:29:22  profilanswer
 

Bonjour,
Je souhaiterais sur cette page, ou j'ai mis le lien supprimer : http://217.16.12.195/live3/hotlaps [...] oad+Course
 
Que ça efface depuis la base de donnée. j'ai essayé pas mal de truc mais rien de convaincant.
 
 

Code :
  1. <?php
  2.    $pageName = "hotlaps.php";
  3.    include "inc.config.php";
  4.    error_reporting($reportLevel);
  5.    include "inc.common.php";
  6.    include "inc.mysqli.conn.php";
  7.    include "inc.requests.php";
  8.    $TrackName = "";
  9.    $prevTrackNameSelected = "";
  10.    if(isset($_GET["TrackName"])){
  11.           $TrackName = urldecode($_GET["TrackName"]);
  12.           if(validateNameVars($TrackName) === true){
  13.                  $prevTrackNameSelected = urldecode($_GET["TrackName"]);
  14.           }else{
  15.                  $TrackName = "";
  16.                  writeErrorLog($pageName, "urlGetTrackName", "The value of URL GET parameter [TrackName] did not pass validation. Value: (" . $_GET["TrackName"] . " )" );
  17.           }
  18.    }
  19.    if(isset($_POST["TrackName"])){
  20.           $TrackName = $_POST["TrackName"];
  21.           if(validateNameVars($TrackName) === true){
  22.           }else{
  23.                  $TrackName = "";
  24.                  writeErrorLog($pageName, "postTrackName", "The value of POST parameter [TrackName] did not pass validation. Value: (" . $_POST["TrackName"] . " )" );
  25.           }
  26.    }
  27.    $VehicleClass = "ALL";
  28.    if(isset($_POST["VehicleClass"])){
  29.           $VehicleClass = $_POST["VehicleClass"];
  30.           if(validateNameVars($VehicleClass) === true){
  31.           }else{
  32.                  $VehicleClass = "";
  33.                  writeErrorLog($pageName, "postVehicleClass", "The value of POST parameter [VehicleClass] did not pass validation. Value: (" . $_POST["VehicleClass"] . " )" );
  34.           }
  35.    }
  36.    if($TrackName != $prevTrackNameSelected){
  37.           $VehicleClass = "ALL";
  38.    }
  39. ?>
  40. <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
  41. <html>
  42. <head>
  43. <meta http-equiv='pragma' content='no-cache'>
  44. <meta http-equiv='cache-control' content='no-cache'>
  45. <meta http-equiv='expires' content='0'>
  46. <meta http-equiv='content-type' content='text/html; charset=<?php echo $siteCharSet; ?>'>
  47. <title>VM LiveView Lite (Hotlaps)</title>
  48. <link rel='stylesheet' type='text/css' href='<?php echo $siteURL; ?>/styles.css'>
  49. </head>
  50. <body>
  51. <div class='center'>
  52. <div class='break4'></div>
  53. <?php
  54.    echo "<div class='sitename'>" . $siteName . "</div>\n";
  55.    try{
  56.           $gameID = 0;
  57.           if(!$mySQLiConn->connect_error){
  58.                  $selectGameID = "SELECT SQL_CACHE `GameID` FROM `sessioninfos` WHERE `ID` = '1' LIMIT 1";
  59.                  if($resultGameID = $mySQLiConn->query($selectGameID)){
  60.                         if($resultGameID->num_rows == 1){
  61.                            while($rowGameID = $resultGameID->fetch_assoc()){
  62.                                   $gameID = $rowGameID["GameID"];
  63.                            }
  64.                         }
  65.                         $resultGameID->free();
  66.                  }
  67.                  $arrayTrackNames = array();
  68.                  $selectTrackNames = "SELECT DISTINCT SQL_CACHE `TrackName` FROM `hotlaps`";
  69.                  if($resultTrackNames = $mySQLiConn->query($selectTrackNames)){
  70.                         if($resultTrackNames->num_rows > 0){
  71.                            while($rowTrackNames = $resultTrackNames->fetch_assoc()){
  72.                                   $arrayTrackNames[] = $rowTrackNames["TrackName"];
  73.                            }
  74.                         }
  75.                         $resultTrackNames->free();
  76.                  }
  77.                  $arrayClasses = array();
  78.                  $selectClasses = "SELECT DISTINCT SQL_CACHE `VehicleClass` FROM `hotlaps` WHERE `TrackName` = '" . $mySQLiConn->real_escape_string($TrackName) . "' ORDER BY `VehicleClass`";
  79.                  if($resultClasses = $mySQLiConn->query($selectClasses)){
  80.                         if($resultClasses->num_rows > 0){
  81.                            while($rowClasses = $resultClasses->fetch_assoc()){
  82.                                   $arrayClasses[] = $rowClasses["VehicleClass"];
  83.                            }
  84.                         }
  85.                         $resultClasses->free();
  86.                  }
  87.                  if($VehicleClass == "ALL" ){
  88.                         $VehicleClass = "%";
  89.                  }
  90.                  $selectHotlaps = "SELECT SQL_CACHE * FROM `hotlaps` WHERE `TrackName` = '" . $mySQLiConn->real_escape_string($TrackName) . "' AND `VehicleClass` LIKE '" . $mySQLiConn->real_escape_string($VehicleClass) . "' ORDER BY `TrackName` ASC, `LapTime`, `LastUpdate`";
  91.                  if($TrackName == "ALL" ){
  92.                         $selectHotlaps = "SELECT SQL_CACHE * FROM `hotlaps` ORDER BY `TrackName` ASC, `LapTime`, `LastUpdate`";
  93.                  }
  94.                  if($resultHotlaps = $mySQLiConn->query($selectHotlaps)){
  95.                         if($resultHotlaps->num_rows > 0){
  96.                            $hotlapRank = 1;
  97.                            $prevTrackName = "";
  98.                            $prevLapTime = 0;
  99.                            $thTrackName = "";
  100.                            if($TrackName == "ALL" ){
  101.                                   $thTrackName = "<th class='hotlaps' title='Track'>Track</th>";
  102.                            }
  103.                            echo "<div class='break4'></div>\n";
  104.                            echo "<form name='Hotlaps' action='" . $siteURL . "/hotlaps.php?TrackName=" . urlencode($TrackName) . "' method='POST'>\n";
  105.                            echo "<fieldset>\n";
  106.                            echo "<legend>\n";
  107.                            echo "Hotlaps <select name='TrackName' onchange='document.Hotlaps.submit()'>\n";
  108.                            $selectedTrackName = "";
  109.                            if($TrackName == "ALL" ){
  110.                                   $selectedTrackName = " selected='selected'";
  111.                            }
  112.                            echo "<option value='ALL'" . $selectedTrackName . ">ALL</option>\n";
  113.                            foreach($arrayTrackNames as $valueTrackName){
  114.                                   if($valueTrackName == $TrackName){
  115.                                          $selectedTrackName = " selected='selected'";
  116.                                   }else{
  117.                                          $selectedTrackName = "";
  118.                                   }
  119.                                   echo "<option value='" . $valueTrackName . "'" . $selectedTrackName . ">" . $valueTrackName . "</option>\n";
  120.                            }
  121.                            echo "</select>\n";
  122.                            echo "Class <select name='VehicleClass' onchange='document.Hotlaps.submit()'>\n";
  123.                            $selectedClass = "";
  124.                            if($VehicleClass == "ALL" ){
  125.                                   $selectedClass = " selected='selected'";
  126.                            }
  127.                            echo "<option value='ALL'" . $selectedClass . ">ALL</option>\n";
  128.                            foreach($arrayClasses as $valueClass){
  129.                                   if($valueClass == $VehicleClass){
  130.                                          $selectedClass = " selected='selected'";
  131.                                   }else{
  132.                                          $selectedClass = "";
  133.                                   }
  134.                                   $displayClass = $valueClass;
  135.                                   switch($valueClass){
  136.                                          case $class1RealName:
  137.                                                 $displayClass = $class1DisplayName;
  138.                                                 break;
  139.                                          case $class2RealName:
  140.                                                 $displayClass = $class2DisplayName;
  141.                                                 break;
  142.                                          case $class3RealName:
  143.                                                 $displayClass = $class3DisplayName;
  144.                                                 break;
  145.                                          case $class4RealName:
  146.                                                 $displayClass = $class4DisplayName;
  147.                                                 break;
  148.                                   }
  149.                                   echo "<option value='" . $valueClass . "'" . $selectedClass . ">" . $displayClass . "</option>\n";
  150.                            }
  151.                            echo "</select>\n";
  152.                            echo "</legend>\n";
  153.                            echo "<table>\n";
  154.                            echo "<tr>" . $thTrackName .
  155.                                                  "<th class='hotlaps' title='Rank'>Rank</th>" .
  156.                                                  "<th class='hotlaps' title='Driver Name'>Driver</th>" .
  157.                                                  "<th class='hotlaps' title='Vehicle Class'>Class</th>" .
  158.                                                  "<th class='hotlaps' title='Vehicle'>Vehicle</th>" .
  159.                                                  "<th class='hotlaps' title='Timed Laps'>Laps</th>" .
  160.                                                  "<th class='hotlaps' title='Sector Time 1'>Sector1</th>" .
  161.                                                  "<th class='hotlaps' title='Sector Time 2'>Sector2</th>" .
  162.                                                  "<th class='hotlaps' title='Sector Time 3'>Sector3</th>" .
  163.                                                  "<th class='hotlaps' title='Lap Time'>Lap Time</th>" .
  164.                                                  "<th class='hotlaps' title='Gap to Best'>Gap</th>" .
  165.                                                  "<th class='hotlaps' title='Gap to Next'>Interval</th>" .
  166.                                                  "<th class='hotlaps' title='Session'>Session</th>" .
  167.                                                  "<th class='hotlaps' title='Last Update'>Last Update</th>" .
  168.                                         "</tr>\n";
  169.                                   while($row = $resultHotlaps->fetch_assoc()){
  170.                                          $tdTrackName = "";
  171.                                          if($TrackName == "ALL" ){
  172.                                                 $tdTrackName = "<td class='center'>" . $row["TrackName"] . "</td>";
  173.                                                 if($prevTrackName != $row["TrackName"]){
  174.                                                    $hotlapRank = 1;
  175.                                                 }
  176.                                          }
  177.                                          $sessionName = setSessionName($row["Session"], $gameID);
  178.                                          $gapToBestLap = 0;
  179.                                          if($hotlapRank == 1){
  180.                                                 $absBestLap = $row["LapTime"];
  181.                                                 $prevLapTime = $row["LapTime"];
  182.                                          }
  183.                                          $gapToBestLap = $gapToBestLap = number_format($row["LapTime"] - $absBestLap, 3);
  184.                                          if($gapToBestLap <= 0){
  185.                                                 $gapToBestLap = "-";
  186.                                          }else{
  187.                                                 $gapToBestLap = "+" . $gapToBestLap;
  188.                                          }
  189.                                          $gapToNextLap = number_format($row["LapTime"] - $prevLapTime, 3);
  190.                                          if($gapToNextLap <= 0){
  191.                                          $gapToNextLap = "-";
  192.                                          }else{
  193.                                                 $gapToNextLap = "+" . $gapToNextLap;
  194.                                          }
  195.                                          $vehicleClass = $row["VehicleClass"];
  196.                                          switch($vehicleClass){
  197.                                                 case $class1RealName:
  198.                                                    $vehicleClass = "<span style='color:" . $class1Color . ";'>" . $class1DisplayName . "</span>";
  199.                                                    $lapTime = "<span style='color:" . $class1Color . ";'>" . formatLapTime($row["LapTime"]) . "</span>";
  200.                                                    $gapToNextLap = "<span style='color:" . $class1Color . ";'>" . $gapToNextLap . "</span>";
  201.                                                    break;
  202.                                                 case $class2RealName:
  203.                                                    $vehicleClass = "<span style='color:" . $class2Color . ";'>" . $class2DisplayName . "</span>";
  204.                                                    $lapTime = "<span style='color:" . $class2Color . ";'>" . formatLapTime($row["LapTime"]) . "</span>";
  205.                                                    $gapToNextLap = "<span style='color:" . $class2Color . ";'>" . $gapToNextLap . "</span>";
  206.                                                    break;
  207.                                                 case $class3RealName:
  208.                                                    $vehicleClass = "<span style='color:" . $class3Color . ";'>" . $class3DisplayName . "</span>";
  209.                                                    $lapTime = "<span style='color:" . $class3Color . ";'>" . formatLapTime($row["LapTime"]) . "</span>";
  210.                                                    $gapToNextLap = "<span style='color:" . $class3Color . ";'>" . $gapToNextLap . "</span>";
  211.                                                    break;
  212.                                                 case $class4RealName:
  213.                                                    $vehicleClass = "<span style='color:" . $class4Color . ";'>" . $class4DisplayName . "</span>";
  214.                                                    $lapTime = "<span style='color:" . $class4Color . ";'>" . formatLapTime($row["LapTime"]) . "</span>";
  215.                                                    $gapToNextLap = "<span style='color:" . $class4Color . ";'>" . $gapToNextLap . "</span>";
  216.                                                    break;
  217.                                                 default:
  218.                                                    $vehicleClass = "<span class='classUC'>" . $row["VehicleClass"] . "</span>";
  219.                                                    $lapTime = "<span class='classUC'>" . formatLapTime($row["LapTime"]) . "</span>";
  220.                                                    $gapToNextLap = "<span class='classUC'>" . $gapToNextLap . "</span>";
  221.                                                    break;
  222.                                          }
  223.                                          $trClass = "'bg0'";
  224.                                          if(($hotlapRank % 2) == 0){$trClass = "'bg1'";}
  225.                                          echo "<tr class=".$trClass.">" . $tdTrackName .
  226.                                                                                                   "<td class='center'>" . $hotlapRank . "</td>" .
  227.                                                                                                   "<td>" . $row["DriverName"] . "</td>" .
  228.                                                                                                   "<td class='center'>" . $vehicleClass . "</td>" .
  229.                                                                                                   "<td>" . $row["Vehicle"] . "</td>" .
  230.                                                                                                   "<td class='center'>" . $row["TimedLaps"] . "</td>" .
  231.                                                                                                   "<td class='righttime'>" . formatLapTime($row["Sec1"]) . "</td>" .
  232.                                                                                                   "<td class='righttime'>" . formatLapTime($row["Sec2"]) . "</td>" .
  233.                                                                                                   "<td class='righttime'>" . formatLapTime($row["Sec3"]) . "</td>" .
  234.                                                                                                   "<td class='righttime'>" . $lapTime . "</td>" .
  235.                                                                                                   "<td class='right'>" . $gapToBestLap . "</td>" .
  236.                                                                                                   "<td class='right'>" . $gapToNextLap . "</td>" .
  237.                                                                                                   "<td class='center'>" . $sessionName . "</td>" .
  238.                                                                                                   "<td>" . $row["LastUpdate"] . "</td>" .
  239.                                                   "</tr>\n";
  240.                                          $hotlapRank ++;
  241.                                          $prevTrackName = $row["TrackName"];
  242.                                          $prevLapTime = $row["LapTime"];
  243.                                   }
  244.                            echo "</table>\n";
  245.                            echo "</fieldset>\n";
  246.                            echo "<input type='hidden' name='PreviousTrackName' value='" . $prevTrackNameSelected . "' >\n";
  247.                            echo "</form>\n";
  248.                         }else{
  249.                            echo "<div class='break12'></div>\n";
  250.                            echo "<div class='red'>No records found.</div>\n";
  251.                         }
  252.                         $resultHotlaps->free();
  253.                  }
  254.                  $mySQLiConn->close();
  255.           }else{
  256.                  echo $mySQLiConnError;
  257.           }
  258.           include "inc.copyright.php";
  259.    }catch(Exception $ex){
  260.           writeErrorLog($pageName, "General Exception", "Exception Msg: (" . $ex->getMessage() . " )" );
  261.    }
  262. ?>
  263. </div>
  264. </body>
  265. </html>

mood
Publicité
Posté le 31-07-2013 à 16:29:22  profilanswer
 

n°2199159
sltpaulo
Posté le 01-08-2013 à 09:30:17  profilanswer
 

Êtes vous sûr que ce soit le bon code?
 
Il manque la colonne "Supprimer" dans votre code

Code :
  1. echo "<tr>" . $thTrackName .
  2.                                                  "<th class='hotlaps' title='Rank'>Rank</th>" .
  3.                                                  "<th class='hotlaps' title='Driver Name'>Driver</th>" .
  4.                                                  "<th class='hotlaps' title='Vehicle Class'>Class</th>" .
  5.                                                  "<th class='hotlaps' title='Vehicle'>Vehicle</th>" .
  6.                                                  "<th class='hotlaps' title='Timed Laps'>Laps</th>" .
  7.                                                  "<th class='hotlaps' title='Sector Time 1'>Sector1</th>" .
  8.                                                  "<th class='hotlaps' title='Sector Time 2'>Sector2</th>" .
  9.                                                  "<th class='hotlaps' title='Sector Time 3'>Sector3</th>" .
  10.                                                  "<th class='hotlaps' title='Lap Time'>Lap Time</th>" .
  11.                                                  "<th class='hotlaps' title='Gap to Best'>Gap</th>" .
  12.                                                  "<th class='hotlaps' title='Gap to Next'>Interval</th>" .
  13.                                                  "<th class='hotlaps' title='Session'>Session</th>" .
  14.                                                  "<th class='hotlaps' title='Last Update'>Last Update</th>" .
  15.                                         "</tr>\n";


 

n°2199161
Valbuena72
Posté le 01-08-2013 à 09:47:09  profilanswer
 

Code :
  1. echo "<tr>" . $thTrackName .
  2.                                                  "<th class='hotlaps' title='Rank'>Rank</th>" .
  3.                                                  "<th class='hotlaps' title='Driver Name'>Driver</th>" .
  4.                                                  "<th class='hotlaps' title='Vehicle Class'>Class</th>" .
  5.                                                  "<th class='hotlaps' title='Vehicle'>Vehicle</th>" .
  6.                                                  "<th class='hotlaps' title='Timed Laps'>Laps</th>" .
  7.                                                  "<th class='hotlaps' title='Sector Time 1'>Sector1</th>" .
  8.                                                  "<th class='hotlaps' title='Sector Time 2'>Sector2</th>" .
  9.                                                  "<th class='hotlaps' title='Sector Time 3'>Sector3</th>" .
  10.                                                  "<th class='hotlaps' title='Lap Time'>Lap Time</th>" .
  11.                                                  "<th class='hotlaps' title='Gap to Best'>Gap</th>" .
  12.                                                  "<th class='hotlaps' title='Gap to Next'>Interval</th>" .
  13.                                                  "<th class='hotlaps' title='Session'>Session</th>" .
  14.                                                  "<th class='hotlaps' title='Last Update'>Last Update</th>" .
  15.       "<th class='hotlaps' title='Delete'>Delete</th>" .
  16.                                         "</tr>\n";


 
Mon lien c'était pour l'exemple  :hello:

n°2199164
sltpaulo
Posté le 01-08-2013 à 10:11:33  profilanswer
 

Si tu utilises jQuery voilà ce que je te conseille :
 
Lors de la création de ton bouton/lien supprimer, ajoute un paramètre (exemple :  

Code :
  1. "<th class='hotlaps td_delete' title='Delete' id_param='".$id."'>Delete</th>" .


)
 
ensuite tu crées un event click (si tu appelles ton javascript avant la création du tableau, oublie pas de créer un event .on/.off )
en faisant une écoute sur ta class td_delete
 

Code :
  1. jQuery(".td_delete" ).die/off('click').on/live('click',function(){
  2. });


 
Ensuite tu fais ton appel ajax qui va récupérer ton id de la ligne a delete dans ta base de données
 

Code :
  1. jQuery(".td_delete" ).die/off('click').on/live('click',function(){
  2. var idDelete = jQuery(this).attr("id_param" );
  3. });


 
Ensuite tu fais ton ajax vers ton fichier php
 
 

Code :
  1. jQuery(".td_delete" ).die/off('click').on/live('click',function(){
  2. var idDelete = jQuery(this).attr("id_param" );
  3. jQuery.ajax({
  4.         type: "POST",
  5.         url: "lien_vers_ta_page.php",
  6.         data: ({
  7.             method: "delete_line",
  8.             idDelete  : idDelete
  9.         }),
  10.         beforeSend: function() {
  11.         },
  12.         success: function(data) {
  13. if(data.success)
  14.               jQuery(this).parent('tr').hide(); //Si tu as supprimé dans ta BDD tu caches la ligne du tableau
  15. else
  16. //truc a faire si ça fonctionne pas
  17.         },
  18.         error: function() {
  19.         }
  20.     });
  21. });


 
ensuite ta page php (lien_vers_ta_page.php)
 

Code :
  1. function delete_line($id){
  2. //script d'exécution de ta requete
  3. if(requete_réussit)
  4. return json_encode(array("success" => true, 'param' => $info));// tu peux ajouter autant de paramètre de retour que tu veux pour les utiliser dans ton ajax
  5. else
  6. return json_encode(array("success" => false, 'param' => $info));
  7. }
  8. if(isset(@$_POST) and is_array(@$_POST)){
  9. if (@$_POST['method'] == 'delete_line') {
  10.             header('Cache-Control: no-cache, must-revalidate');
  11.             header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
  12.             header('Content-type: application/json; charset=utf-8');
  13.             echo delete_line(@$_POST['idDelete']);
  14.         }
  15. }


 
J'espere avoir pu t'aider
 
Cordialement,

n°2199171
Valbuena72
Posté le 01-08-2013 à 11:13:44  profilanswer
 

Oula, merci beaucoup mais JQuery je connais quelques truc mais là c'est compliqué. Je sais même pas ce qui est une écoute...  
Il y pas une facon de faire simple en php ?
Genre :

Code :
  1. "<td class='center'><a href='suppr.php?ID=.$id.'>Supprimer</a></td>" .


 
le fichier suppr :  

Code :
  1. <?
  2. if(isset($_GET['id']))
  3. {
  4. $con = mysql_connect("localhost","xxx","xxxx" );
  5. if (!$con)
  6.   {
  7.   die('Could not connect: ' . mysql_error());
  8.   }
  9. mysql_select_db("xxxx", $con);
  10. $id = $_GET['id'];
  11. mysql_query("delete FROM hotlaps where ID=$id" );
  12. echo $mysql_query;
  13. }
  14. ?>


Message édité par Valbuena72 le 01-08-2013 à 11:14:03
n°2199179
sltpaulo
Posté le 01-08-2013 à 11:45:13  profilanswer
 

Si mais la le problème c'est que tu changes de page en faisans ça, et niveau sécurité, c'est vraiment bof car n'importe qui peut supprimer une ligne en écrivant le liens dans sa barre de tache.
 
Tu peux utiliser les variables de sessions pour un peu plus de sécu en faisant un truc du genre :
 
lors de l'identification (si il y a identification) => tu crées la session de l'utilisateur :sessions_start(); ensuite tu affecte une variable pour dire que c'est un utilisateur : $_SESSION['logged'] ='yes';
 
Sur toutes tes pages avant d'écrire quoi que ce soit tu fais un session_start()
 
ensuite pour ta page suppr.php tu fais  

Code :
  1. <?
  2. session_start();
  3. if($_SESSION['logged'] == 'yes'){
  4.     if(isset($_GET['id']))
  5.     {
  6.     $con = mysql_connect("localhost","xxx","xxxx" );
  7.     if (!$con)
  8.       {
  9.       die('Could not connect: ' . mysql_error());
  10.       }
  11.     mysql_select_db("xxxx", $con);
  12.     $id = $_GET['id'];
  13.     $result =  mysql_query("delete FROM hotlaps where ID=$id" );
  14.     if(!$result){
  15. echo "Un problème est survenu, contacter l'admin</br>Vous allez être redirigé dans 5 secondes";
  16. echo '<META HTTP-EQUIV="Refresh" CONTENT="5; URL=page_precedente.php"> ';
  17. }else{
  18. echo "Suppression réussite</br>Vous allez être redirigé dans 5 secondes";
  19. echo '<META HTTP-EQUIV="Refresh" CONTENT="5; URL=page_precedente.php"> ';
  20. }
  21.     }
  22. }
  23.     ?>

n°2199185
Valbuena72
Posté le 01-08-2013 à 13:49:57  profilanswer
 

Merci mais c'est surtout le code php qui ne fonctionne pas :
$id = $_GET['id'];
mysql_query("delete FROM hotlaps where ID=$id" );

n°2199188
sltpaulo
Posté le 01-08-2013 à 14:18:53  profilanswer
 

qu'est-ce que tu obtiens en faisans $id = $_GET['ID'];
puis echo 'id : '.$id;

n°2199310
Valbuena72
Posté le 03-08-2013 à 09:01:12  profilanswer
 

J'ai réussi a récuperer l'id ici : http://217.16.12.195/live2/hotlaps [...] %20Layout)  (sur les liens supprimer  ) mais ça supprimer ça ne marche pas.
J'ai fais un echo de $id et page blanche

n°2199315
sltpaulo
Posté le 03-08-2013 à 10:03:40  profilanswer
 

ça affiche quoi? ...

mood
Publicité
Posté le 03-08-2013 à 10:03:40  profilanswer
 

n°2199316
Valbuena72
Posté le 03-08-2013 à 10:34:21  profilanswer
 

Mon lien ressemble à ça :  

Code :
  1. "<td>" . '<a href="suppr.php?id='.$row['ID'].'">Delete</a>' . "</td>";


Code :
  1. <?php
  2. session_start();
  3. if($_SESSION['logged'] == 'yes'){
  4.     if(isset($_GET['ID']))
  5.     {
  6.     $con = mysql_connect("localhost","xxxxxx","xxxxxxx" );
  7.     if (!$con)
  8.       {
  9.       die('Could not connect: ' . mysql_error());
  10.       }
  11.     mysql_select_db("xxxxxxxxx", $con);
  12.     $id = $_GET['ID'];
  13.     $result =  mysql_query("delete FROM hotlaps where ID=$id" );
  14.     if(!$result){
  15. echo "Un problème est survenu, contacter l'admin ";
  16. echo 'id : '.$id;
  17. }else{
  18. echo "Suppression réussite";
  19. echo 'id : '.$id;
  20. }
  21.     }
  22. }
  23.     ?>


 
J'obtiens ça :
http://217.16.12.195/live2/suppr.php
 
Que j'active les notice ou pas. Aucune erreur  :fou:
 
Bizarre en affichant le code source, je vois le code php  :fou:
 
 
Edit ; trouvé ma balise n'était pas bonne <?  
Il faut faire : <?php
 
voici le message d'erreur :

Code :
  1. Notice: Undefined index: ID


Message édité par Valbuena72 le 03-08-2013 à 10:56:43
n°2199317
Valbuena72
Posté le 03-08-2013 à 10:58:34  profilanswer
 

ça marcheeeeeeeee  
 
Voici les codes  

n°2199318
sltpaulo
Posté le 03-08-2013 à 11:19:00  profilanswer
 

normal... je t'ai dit d'essayer avec $id = $_GET['id'];
en minuscule

n°2199319
sltpaulo
Posté le 03-08-2013 à 11:20:24  profilanswer
 

et tu devrais te renseigner sur les variables de sessions

n°2199321
Valbuena72
Posté le 03-08-2013 à 11:54:58  profilanswer
 

sltpaulo a écrit :

normal... je t'ai dit d'essayer avec $id = $_GET['id'];
en minuscule


Oui c'était ça l'erreur Merci
Justement, je regarde pour les sessions.
Je voudrais que si on est connecte au forum en tant qu'admin.
On peux supprimer si non on ne supprime pas !  :D  
Le soucis : Le forum et les pages ne sont pas sur le meme serveur  :sweat:

n°2199324
sltpaulo
Posté le 03-08-2013 à 12:07:55  profilanswer
 

Tu peux toujours envoyer des infos en get, mais attention à la sécurité

n°2199331
Valbuena72
Posté le 03-08-2013 à 13:23:51  profilanswer
 

Yop, de retour,
En attendant de faire par session de phpbb3.
J'ai fais ça donc si non connecté : vous n'avez pas le droit et donc ça ne s'efface pas.
, vous êtes connecter :  effacement de la ligne
 

Code :
  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. // Destruction de la session ?
  4. if ((isset($_GET['action'])) && ($_GET['action'] == 'logout'))
  5. {
  6.  $_SESSION = array();
  7.  session_destroy();
  8.  session_start();
  9. }
  10.  
  11. $_SESSION['login'] = '';
  12. $_SESSION['password'] = '';
  13. if (isset($_POST['submit']))
  14. {
  15.  $login = (isset($_POST['login'])) ? $_POST['login'] : '';
  16.  $pass =  (isset($_POST['pass']))  ? $_POST['pass']  : '';
  17.  if (($login == "Valbuena72" ) && ($pass == "xxxx" )) // Mode connecter
  18.  {
  19.   if(isset($_GET['id']))
  20.     {
  21.     $con = mysql_connect("localhost","xxxxx","xxxx" );
  22.     if (!$con)
  23.       {
  24.       die('Could not connect: ' . mysql_error());
  25.       }
  26.     mysql_select_db("vmliveview02", $con);
  27.     $id = $_GET['id'];
  28.     $result =  mysql_query("delete FROM hotlaps where id=$id" );
  29.   $_SESSION['login'] = "Valbuena72";
  30.   $_SESSION['password'] = "xxxx";
  31.   echo '<p style="color:#FF0000; font-weight:bold;">Supprimer avec sucès</p>';
  32. }}
  33.  else // Mode non admin
  34.  {
  35.   echo '<p style="color:#FF0000; font-weight:bold;">Vous pouvez pas supprimer</p>';
  36.  }
  37. }
  38. if (!isset($_POST['submit']))
  39. {
  40.  echo '
  41.  <form id="conn" method="post" action="">
  42.   <p><label for="login">Login :</label><input type="text" id="login" name="login" /></p>
  43.   <p><label for="pass">Mot de Passe :</label><input type="password" id="pass" name="pass" /></p>
  44.   <p><input type="submit" id="submit" name="submit" value="Connexion" /></p>
  45.  </form>';
  46. }; // fin if (!isset($_POST['submit'])))
  47. ?>


Merci de ton aide super !


Message édité par Valbuena72 le 03-08-2013 à 13:24:09
n°2199337
sltpaulo
Posté le 03-08-2013 à 14:58:11  profilanswer
 

De rien

n°2199390
Valbuena72
Posté le 05-08-2013 à 07:39:47  profilanswer
 

Bonjour,
Je reviens vers toi. Car j'aimerais mettre un lien pour supprimer tout les chronos mais que sur la page que on est :
Circuit d'avignon : lien effacer = efface tout le tableau !  
 
J'ai fais ça, aucune erreur mais ça n'efface rien :

Code :
  1. if(isset($_GET['track_id']))
  2.     {
  3.     $con = mysql_connect("localhost","xxxx","xxxx );
  4.     if (!$con)
  5.       {
  6.       die('Could not connect: ' . mysql_error());
  7.       }
  8.     mysql_select_db("xxxx", $con);
  9.   $track_id = $_GET['track_id'];
  10.     // suppression du circuit
  11.     $sql = "DELETE FROM hotlaps WHERE TrackName = $track_id";


 

Code :
  1. $track_id = $row['TrackName'];
  2.   echo "<a href='suppr2.php?track_id=$track_id'>Tout Supprimer</a>";


 
Faudrait demande à Mysql : Tu peux m'effacer tout ce qui comporte le nom du circuit  :hello:
 
quand je fais ça :
   

Code :
  1. echo 'id : '.$track_id.'';


J'obtient bien le nom du circuit qui est dans l'url moi je pense que c'est ma requête qui n'est pas bonne


Message édité par Valbuena72 le 05-08-2013 à 07:52:19
n°2199397
bistouille
Posté le 05-08-2013 à 08:34:21  profilanswer
 

Il est où ton mysql_query ?
Si t'en fais pas, ça risque pas que tu supprimes quoi que ce soit  :whistle:  
 
Et fais un transtypage de ton numérique ou vérifie que s'en est bien un avant de le passer dans ta requête.

n°2199398
Valbuena72
Posté le 05-08-2013 à 09:30:57  profilanswer
 

Code :
  1. $track_id = $_GET['track_id'];
  2.     $result =  mysql_query("delete FROM hotlaps where track_id=$track_id" );
  3.   echo '<p style="color:#FF0000; font-weight:bold;"> '.$result.' à été Supprimer avec sucès <br/><a href="javascript:history.back()">page précédente</a></p>';
  4. }}
  5.  else // Mode non admin
  6.  {
  7.   echo '<p style="color:#FF0000; font-weight:bold;">Erreur d\'identification. Recommence, jusqu\'a trouver la bonne formule.<br/>
  8.   Rappel : Réserver aux administrateurs</p>';
  9.  }
  10. }
  11. if (!isset($_POST['submit']))
  12. {
  13.  echo '
  14.  <form id="conn" method="post" action="">
  15.   <p><label for="login">Login :</label><input type="text" id="login" name="login" /></p>
  16.   <p><label for="pass">Mot de Passe :</label><input type="password" id="pass" name="pass" /></p>
  17.   <p><input type="submit" id="submit" name="submit" value="Connexion" /></p>
  18.  </form></br><a href="javascript:history.back()">page précédente</a>';
  19. }; // fin if (!isset($_POST['submit'])))
  20. ?></div> </div>


Fonctionne toujours pas, et $track_id n'est pas un numérique


Message édité par Valbuena72 le 05-08-2013 à 09:43:39
n°2199401
sltpaulo
Posté le 05-08-2013 à 09:46:10  profilanswer
 

Si ton champ est un VARCHAR tu dois écrire ta requête comme cela :

Code :
  1. $sql = "DELETE FROM hotlaps WHERE TrackName = '$track_id'";


 
N'oublies pas les '

n°2199403
Valbuena72
Posté le 05-08-2013 à 09:50:48  profilanswer
 

Evidemment, quel boulet !!!
Merci à toi ça fonctionne !

n°2199404
sltpaulo
Posté le 05-08-2013 à 09:54:53  profilanswer
 

Pas de soucis bonne continuation

n°2199433
tomsoft
Posté le 05-08-2013 à 14:33:53  profilanswer
 

sltpaulo a écrit :

Si tu utilises jQuery voilà ce que je te conseille :

 

Lors de la création de ton bouton/lien supprimer, ajoute un paramètre :

Code :
  1. "<th class='hotlaps td_delete' title='Delete' id_param='".$id."'>Delete</th>" .
 


Code :
  1. jQuery(".td_delete" ).die/off('click').on/live('click',function(){
  2. var idDelete = jQuery(this).attr("id_param" );
  3. });




Et data, c'est pour les chiens ? :o
http://api.jquery.com/data/


Message édité par tomsoft le 05-08-2013 à 14:34:17
n°2199437
sltpaulo
Posté le 05-08-2013 à 14:37:02  profilanswer
 

Tomsoft, le but est de faire passer une variable php vers javascript, je ne vois pas en quoi la méthode .data() peut-être utile dans ce cas de figure

n°2199441
tomsoft
Posté le 05-08-2013 à 14:58:01  profilanswer
 

Code :
  1. <th class='hotlaps td_delete' title='Delete' data-id='".$id."'>Delete</th>


 

Code :
  1. $(".td_delete" ).on('click', function(){
  2.    var idDelete = $(this).data("id" );
  3. });

n°2199443
sltpaulo
Posté le 05-08-2013 à 15:02:10  profilanswer
 

Quelle est la différence avec mon code?
 
Question de benchmark? si oui, j'aimerai les détails, ça m'interesse

n°2199446
tomsoft
Posté le 05-08-2013 à 15:07:49  profilanswer
 

Pas forcement une question de perf, mais data est fait pour stocker des infos, pas attr.
 
attr te permet de recupere des elements comme title, alt, checked, ...
data-xxx de stocker des infos.
 
utiliser "attr", ca marche (et encore que, pas dit qu'un jour cette "liberté" soit corrigée), mais c'est pas bien.
 

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Ajouter lien supprimer et effacement enregistrement dans la BDD

 

Sujets relatifs
Demande d'aide : ajouter un administrateur à une applicationSupprimer plusieurs membres de ma base de données
Prb connexion Crystal report Viewer et BDDLien avec lettres de différentes couleurs
[BAT] Comment ajouter une ligne en début de fichier ?Visual Studio comment supprimer le "Scripts Documents"
[VBA] Enregistrement format spécifique[RESOLU] chargement lien PHP par défaut : comment faire?
Construire un array directement de la BDD[VBA] Enregistrement feuille excel dans un répertoire
Plus de sujets relatifs à : Ajouter lien supprimer et effacement enregistrement dans la BDD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR