login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Delete ID uit Database button/link (Opgelost)

Offline zilverstar - 31/01/2008 22:02 (laatste wijziging 01/02/2008 18:58)
Avatar van zilverstarNieuw lid Ik had een vraag is het mogelijk dat elke rij
een aparte delete link kan plaatsen
bijv.

Id1 kolom1 kolom 2 Delete
Id2 kolom1 kolom 2 Delete
Id3 kolom1 kolom 2 Delete

En als ik nou bijv. op delete duw in de rij van ID2 dat die dan alleen ID2 delete en niet ze allemaal

toevoegen.php
  1. <?php
  2. mysql_connect("rdbms.strato.de", "...", "...");
  3. mysql_select_db("...");
  4.  
  5. if(isset($_POST['verzenden']))
  6.  
  7. {
  8. $sVoornaam = addslashes($_POST['voornaam']);
  9. $sArtiest = addslashes($_POST['artiest']);
  10. $sVerzoek = addslashes($_POST['verzoek']);
  11. $ip = $_SERVER['REMOTE_ADDR'];
  12. $tijd=date("H:i:s");
  13.  
  14. mysql_query($insert_ip);
  15. mysql_query("INSERT INTO verzoek (voornaam, artiest, verzoek,tijd,REMOTE_ADDR ) VALUES ('".$sVoornaam."', '".$sArtiest."', '".$sVerzoek."','".$tijd."','".$ip."')") or die (mysql_error());
  16.  
  17. echo 'Je verzoekje is Succesvol verstuurd';
  18. }
  19. else
  20. {
  21. ?>
  22.  
  23. <form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  24. U Naam <input type="text" name="voornaam"><br />
  25. Artiest - Titel <input type="text" name="artiest"><br />
  26. Verzoek is bestemd voor <textarea name="verzoek" rows=10 cols=50></textarea>
  27. <input type="submit" name="verzenden" value="verzenden">
  28. </form>
  29.  
  30. <?
  31. }
  32. ?>


weergeven.php

  1. <?php
  2. mysql_connect("...", "...", "...");
  3. mysql_select_db("...");
  4. ?>
  5.  
  6. <TABLE BORDER="1">
  7. <tr>
  8. <TH>ID</TH>
  9. <TH>Ip</TH>
  10. <TH>Tijd</TH>
  11. <TH>Verzoek is van:</TH>
  12. <TH>Aangevraagde nummer:</TH>
  13. <TH>Is bestemd voor:</TH>
  14. </tr>
  15.  
  16. <?php
  17.  
  18. $res = mysql_query("SELECT * FROM verzoek ORDER BY `id` ASC");
  19. while ($arr = mysql_fetch_assoc($res)) {
  20. echo '<tr>
  21. <td>'.$arr["id"]." ".'</td>
  22. <td>'.$arr["REMOTE_ADDR"]." ".'</td>
  23. <td>'.$arr["tijd"]." ".'</td>
  24. <td>'.$arr["voornaam"]." ".'</td>
  25. <td>'.$arr["artiest"]." ".'</td>
  26. <td>'.$arr["verzoek"]." ".'</td>
  27. </tr>';
  28. }
  29. {
  30. echo '</TABLE>';
  31. }
  32.  
  33. ?>


Ik hoop dat jullie het begrijpen en me kunnen helpen

15 antwoorden

Gesponsorde links
Offline Martijn - 31/01/2008 22:39
Avatar van Martijn Crew PHP je maakt een zooi radiobuttons, met dezelfde name en value 1,2,3, etc
je doet vervolgens als je op de knop drukt
DELETE from tabel WHERE id=$_POST['knopje']


Ik wil je niet beledigen ofzo, maar wij zijn hier je hele script aan het maken, Je stelt opzich best simpele vragen die met een beetje google en php.net best op te lossen zijn 
Offline zilverstar - 31/01/2008 22:54 (laatste wijziging 01/02/2008 10:25)
Avatar van zilverstar Nieuw lid Haha oke ik snap het minder vragen en meer zoeken  
ik ga het een proberen met radio buttons

EDIT:

Pff lukt niet hij maakt niet zelf de buttons/links aan voor die rij te verwijderen  

EDIT

Ik heb het bijna alleen nog 1 klein probleemje
hoe krijg ik deze button in mijn table
button:
  1. <td><input type="button" value="Verwijderen" onclick="location.href='verwijderen.php?id=<?php echo $arr['id']; ?>';" /></td>



