[php] Wijzigt gegevens in de database niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dimitri Geers

Dimitri Geers

15/06/2014 23:21:30
Quote Anchor link
Beste,

Ik heb de onderstaande code geschreven om gegevens in mijn database te kunnen wijzigen.
Helaas werkt deze niet.
Als ik zo de code bekijk snap ik ook niet wat ik heb fout gedaan.
Hopelijk kan iemand mij helpen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
77
78
79
<?php
    
    mysql_query("
      
        INSERT INTO tbl_log VALUE ('','"
.$_SESSION['username']."',NOW(),'Menu volgorde aan het wijzigen')
      
    "
);
    
    $submit = $_POST['submit'];
    
    $order = $_POST['order'];

    if($submit){
    
        if($order){
        
            mysql_query("
                
                UPDATE tbl_menu SET volgorde='"
.$order."' WHERE id='".$MenuInfo['id']."'
                
            "
) or die(mysql_error());
            
            mysql_query("
      
                INSERT INTO tbl_log VALUE ('','"
.$_SESSION['username']."',NOW(),'Heeft de gegevens van ".$titel." gewijzigd')
      
            "
);
            
            echo "<script> window.location='index.php?pagina=menu&msg=18' </script>";
        
        }

        else
            echo "<script> window.location='index.php?pagina=menu-wijzigen&err=4&id=".$id."' </script>";
            
    }


?>


<h1>Volgorde wijzigen</h1><br />

<form action ="index.php?pagina=menu-volgorde" method="POST">

    <table border="0" width="100%">
        
        <?php
            
            $MenuId
= mysql_query("SELECT * FROM tbl_menu ORDER BY volgorde") or die(mysql_error());
                
            while($MenuInfo = mysql_fetch_assoc($MenuId)){
            
                echo "
                    
                <tr>

                    <td width='20%'><input type='text' name='order' value='"
.$MenuInfo['volgorde']."' style='width:100%;' /></td>
                    <td width='80%'>"
.$MenuInfo['titel']."</td>
                    
                </tr>
                    
                "
;
                
            }

            
        ?>

    
    </table>
    
    <table border="0" width="100%">
    
        <tr>
            
            <td></td>
            <td><input type="submit" name="submit" value="Wijzig" /></td>
        
        </tr>
    
    </table>

</form>
 
PHP hulp

PHP hulp

08/11/2024 19:17:00
 
- Ariën  -
Beheerder

- Ariën -

15/06/2014 23:49:28
Quote Anchor link
- Controleer met if($_SERVER['REQUEST_METHOD']=="POST") { of een formulier verstuurd is, en niet via een veld
- Variabelen overschrijven op lijn 9 en 11 is onnodig. Je kan deze $_POST variabelen ook direct in je query gebruiken.
- Gebruik bij voorkeur de mysqli-functies, omdat de mysql()-functies gedateerd zijn
- Beveilig je $_POST ($_GET en $_COOKIE) met mysqli_real_escape_string() tegen SQL-Injection
- Zorg voor goede foutafhandeling op je mysqli_query(), en controleer of deze FALSE is, en toon dan een error met mysqli_error(). (liefst niet zichtbaar voor jan en alleman)
Gewijzigd op 15/06/2014 23:49:40 door - Ariën -
 
Erwin H

Erwin H

15/06/2014 23:54:26
Quote Anchor link
Waar komt de variabele $MenuInfo['id'] vandaan op regel 19?
 
Ivo P

Ivo P

16/06/2014 07:11:28
Quote Anchor link
En $titel en $id een paar regels na de update query?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.