2016-06-07 1 views
0

Je suis un développeur vba, donc je suis très confus sur la façon d'analyser un ID d'enregistrement à isset(). J'ai regardé divers articles ici et j'ai essayé de nombreuses choses, mais l'enregistrement ne sera pas supprimé. La page se rafraîchit. L'isset doit échouer. J'ai essayé de donner le nom & valeur mais les combinaisons que j'ai utilisées n'ont pas fonctionné.php: supprimer l'enregistrement quand on clique sur le bouton

<?php 
session_start(); 
$user_mail = $_SESSION['username']; 
if ($user_mail) { 
    include 'database/db.php'; 
    if(isset($_GET['delete_id'])) { 
     $sql_query="DELETE FROM `job_request` WHERE job_request.job_id=".$_GET['delete_id']." AND job_request.Email='$user_mail'"; 
     mysql_query($sql_query); 
     header("Location: applied_jobs.php"); 
    } 
?> etc ... 

Il est utilisé de cette manière:

<?php 
$result = mysql_query("SELECT * FROM `jobs` INNER JOIN job_request ON job_request.job_id=jobs.ReqID where job_request.Email='$user_mail' ORDER BY job_request.Applied_Date DESC"); 
$n = mysql_num_rows($result); 
if ($n > 0) { 
while ($row = mysql_fetch_array($result)) { 
?> 
<div id="lb" class="col-md-12" > 
<h4 style="color:black;"><?php echo $row['Job_Title'] ?> 
<a href="applied_jobs.php?delete_id=<?php echo $row['job_id']; ?>" onclick="return confirm('Delete this record?');" data-placement="top" data-toggle="tooltip" title="Delete Record"> 
<button class="btn-danger btn-md pull-right" data-title="Delete"> <span class="glyphicon glyphicon-trash"></span></button></a> 
</h4> 

Merci à l'avance pour tout aperçu sur la configuration de la variable job_id pour supprimer l'enregistrement

+2

Vous êtes vulnérables à [sql attaques par injection] (http://bobby-tables.com), et supposent simplement que la requête réussira toujours. Au strict minimum, vous devriez avoir quelque chose comme '$ result = mysql_query (...) ou die (mysql_error())' pour vous DONNER si/quand quelque chose a explosé. Vous aussi, ** NE ** voulez pas mettre une requête de suppression sur une URL normale: vous risquez d'avoir TOUS ces enregistrements supprimés: http://thedailywtf.com/articles/The_Spider_of_Doom –

+0

Au moins, utilisez '(int) $ _ GET [ 'delete_id'] 'pour éviter certains de vos problèmes. –

+0

Oui, je vais ajouter la gestion des erreurs au code. Je vais rechercher les liens que vous avez publiés – PlumpyMa

Répondre

0

vous pouvez changer

mysql_query($sql_query); 

à

mysql_query($sql_query) or die(mysql_error()); 

pour obtenir des erreurs avec la requête de mysql.

peut-être la valeur est passée: changement:

<a href="applied_jobs.php?delete_id=<?php echo $row['job_id']; ?>" onclick="return confirm('Delete this record?');" data-placement="top" data-toggle="tooltip" title="Delete Record"> 
<button class="btn-danger btn-md pull-right" data-title="Delete"> <span class="glyphicon glyphicon-trash"></span></button></a> 

à:

<a href="applied_jobs.php?delete_id=<?php echo $row['job_id']; ?>" onclick="return confirm('Delete this record?');" data-placement="top" data-toggle="tooltip" title="Delete Record" class="btn-danger btn-md pull-right"> <span class="glyphicon glyphicon-trash"></span></a> 

Suppression du bouton et l'application de la classe à la balise

+0

Mais la valeur de 'delete_id' est alphanumérique - merci pour votre suggestion – PlumpyMa