[php] Verwijder probleem

Pagina: 1
Acties:
  • 273 views

Acties:
  • 0 Henk 'm!

  • ultimatia
  • Registratie: November 2007
  • Laatst online: 22-06 22:00
Hallo mensen,

Ik zit met het volgende probleem;
In een soort van admin schermpje kan ik cd`s o.a wijzigen en verwijderen.
Nu krijg ik bij verwijderen wel een waarschuwingsmelding als ik zeker weet als ik het wil verwijderen, maar waneer ik hier daadwerkelijk voor kies wordt er niets verwijderd.

De twee betreffende php bestanden zijn de volgende;
Admin_CD
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php 
    
    include ('php_header.php');
//  include ('beveiliging.php');
    include ('html_header.php');

?>  

    <script language="Javascript">
    function submit_cd(CD_ID, type) {
       
      document.forms.cd.CD_ID.value = CD_ID;
      if(type == 'verwijderen') {
        document.forms.cd.action = 'cd_verwijderen.php';
        document.forms.cd.submit();
      }
      if(type == 'wijzigen') {
        document.forms.cd.action = 'cd_wijzigen.php';
        document.forms.cd.submit();
      }
      
      
      return true;
    }
    </script>
    
    <div id="content">
    
    <p> <a href="cd_toevoegen.php">klik hier om een cd toe te voegen.</a><br />
    
    
    <form method="post" action="cd.php" name="cd">
    <input type="hidden" name="CD_ID"/>
    <input type="hidden" name="type"/>
    </form>
    
    <?php
    
    $sql = "SELECT * 
            FROM cd_categorie, Categorie_per_cd, cd
            WHERE cd.cd_ID = Categorie_per_cd.cd_ID
             AND cd_categorie.CATEGORIE_ID = Categorie_per_cd.CATEGORIE_ID
             ORDER BY naam ASC"; 
            
    $resultaat  = mysql_query($sql); // voer SQL code uit
    
    if (mysql_num_rows($resultaat) > 0) {
    echo "<p>CD overzicht<br>";
    echo "<table border=1>";    
    echo "<tr><td class=\"kolom1\"><b>Bewerk</b></td><td class=\"kolom1\"><b>titel</b></td><td class=\"kolom1\"><b>artiest</b></td><td class=\"kolom1\"><b>verschijningsjaar</b></td><td class=\"kolom1\"><b>genre</b></td></tr>"; // bovenste regel
    while ($rij = mysql_fetch_array($resultaat)) 
    {
    echo "<tr>";
    
    echo "<td><a onclick='submitcd(". $rij['CD_ID'].",\"wijzigen\")' href=\"#\" >[wijzigen]</a><br>";
    echo "<a onclick='if (confirm(\"Weet u zeker dat u de cd " . $rij['Titel'] . " wilt verwijderen?\")) submitcd(". $rij[              'CD_ID'].",\"verwijderen\")' href=\"#\" >[verwijderen]</a><br>";
    echo "</td>";
    echo "<td>".$rij["Titel"]."</td>";
    echo "<td>".$rij["Artiest"]."</td>";
    echo "<td>".$rij["Verschijningsjaar"]."</td>";
    echo "<td>".$rij["Naam"]."</td>";
    
    echo "</tr>";
    }
    echo "</table>";
    }
    echo "<p><a href=\"cd_zoek.php\">Zoek een cd via een zoekwoord of categorie</a>";
    ?>
    </div>

<?php
    
    include ('html_footer.php');
    include ('php_footer.php');
    
?>


En CD_VERWIJDEREN
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

    include ('php_header.php');
//  include ('beveiliging.php');

    
        $query = "DELETE FROM cd WHERE CD_ID = ". $_POST['CD_ID'] ;
        $resultaat = mysql_query ( $query );
        $query = "DELETE FROM Categorie_per_cd WHERE CD_ID = ". $_POST['CD_ID'] ;
        $resultaat = mysql_query ( $query );

        header ('Location: admin_cd.php');
?>



<?php
    
        include ('php_footer.php');
        
?>


Ik kan geen fout ontdekken waar het hem in zit.

Ik hoop dat jullie me kunnen helpen
Bedankt!

Acties:
  • 0 Henk 'm!

  • japaveh
  • Registratie: Maart 2003
  • Laatst online: 20-09 20:47

japaveh

Jield BV

Ik zou zeggen: probeer eens de standaard debugging zoals het printen van query's etc. En oh, alsof het nog niet genoeg gezegd is: let ook goed op SQL injection...

Solo Database: Online electronic logbook and database system for research applications


Acties:
  • 0 Henk 'm!

  • ChessSpider
  • Registratie: Mei 2006
  • Laatst online: 01-08 19:01
Zet
error_reporting(E_ALL)
bovenaan het script, en suc6 met debuggen ;)

Acties:
  • 0 Henk 'm!

  • link0007
  • Registratie: Augustus 2006
  • Niet online
PHP:
1
 $query = "DELETE FROM cd WHERE CD_ID = ". $_POST['CD_ID'] ;

Wat nu als ik bij die post-data dit invul:
code:
1
1 OR 1=1--

?

;)

IF IF = THEN THEN THEN = ELSE ELSE ELSE = IF;


Acties:
  • 0 Henk 'm!

Verwijderd

CD_ID komt meerdere malen voor in je query door de * en daardoor krijgen deze waarden een andere naam dan CD_ID.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Sorry, maar het is niet de bedoeling dat je hier een lap code post en vervolgens verwacht dat wij voor je gaan debuggen. Dat mag je lekker zelf doen. ;) Hoe dat moet? Programming FAQ - Debuggen: hoe doe ik dat?

We willen je best helpen maar dan zul je eerst zelf eens gericht moeten gaan zoeken waar de fout ongeveer zit en alleen relevante code moeten posten. Dit is in elk geval niet de bedoeling en daarom gaat je topic ook dicht.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.