en die moet hier der bij
weergeven.php

  1. <?php
  2. mysql_connect("...", "...", "...");
  3. ?>
  4. <TABLE BORDER="1">
  5. <tr>
  6. <TH>ID</TH>
  7. <TH>Ip</TH>
  8. <TH>Tijd</TH>
  9. <TH>Verzoek is van:</TH>
  10. <TH>Aangevraagde nummer:</TH>
  11. <TH>Is bestemd voor:</TH>
  12. <TH>Verwerk</TH>
  13. </tr>
  14. <?php
  15. $res = mysql_query("SELECT * FROM verzoek ORDER BY `id` ASC");
  16. while ($arr = mysql_fetch_assoc($res)) {
  17. echo '<tr>
  18. <td>'.$arr["id"]." ".'</td>
  19. <td>'.$arr["REMOTE_ADDR"]." ".'</td>
  20. <td>'.$arr["tijd"]." ".'</td>
  21. <td>'.$arr["voornaam"]." ".'</td>
  22. <td>'.$arr["artiest"]." ".'</td>
  23. <td>'.$arr["verzoek"]." ".'</td>
  24. <td>HIER DIE BUTTON</td>
  25. </tr>';
  26. }
  27. {
  28. echo '</TABLE>';
  29. }
  30. ?>
  31.  
  32.  
  33. </td>
Offline Martijn - 01/02/2008 11:03 (laatste wijziging 01/02/2008 11:19)
Avatar van Martijn Crew PHP je moet niet button maken, maar type=radio. Dan word dat een rondje waarmee je 1,2,3 of iets anders selecteerd,

radio buttons

submit geef je als name=knop (of iets anders)
en dan doe je
if( isset( $_POST['knop'] ) ){echo"je drukte op knop ".$_POST['radiobutton']." !";}
Offline zilverstar - 01/02/2008 12:10
Avatar van zilverstar Nieuw lid Jah maar dan heb ik die knop nog niet in het tabel staan hmmzzz...  
Offline Vincjenzo - 01/02/2008 12:36 (laatste wijziging 01/02/2008 12:37)
Avatar van Vincjenzo Nieuw lid Je had het inderdaad bijna.

  1. echo '<td><input type="button" value="Verwijderen" onclick="location.href=\'verwijderen.php?id='.$arr['id'].'\';"></td>';
Offline zilverstar - 01/02/2008 17:55
Avatar van zilverstar Nieuw lid hmzz... werkt nog niet volgend mij klopt er iets niet bij verwijderen.php


verwijderen.php
  1. <?
  2. if( isset($_GET['id']) && is_integer($_GET['id']) ) {
  3.  
  4. //mysql connect
  5.  
  6. mysql_query("DELETE * FROM verzoek WHERE id=" . (int) $_GET['id']) or die(mysql_error());
  7.  
  8. }
  9.  
  10. header("Refresh:0;URL=weergeven.php");
  11. ?>
Offline Koen - 01/02/2008 17:57 (laatste wijziging 01/02/2008 17:58)
Avatar van Koen PHP expert
  1. mysql_query("DELETE * FROM `verzoek` WHERE `id` = " . intval($_GET['id'])) or die(mysql_error());

en dit?


Edit:
Intval & (int) hoeven trouwens helemaal niet, omdat je erboven controleert of het een integer is.
Offline zilverstar - 01/02/2008 18:00 (laatste wijziging 01/02/2008 18:56)
Avatar van zilverstar Nieuw lid Okee danke ik ga ff proberen 

EDIT:

