problemen met crud
zou iemand even hier een kijk je naar willen nemen
http://rapidshare.com/files/436307662/site.rar
database naam : werkzaamheden
Wat is net het probleem? Meer info graag + als het kan de relevante code van het probleem even op het forum zetten.
Een crud waarvan?
het gaat er over dat je je huiswerk in
Gewijzigd op 13/12/2010 18:44:03 door Bas IJzelendoorn
en kan je de relevante code hier plaatsen
nu krijg je een heel website
en ergens in bv regel 12 in huppeldepup.php zit de fout
Code (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
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
<?php
// Maken van verbinding
// try
// {
$db = mysql_connect("localhost", "root", "");
//$db = new PDO('mysql:host=localhost;dbname=werkzaamheden','root','');
mysql_select_db("werkzaamheden");
// }
//catch(PDOException $e) {
// echo $e->getMessage();
// }
// De SQL opdracht
$sql = 'SELECT * FROM huiswerk';
$resultaat = mysql_query($sql) or die(mysql_error());
// De HTML-tabel opbouwen
echo '<table border= 1px>';
//foreach($resultaat as $row)
while($row = mysql_fetch_array($resultaat))
{
echo '<tr>';
$nummer = $row['werkzaamheden'];
echo '<td>'.$row['nummer'].'</td>';
echo '<td>'.$row['begin_datum'].'</td>';
echo '<td>'.$row['inlever_datum'].'</td>';
echo '<td>'.$row['vakken'].'</td>';
echo '<td>'.$row['titel'].'</td>';
echo '<td>'.$row['beschrijving'].'</td>';
echo '<td>'.$row['opdrachtKlaar'].'</td>';
echo "<td><form action='wijzigen.php'method='post'>
<input type='hidden' name='verstopt' value=$nummer>
<input type='submit' name='wijzig' value='wijzig'>
</form></td>";
echo "<td><form action='verwijderen.php'method='post'>
<input type='hidden' name='verstopt' value=$nummer>
<input type='submit' name='verwijder'value='verwijder'></form></td>";
echo '</tr>';
}
echo '</table>';
// Sluiten van verbinding
$db = NULL;
?>
// Maken van verbinding
// try
// {
$db = mysql_connect("localhost", "root", "");
//$db = new PDO('mysql:host=localhost;dbname=werkzaamheden','root','');
mysql_select_db("werkzaamheden");
// }
//catch(PDOException $e) {
// echo $e->getMessage();
// }
// De SQL opdracht
$sql = 'SELECT * FROM huiswerk';
$resultaat = mysql_query($sql) or die(mysql_error());
// De HTML-tabel opbouwen
echo '<table border= 1px>';
//foreach($resultaat as $row)
while($row = mysql_fetch_array($resultaat))
{
echo '<tr>';
$nummer = $row['werkzaamheden'];
echo '<td>'.$row['nummer'].'</td>';
echo '<td>'.$row['begin_datum'].'</td>';
echo '<td>'.$row['inlever_datum'].'</td>';
echo '<td>'.$row['vakken'].'</td>';
echo '<td>'.$row['titel'].'</td>';
echo '<td>'.$row['beschrijving'].'</td>';
echo '<td>'.$row['opdrachtKlaar'].'</td>';
echo "<td><form action='wijzigen.php'method='post'>
<input type='hidden' name='verstopt' value=$nummer>
<input type='submit' name='wijzig' value='wijzig'>
</form></td>";
echo "<td><form action='verwijderen.php'method='post'>
<input type='hidden' name='verstopt' value=$nummer>
<input type='submit' name='verwijder'value='verwijder'></form></td>";
echo '</tr>';
}
echo '</table>';
// Sluiten van verbinding
$db = NULL;
?>
dit is verwijderen
Code (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
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
<?php
// Maken van verbinding
try
{
$db = new PDO('mysql:host=localhost;dbname=werkzaamheden','root','');
}
catch(PDOException $e)
{
echo $e->getMessage();
}
// De SQL opdracht
// Hier wordt de klant geselecteerd om de gegevens op
// te halen die je wilt verwijderen. Het nummer zit
// in $_POST[verstopt]
$sql = "SELECT * FROM huiswerk WHERE nummer = '".$_POST['verstopt']."'";
$resultaat = $db->query($sql);
foreach($resultaat as $row)
{
echo '<p>';
$nummer = $row['nummer'];
echo 'nummer: '.$row['nummer'].'<br>';
echo 'begin datum: '.$row['begin_datum'].'<br>';
echo 'inlever datum: '.$row['inlever_datum'].'<br>';
echo 'vakken: '.$row['vakken'].'<br>';
echo 'titel: '.$row['titel'].'<br>';
echo 'beschrijving: '.$row['beschrijving'].'<br>';
echo 'opdrachtKlaar: '.$row['opdrachtKlaar'].'<br>';
echo '</p>';
}
echo "<p>
<form action='definitiefverwijderen.php'method='post'>
Weet u zeker dat u dit wilt verwijderen?
<input type='hidden' name='nummer' value=$nummer>
<input type='submit' name='verwijderja' value='Ja'>
</form></p>";
echo "<p><form action='index.php' method='post'>
<input type='submit' name='verwijdernee' value='Terug'>
</form></p>";
// Sluiten van verbinding
$db = NULL;
?>
// Maken van verbinding
try
{
$db = new PDO('mysql:host=localhost;dbname=werkzaamheden','root','');
}
catch(PDOException $e)
{
echo $e->getMessage();
}
// De SQL opdracht
// Hier wordt de klant geselecteerd om de gegevens op
// te halen die je wilt verwijderen. Het nummer zit
// in $_POST[verstopt]
$sql = "SELECT * FROM huiswerk WHERE nummer = '".$_POST['verstopt']."'";
$resultaat = $db->query($sql);
foreach($resultaat as $row)
{
echo '<p>';
$nummer = $row['nummer'];
echo 'nummer: '.$row['nummer'].'<br>';
echo 'begin datum: '.$row['begin_datum'].'<br>';
echo 'inlever datum: '.$row['inlever_datum'].'<br>';
echo 'vakken: '.$row['vakken'].'<br>';
echo 'titel: '.$row['titel'].'<br>';
echo 'beschrijving: '.$row['beschrijving'].'<br>';
echo 'opdrachtKlaar: '.$row['opdrachtKlaar'].'<br>';
echo '</p>';
}
echo "<p>
<form action='definitiefverwijderen.php'method='post'>
Weet u zeker dat u dit wilt verwijderen?
<input type='hidden' name='nummer' value=$nummer>
<input type='submit' name='verwijderja' value='Ja'>
</form></p>";
echo "<p><form action='index.php' method='post'>
<input type='submit' name='verwijdernee' value='Terug'>
</form></p>";
// Sluiten van verbinding
$db = NULL;
?>
definitief verwijder
Code (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
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
<?php
// Maken van verbinding
try
{
$db = new PDO('mysql:host=localhost;dbname=werkzaamheden','root','');
}
catch(PDOException $e)
{
echo $e->getMessage();
}
// Hier wordt de opdracht geselecteerd om de gegevens op
// te halen die je wilt verwijderen
$sql = "SELECT * FROM huiswerk WHERE nummer = '".$_POST['nummer']."'";
$resultaat = $db->query($sql);
foreach($resultaat as $row)
{
echo '<p>';
echo 'nummer: '.$row['nummer'].'<br>';
echo 'begin_datum: '.$row['begin_datum'].'<br>';
echo 'inlever_datum: '.$row['inlever_datum'].'<br>';
echo 'vakken: '.$row['vakken'].'<br>';
echo 'titel: '.$row['titel'].'<br>';
echo 'beschrijving: '.$row['beschrijving'].'<br>';
echo 'opdrachtklaar: '.$row['opdrachtKlaar'].'<br>';
echo '</p>';
}
$sql = "DELETE FROM huiswerk WHERE nummer ='".$_POST['nummer']."'";
$resultaat = $db->exec($sql);
echo "<p>is nu verwijderd!</p>";
echo "<p><form action='index.php' method='post'> </p>
<input type='submit' name='verwijdernee' value='Terug'>
</form></p>";
// Sluiten van verbinding
$db = NULL;
?>
// Maken van verbinding
try
{
$db = new PDO('mysql:host=localhost;dbname=werkzaamheden','root','');
}
catch(PDOException $e)
{
echo $e->getMessage();
}
// Hier wordt de opdracht geselecteerd om de gegevens op
// te halen die je wilt verwijderen
$sql = "SELECT * FROM huiswerk WHERE nummer = '".$_POST['nummer']."'";
$resultaat = $db->query($sql);
foreach($resultaat as $row)
{
echo '<p>';
echo 'nummer: '.$row['nummer'].'<br>';
echo 'begin_datum: '.$row['begin_datum'].'<br>';
echo 'inlever_datum: '.$row['inlever_datum'].'<br>';
echo 'vakken: '.$row['vakken'].'<br>';
echo 'titel: '.$row['titel'].'<br>';
echo 'beschrijving: '.$row['beschrijving'].'<br>';
echo 'opdrachtklaar: '.$row['opdrachtKlaar'].'<br>';
echo '</p>';
}
$sql = "DELETE FROM huiswerk WHERE nummer ='".$_POST['nummer']."'";
$resultaat = $db->exec($sql);
echo "<p>is nu verwijderd!</p>";
echo "<p><form action='index.php' method='post'> </p>
<input type='submit' name='verwijdernee' value='Terug'>
</form></p>";
// Sluiten van verbinding
$db = NULL;
?>
Ik weet niet wat jou probleem is maar je script is sql-injection lek.
Wie deze logica bedacht heeft zal z'n leven lang achter de feiten aanlopen. 1 stap vooruit betekent dan 3 stappen terug.
heb nu al best wat fouten er uit kunnen halen alleen krijg nog steeds fouten bij foreach($resultaat as $row) en $resultaat = $db->query($sql);
Het resultaat van een mysql_query geeft je een recource, niet een array.
Dito voor de pdo versie.
Je moet die recource fetchen om er een array uit te halen.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
// ...
$resultaat = $db->query($sql);
while ($row = $resultaat->fetch(PDO::FETCH_ASSOC)) {
// echo '<pre>'. print_r($row, 1) .'</pre>';
}
?>
// ...
$resultaat = $db->query($sql);
while ($row = $resultaat->fetch(PDO::FETCH_ASSOC)) {
// echo '<pre>'. print_r($row, 1) .'</pre>';
}
?>
Gewijzigd op 13/12/2010 17:03:09 door Kris Peeters
het is gelukt blijkt dat het $nummer niet goed door kwam toch bedankt !
Jasper DS op 11/12/2010 17:03:34:
Wat is net het probleem? Meer info graag + als het kan de relevante code van het probleem even op het forum zetten.
Geachte Jasper. Je kan hier een kijkje nemen voor relevante code https://github.com/lovemywife1/trying_crud_PDO.
Laat het necrokicken lekker achterwege.