Gegevens invoeren in DB

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Unwanted Registrations

Unwanted Registrations

20/07/2009 18:02:00
Quote Anchor link
Hallo iedereen,

Ik heb wat hulp nodig bij het maken van een scriptje om gegevens in een MySQL database in te voeren. Het volgende script gebruik ik nu en krijg de volgende foutmelding:

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
<?php
session_start();
?>

<?php
//set $rootdir
$rootdir="../";

//Make a connection to your database, this is required!
require ($rootdir . "system/connect.inc.php");
?>

<?php
if (isset($_POST['submit'])){
    
    $computer=strip_tags($_POST['computer']);
    $merk=strip_tags($_POST['merk']);
    $model=strip_tags($_POST['model']);
    $processor=strip_tags($_POST['processor']);
    $mobo=strip_tags($_POST['mobo']);
    $ram=strip_tags($_POST['ram']);
    $hdd=strip_tags($_POST['hdd']);
    $am=strip_tags($_POST['am']); //am = afspeel media
    $video=strip_tags($_POST['video']);
    $geluid=strip_tags($_POST['geluid']);
    $usb=strip_tags($_POST['usb']);
    $voeding=strip_tags($_POST['voeding']);
    $overige=strip_tags($_POST['overige']);
    $opmerkingen=strip_tags($_POST['opmerkingen']);
    
    $sql="INSERT INTO specs (`computer`,`merk`,`model`,`processor`,`mobo`,`ram`,`hdd,`am`,`video`,`geluid`,`usb`,`voeding`,`overige`,`opmerkingen`) VALUES ('$computer','$merk','$model','$processor','$mobo','$ram','$hdd','$am','$video','$geluid','$usb','$voeding','$overige','$opmerkingen')";
    $sql = mysql_query($sql);
    if ($sql === false){
        
        echo "Er is een fout gevonden: <br /><br />";
        echo mysql_error();
    }
    }

?>

<?php
mysql_close();
?>


De foutmelding die ik daarbij krijg is:
Parse error: parse error in verwerken.php on line 37

Helaas kom ik er maar niet achter wat de fout is. Voor zover ik weet heb ik geen typfouten gemaakt. Ook de logs bieden geen uitkomst. Google heeft ook geen oplossing.

Alvast bedankt.
Gewijzigd op 01/01/1970 01:00:00 door Unwanted Registrations
 
PHP hulp

PHP hulp

15/05/2024 17:57:22
 
GaMer B

GaMer B

20/07/2009 18:16:00
Quote Anchor link
Wat is regel 37?
 
Unwanted Registrations

Unwanted Registrations

20/07/2009 18:26:00
Quote Anchor link
Regel 37 is het einde van PHP, dus "?>" :).
 
GaMer B

GaMer B

20/07/2009 18:29:00
Quote Anchor link
Zou je je hele code eens kunnen geven? Want hier zit, zover ik kan zien, geen fout in.
 
Unwanted Registrations

Unwanted Registrations

20/07/2009 18:31:00
Quote Anchor link
Ik weet het, dat is het vreemde juist... Ik heb ook al mijn MySQL database nagekeken en daar waren 0 records in gevestigd, dus hij slaat ook niets op ofzo :S.
 
GaMer B

GaMer B

20/07/2009 18:32:00
Quote Anchor link
Is dit al je code? Want de code hier is maar 30 regels en de error spreekt over regel 37 van verwerken.php.
 
Unwanted Registrations

Unwanted Registrations

20/07/2009 18:35:00
Quote Anchor link
Dit is al mijn code... :). Had bij de eerste wijziging een foutje gemaakt :). Nu staat hij er helemaal op :).
 
Mr.Ark

Mr.Ark

20/07/2009 18:42:00
Quote Anchor link
Zet error_reporting(E_ALL); bovenaan je pagina.

Je weet hoe veld controle werkt?

Om te kijken of er een formulier wordt gepost gebruiken we $_SERVER['REQUEST_METHOD'] == 'POST') .

Haal die backtics eens uit je query.

Je query is SQL injection gevoelig.

Waarom steeds php openen en sluiten?
 
GaMer B

GaMer B

20/07/2009 18:46:00
Quote Anchor link
Zo zou IK het doen:
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
<?php
session_start();

//set $rootdir
$rootdir = "../";

//Make a connection to your database, this is required!
require ($rootdir . "system/connect.inc.php");

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    
    foreach($_POST as $field)
    {

        $_POST[$field] = mysql_real_escape_string(strip_tags($_POST[$field]));
    }

    
    $sql  = "INSERT INTO specs (computer,merk,model,processor,mobo,ram,hdd,am,video,geluid,usb,voeding,overige,opmerkingen)";
    $sql .= "VALUES ('" . $_POST['computer'] . "',
                    '"