Werkt nog niet.. 
hier het scripts van weergeven nog een keer zo hoe die nu is

  1. <?php
  2. mysql_connect("...", "...", "...");
  3. mysql_select_db("...");
  4. ?>
  5.  
  6. <TABLE BORDER="1">
  7.  
  8. <tr>
  9. <TH>ID</TH>
  10. <TH>Ip</TH>
  11. <TH>Tijd</TH>
  12. <TH>Verzoek is van:</TH>
  13. <TH>Aangevraagde nummer:</TH>
  14. <TH>Is bestemd voor:</TH>
  15. <TH>Verwerk</TH>
  16. </tr>
  17.  
  18. <?php
  19. $res = mysql_query("SELECT * FROM verzoek ORDER BY `id` ASC");
  20. while ($arr = mysql_fetch_assoc($res)) {
  21. echo '<tr>
  22. <td>'.$arr["id"]." ".'</td>
  23. <td>'.$arr["REMOTE_ADDR"]." ".'</td>
  24. <td>'.$arr["tijd"]." ".'</td>
  25. <td>'.$arr["voornaam"]." ".'</td>
  26. <td>'.$arr["artiest"]." ".'</td>
  27. <td>'.$arr["verzoek"]." ".'</td>
  28. </tr>';
  29. }
  30. {
  31. echo '<td><input type="button" value="Verwijderen" onclick="location.href=\'verwijderen.php?id='.$arr['id'].'\';"></td>';
  32. }
  33. {
  34. echo '</TABLE>';
  35. }
  36. ?>
  37. </td>



Verwijderen.php
  1. <?
  2. if( isset($_GET['id']) && is_integer($_GET['id']) ) {
  3.  
  4. //mysql connect
  5.  
  6. mysql_query("DELETE * FROM `verzoek` WHERE `id` = " . intval($_GET['id'])) or die(mysql_error());
  7.  
  8. }
  9.  
  10. header("Refresh:0;URL=weergeven.php"); //terugkeren
  11. ?>


Volgens mij hoort die zo te werken ik weer niet wat ik fout doe

http://www.radiozilverstar.nl/toevoegen.php
http://www.radiozilverstar.nl/weergeven.php

Hij voegt gewoon toe en alle berichten komen aan
de Verwijder button staat der ook maar niet
in de laatste kolom onder 'Verwerk'
En als ik verwijderen duw refresht die wel de pagina maar
verwijdert geen hele regel

Hoop dat het duidelijk is en iemand me ermee kan helpen
Offline Vincjenzo - 02/02/2008 13:31 (laatste wijziging 02/02/2008 13:33)
Avatar van Vincjenzo Nieuw lid Ok, de echo in je while van weergeven.php:

  1. <tr>
  2. <td>'.$arr["id"]." ".'</td>
  3. <td>'.$arr["REMOTE_ADDR"]." ".'</td>
  4. <td>'.$arr["tijd"]." ".'</td>
  5. <td>'.$arr["voornaam"]." ".'</td>
  6. <td>'.$arr["artiest"]." ".'</td>
  7. <td>'.$arr["verzoek"]." ".'</td>
  8. <td><input type="button" value="Verwijderen" onclick="location.href=\'verwijderen.php?id='.$arr['id'].'\'"></td>
  9. </tr>';


De is_integer werkt naar mij weten niet op een $_GET['id'] daar moet je volgens mij is_numeric voor gebruiken. Of je doet een int_val zoals sliphead zei.
Offline DMM - 02/02/2008 17:57 (laatste wijziging 02/02/2008 17:58)
Avatar van DMM PHP beginner
  1. <?php
  2. // ctype_digit is beter dan is_numeric
  3. if(isset($_GET['id']) && ctype_digit($_GET['id'])) {
  4.  
  5. // nogmaals filteren...
  6. $id = mysql_real_escape_string($_GET['id']);
  7.  
  8. // query uitvoeren (vergeet de connectie niet!)
  9. mysql_query("DELETE FROM verzoek WHERE id = '".$id."' ") or die(mysql_error());
  10. header("Location: weergeven.php"); //terugkeren
  11. } else {
  12. echo 'Jij bent een mogelijke hacker, want het id is fout.';
  13. }
  14. ?>
Offline zilverstar - 03/02/2008 10:43 (laatste wijziging 03/02/2008 11:42)
Avatar van zilverstar Nieuw lid oke thnx ik ga het meteen proberen..

Edit:
@Vincjenzo
Thnxx die knop staat nu op de goeie plek

Maar doet het nog niet hij geeft nu 3 warnings aan 

ik heb dit nou bij verwijderen.php

verwijderen.php:

  1. <?php
  2. // ctype_digit is beter dan is_numeric
  3. if(isset($_GET['id']) && ctype_digit($_GET['id'])) {
  4.  
  5. // nogmaals filteren...
  6. $id = mysql_real_escape_string($_GET['id']);
  7.  
  8. // mysql connect en select
  9. mysql_connect("rdbms.strato.de", "...", "...");
  10.  
  11. //verwijderen
  12. mysql_query("DELETE FROM verzoek WHERE id = '".$id."' ") or die(mysql_error());
  13. header("Location: weergeven.php");
  14. //terugkeren
  15. }
  16. else
  17. {
  18. echo 'Jij bent een mogelijke hacker, want het id is fout.';
  19. }
  20. ?>



