Insert is gelukt alleen update, edit, delete

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lisa Brands

Lisa Brands

09/11/2015 21:05:43
Quote Anchor link
Hallo ik heb een scriptje getypt en kan alleen de edit en delete button niet werken ik weet niet wat ik fout doe!
De parameters heb ik al dus daar ligt het in ieder geval niet aan :P

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php

//DB connection string en functions
include "db.php";
include "f.php";

if(isset($_POST['btnSave'])){
    createRecord($_POST['voornaam'], $_POST['achternaam'], $_POST['leeftijd']);
}


if(isset($_POST['btnList'])){
    echo listRecords();
}



?>



<!doctype html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    
    <body>
        <h2>Insert new employee</h2>
        
        <table class="tablestyle">
            <form method="post" action="dbexamplea.php">
                <tr>
                    <td>Voornaam</td>
                    <td><input type="text" name="voornaam"></td>
                </tr>
                <tr>
                    <td>Achternaam</td>
                    <td><input type="text" name="achternaam"></td>
                </tr>
                <tr>
                    <td>Leeftijd</td>
                    <td><input type="text" name="leeftijd"></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" name="btnSave" value="Save">
                        <input type="submit" name="btnList" value="List Records">
                        <form method="post" action="<?php $_PHP_SELF ?>">
                    </td>
                </tr>                
            </form>
        </table>
    </body>

</html>

____________________________________________________

<?php

function listRecords()
{

    //Create database connection and check for errors
    if(!$con = mysqli_connect(HOSTNAME, USERNAME, PASSWORD, DBNAME)){
        die("Fout bij verbinden met database!");}
                          
    //Construct SQL query
    $sqlquery = "Select * from studenten";
    
    //Execute SQL query against MySQL DB and check for errors
    if(!$result = mysqli_query($con, $sqlquery)){
        die("Fout in query!");
    }

    
    //Create table structure
    $tmp = "<table class='tablestyle'>
                <tr>
                    <td>Voornaam</td>
                    <td>Achternaam</td>
                    <td>Leeftijd</td>
                    <td></td>
                    <td></td>
                </tr>"
;
    
    //Loop through array data (result set)
    while($row = mysqli_fetch_array($result)){        
        $tmp = $tmp . '<tr>
                            <td>'
. $row['voornaam'] . '</td>
                            <td>'
. $row['achternaam'] . '</td>
                            <td>'
. $row['leeftijd'] . '</td>
                            <td><input type="button" value="Edit" onclick="edit"></td>
                            <input name="delete" type="submit" id="delete" value="Delete">
                        </tr>'
;
    }

    
    //Close html table
    $tmp = $tmp . '</table>';
    return $tmp;
}

function
createRecord($v, $a, $l)
{

    //Create database connection and check for errors
    if(!$con = mysqli_connect(HOSTNAME, USERNAME, PASSWORD, DBNAME)){
        die("Fout bij verbinden met database!");
    }

    
    //Construct SQL query
    $sqlquery = "insert into studenten (voornaam, achternaam, leeftijd)
                 values('$v','$a','$l')"
;
    
    //Execute SQL query against MySQL DB and check for errors
    if(!$result = mysqli_query($con, $sqlquery)){
        die("Fout in query!");
    }

    
    //Done. Now show a confirmation
    echo "<script>alert('Record is succesvol opgeslagen!');</script>";
}

    //Delete records.

    $user = $_POST['user'];
    03
    $sql
= "DELETE FROM users WHERE user_name = $d";
    04
    $result
= mysql_query($sql);
?>

- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 09/11/2015 21:56:23 door - Ariën -
 
PHP hulp

PHP hulp

16/11/2024 06:44:51
 
- SanThe -

- SanThe -

09/11/2015 21:37:31
Quote Anchor link
Ik zie mysqli_query() en mysql_query() dus met en zonder i.

Zet error_reporting(E_ALL) aan.
 
- Ariën  -
Beheerder

- Ariën -

09/11/2015 21:57:43
Quote Anchor link
Verder is die() geen goede manier van foutafhandeling. Zie ook:
http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/
Let op: Pas alle functies wel aan naar MySQLi, en check eventueel de manual op MySQLi
 

09/11/2015 22:14:43
Quote Anchor link
Ik zie een heleboel foutjes.

Er staan 2 forms.
En ook onderaan zie ik tussen de variabelen cijfers staan.

Gaat niet helemaal goed volgens mij?
 
Obelix Idefix

Obelix Idefix

09/11/2015 22:44:51
Quote Anchor link
In je code open je 2x een form: op regel 29 en op regel 46.
Je sluit er maar 1 af (regel 49).

Lisa Brands op 09/11/2015 21:05:43:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="post" action="<?php $_PHP_SELF ?>">

Lijkt me sowieso niet goed. Dat moet, denk ik, $_SERVER['PHP_SELF'] zijn.
Daarbij opgemerkt dat het gebruik daarvan niet door iedereen wordt geadviseerd i.v.m. veiligheidsrisico's.

Lisa Brands op 09/11/2015 21:05:43:
Hallo ik heb een scriptje getypt en kan alleen de edit en delete button niet werken ik weet niet wat ik fout doe!

Waar zijn die buttons (en functies) dan?
 



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.