. $_POST['merk'] . "',
                    '"
. $_POST['model'] . "',
                    '"
. $_POST['processor'] . "',
                    '"
. $_POST['mobo'] . "',
                    '"
. $_POST['ram'] . "',
                    '"
. $_POST['hdd'] . "',
                    '"
. $_POST['am'] . "',
                    '"
. $_POST['video'] . "',
                    '"
. $_POST['geluid'] . "',
                    '"
. $_POST['usb'] . "',
                    '"
. $_POST['voeding'] . "',
                    '"
. $_POST['overige'] . "',
                    '"
. $_POST['opmerkingen'] . "')";
    $res = mysql_query($sql);
    if($res === false)
    {

        
        echo "Er is een fout gevonden: <br /><br />";
        echo mysql_error();
    }
}


mysql_close();
?>


Verder zie ik geen fouten...
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Unwanted Registrations

Unwanted Registrations

20/07/2009 18:57:00
Quote Anchor link
Hmm, ik heb geen verstand van PHP. Ik ben er net mee begonnen. Waar ik veel problemen mee heb is de structuur van het programmeren. Ook de ontwetendheid speelt een rol. Ik heb een boek uit 2004 dat nu 5 jaar oud is en er zal vast en zeker al een heleboel veranderd zijn.

@GaMer13: ook jou scriptje werkt niet... Geen fouten maar ook geen records in de database.

@ark: Zoals ik al zei, net begonnen... Echter de website die ik nu probeer te maken blijft intern. Dus die komt niet op internet :).
 
- SanThe -

- SanThe -

20/07/2009 19:34:00
Quote Anchor link
Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
 
Unwanted Registrations

Unwanted Registrations

20/07/2009 19:52:00
Quote Anchor link
Geen fouten maar nog altijd geen records :S

In ieder geval alvast dank je wel voor de hulp :).
 
- SanThe -

- SanThe -

20/07/2009 19:58:00
Quote Anchor link
Geef de if-jes eens een else met een echo zodat je kunt zien of ze wel goed werken.
 
Unwanted Registrations

Unwanted Registrations

20/07/2009 20:04:00
Quote Anchor link
Ze werken prima. Ik heb een "else" geprobeerd, onderaan, maar ik krijg niet de echo dus het werkt wel... Alleen raar dat de database niet gevult word :S
 
Mr.Ark

Mr.Ark

20/07/2009 20:08:00
Quote Anchor link
Maak eerst eens een veld controle voor elk veld.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?PHP

if(!empty($_POST['blaat']))
{

    /* Hé !!!!! het veld is niet leeg. */
}
else
{
    /* Veld is leeg */
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
 
Unwanted Registrations

Unwanted Registrations

20/07/2009 20:28:00
Quote Anchor link
We komen ergens :O... Ik krijg nu deze foutmelding:

Notice: Undefined index: Desktop in verwerken.php on line 25

En nog een foutmelding, misschien dat dit te maken heeft met de database:

Duplicate entry '0' for key 'PRIMARY'
Gewijzigd op 01/01/1970 01:00:00 door Unwanted Registrations
 
- SanThe -

- SanThe -

20/07/2009 20:34:00
Quote Anchor link
Je hoort errors te krijgen.

Dit is fout:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    foreach($_POST as $field)
    {

        $_POST[$field] = mysql_real_escape_string(strip_tags($_POST[$field]));
    }

?>

Moet zo zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    foreach($_POST as $key => $field)
    {

        $_POST[$key] = mysql_real_escape_string(strip_tags($_POST[$key]));
    }

?>
 
Unwanted Registrations

Unwanted Registrations

20/07/2009 20:39:00
Quote Anchor link
Oke, dat ga ik uitproberen... :). En ik heb wat goed nieuws... :O. Er is een record in de database! Alleen nu snap ik waarom die error er was van MySQL... Hij probeerde een rij met id 0 nogmaals toe te voegen... Dus even kijken of dit probleem blijft bestaan :)
 
Unwanted Registrations

Unwanted Registrations

20/07/2009 21:08:00
Quote Anchor link
Deze vraag mag ik, gezien de tekst pas morgen stellen:)
Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Unwanted Registrations
 
- SanThe -

- SanThe -

20/07/2009 21:12:00
Quote Anchor link
Staat die wel op auto_increment?
 
Mr.Ark

Mr.Ark

20/07/2009 21:17:00
Quote Anchor link
Zou handig zijn als je ook even je mysql tabel kan posten.
 

Pagina: 1 2 volgende »



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.