En dit staat bij weergeven.php

weergeven.php
  1. <?php
  2. mysql_connect("rdbms.strato.de", "...", "...");
  3. ?>
  4.  
  5. <TABLE BORDER="1">
  6. <tr>
  7. <TH>ID</TH>
  8. <TH>Ip</TH>
  9. <TH>Tijd</TH>
  10. <TH>Verzoek is van:</TH>
  11. <TH>Aangevraagde nummer:</TH>
  12. <TH>Is bestemd voor:</TH>
  13. <TH>Verwerk</TH>
  14. </tr>
  15.  
  16. <?php
  17. $res = mysql_query("SELECT * FROM verzoek ORDER BY `id` ASC");
  18. while ($arr = mysql_fetch_assoc($res)) {
  19. echo '<tr>
  20. <td>'.$arr["id"]." ".'</td>
  21. <td>'.$arr["REMOTE_ADDR"]." ".'</td>
  22. <td>'.$arr["tijd"]." ".'</td>
  23. <td>'.$arr["voornaam"]." ".'</td>
  24. <td>'.$arr["artiest"]." ".'</td>
  25. <td>'.$arr["verzoek"]." ".'</td>
  26. <td><input type="button" value="Verwijderen" onclick="location.href=\'verwijderen.php?id='.$arr['id'].'\'"></td>
  27. </tr>';
  28. }
  29.  
  30. {
  31. echo '</TABLE>';
  32. }
  33. ?>




ik krijg deze warnings...

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /mnt/web4/11/99/51650199/htdocs/verwijderen.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/web4/11/99/51650199/htdocs/verwijderen.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at /mnt/web4/11/99/51650199/htdocs/verwijderen.php:6) in /mnt/web4/11/99/51650199/htdocs/verwijderen.php on line 14
Offline Bart - 03/02/2008 11:42
Avatar van Bart PHP expert Hij kan niet connecten naar de database, controleer je connectie.
En de laatste error is dat de headers already sent.. Kijk in de FAQ, makkelijk op te lossen.
Offline zilverstar - 03/02/2008 11:48
Avatar van zilverstar Nieuw lid Nu heb ik de connectie nageken heb de wachtwoorden enzo opnieuw ingetypt.
ik krijg nu geen errors meer, Maar er gebeurt niks de pagina
wordt alleen gerefresht 
Offline Vincjenzo - 03/02/2008 17:12 (laatste wijziging 03/02/2008 17:13)
Avatar van Vincjenzo Nieuw lid De eerste twee waarschuwingen komen volgens mij door verkeerd gebruik van mysql_real_escape_string.
De derde warning, de header redirect komt doordat je output al is begonnen (namelijk de eerste twee warnings)
Dit zal denk ik werken:
  1. <?php
  2. // ctype_digit is beter dan is_numeric
  3. if(isset($_GET['id']) && ctype_digit($_GET['id'])) {
  4.  
  5. // mysql connect en select
  6. $link = mysql_connect("rdbms.strato.de", "...", "...");
  7.  
  8. // nogmaals filteren...
  9. $id = mysql_real_escape_string($_GET['id'], $link);
  10.  
  11. //verwijderen
  12. mysql_query("DELETE FROM verzoek WHERE id = '".$id."' ") or die(mysql_error());
  13. header("Location: weergeven.php");
  14. //terugkeren
  15. }
  16. else
  17. {
  18. echo 'Jij bent een mogelijke hacker, want het id is fout.';
  19. }
  20. ?>

mysql_real_escape_string, tweede parameter uitleg:
Citaat:
The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Aangezien er nog geen connectie was voordat de functie werd aangeroepen kreeg je de warnings..
Offline zilverstar - 03/02/2008 17:44
Avatar van zilverstar Nieuw lid Thnxx... je bent geweldig. Ik heb dit zeker al op 5 forums gevraagt maar hier kreeg ik altijd antwoord en kwam steeds dichter bij. en niet allaan dat de uitleg was ook super

hartelijk dank

mvgr pascal
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.662s