Fout in Insert

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pieter M

Pieter M

15/10/2010 14:14:14
Quote Anchor link
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
<?php

$host
= '~~';
$gebruiker = '~~';
$wachtwoord = '~~';
$databasenaam = 'groep3zoetermeer';

$db = mysql_connect( $host, $gebruiker, $wachtwoord );
mysql_select_db( $databasenaam );

$type = $_POST["soort"];
$naam = $_POST["naamopdracht"];
$locatie = $_POST["land"];
$stad = $_POST["stad"];
$studie = $_POST["studie"];
$beschrijving = $_POST["beschrijving"];
$date = "0";
$naambedr = "groep3";

$query = "INSERT INTO opdracht( NAAMOPDRACHT, BINNENLAND_BUITENLAND, PLAATSVANOPDRACHT, STAGEAFSTUDEER, BESCHRIJVING, PLAATSINGDATUMOPDRACHT,SOORTSTUDIE, NAAMBEDRIJF)
VALUES('"
.$naam."', '".$locatie."', '".$stad."', '".$type."', '".$beschrijving."', '".$date."', '".$studie."', '".$naambedr."')";

if(preg_match("/^[A-Za-z0-9\+._-]/",$naam)) // controleer of naam is ingevuld
{
    if(preg_match("/^[A-Za-z0-9\+._-]/",$stad)) // controleer of stad is ingevuld
    {
        if(preg_match("/^[A-Za-z0-9\+._-]/",$beschrijving)) // controleer of beschrijving is ingevuld
        {
            mysql_query( $query); // voeg opdracht aan de database toe
        }
        else
        {
            echo "Voer A.U.B. een beschrijving in.";
            echo "<A HREF= 'index2.php?page=plaats'>Terug</A>";
        }
    }

    else
    {
        echo "Voer A.U.B. een stad in.";
        echo "<A HREF= 'index2.php?page=plaats'>Terug</A>";
    }
}

else
{
    echo "Voer A.U.B. een naam in.";
    echo "<A HREF= 'index2.php?page=plaats'>Terug</A>";
}



?>


Ik ben met een groep bezig met het maken van een site waar je "opdrachten" kan plaatsen, maar hij zet dit niet in de database, wat klopt er niet?

en hoe werkt "date" precies?
(we hebben ook een auto_increment en weten niet precies hoe dat werkt)


we krijgen GEEN error te zien
Gewijzigd op 15/10/2010 14:15:03 door Pieter M
 
PHP hulp

PHP hulp

18/04/2024 12:16:04
 
- SanThe -

- SanThe -

15/10/2010 14:22:41
Quote Anchor link
Zet dit bovenin.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest
?>


Bouw foutafhandeling in voor de query's.

Script is lek => SQL-Injection.
Gewijzigd op 15/10/2010 14:23:25 door - SanThe -
 
Pieter M

Pieter M

15/10/2010 14:23:42
Quote Anchor link
wat betekent "script is lek => SQL-Injectin"?
 
- Dave -

- Dave -

15/10/2010 14:24:51
Quote Anchor link
http://nl.wikipedia.org/wiki/SQL-injectie

-) Je kijkt niet of er gepost wordt.
-) Date kan je gelijk in je query zetten als CURDATE()
-) Echo je query eens en kijk of dat klopt.
Gewijzigd op 15/10/2010 14:27:24 door - Dave -
 
Pieter M

Pieter M

15/10/2010 14:29:46
Quote Anchor link
We hebben het probleem opgelost, hij had de database wachtwoord verkeerd ingevult... bedankt SanThe =3

Toevoeging op 15/10/2010 15:07:47:

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
<?php

ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

$host = '~~';
$gebruiker = '~~';
$wachtwoord = '~~';
$databasenaam = 'groep3zoetermeer';

$db = mysql_connect( $host, $gebruiker, $wachtwoord );
mysql_select_db( $databasenaam );

$reactie = $_POST["reactie"];
$date = date("m-d-Y");
$student = "groep3";
$opdrachtnummer = "1";


$query = "INSERT INTO reacties(beschrijving, datumreactie, studentnummer, opdrachtnummer)
VALUES('"
.$reactie."', '".$date."', '".$student."', '".$opdrachtnummer."')";

        if(preg_match("/^[A-Za-z0-9\+._-]/",$reactie)) // controleer of reactie is ingevuld
        {
            mysql_query( $query); // voeg opdracht aan de database toe
            echo "reactie geplaatst"
            echo "<A HREF= 'index3.php'>Terug</A>";
        }

        else
        {
            echo "Voer A.U.B. een reactie in.";
            echo "<A HREF= 'index3.php'>Terug</A>";
        }



?>


nog een stukje code die het niet doet, wat klopt er niet? behalve dat het lek is
Gewijzigd op 15/10/2010 15:18:37 door Pieter M
 
- Dave -

- Dave -

15/10/2010 15:41:15
Quote Anchor link
-) Wat doet het niet?
-) Heb je mijn post gelezen?
 
Pieter M

Pieter M

15/10/2010 15:42:15
Quote Anchor link
er gebeurt helemaal niets, zelfs geen fout melding. Zelf niet als ik er een echo voor zet...

Toevoeging op 15/10/2010 15:48:14:

ik was mysql_close($db); vergeten, maar dat heb ik nu wel, en geen idee of het uitmaakt
 
- Mark -

- Mark -

15/10/2010 15:50:45
Quote Anchor link
mysql_close($db); is nergens voor nodig, Dat gebeurt van zelf ook.

Je krijgt geen foutmeldingen omdat je ze niet weergeeft. Bouw eens foutafhandeling in zodat je weet wat je script allemaal doet. Kijk eens op www.phptuts.nl daar staan een aantal nederlandse tutorials die wel handig voor je zijn.
Gewijzigd op 15/10/2010 15:58:11 door - Mark -
 
Pieter M

Pieter M

15/10/2010 15:59:30
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);


dat laat foutmeldingen zien, en ik weet al wat ik fout deed, fout in database
 
Teun Hesseling

Teun Hesseling

15/10/2010 16:07:10
Quote Anchor link
volgende mij zit de fout hier>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php   mysql_query( $query, $db );?>
weet het alleen niet zeker...
 



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.