php script probleem

Status
Niet open voor verdere reacties.

carlo boy7

Gebruiker
Lid geworden
28 feb 2009
Berichten
156
:(
Ik heb een probleem.
Ik heb een php inlog script geschreven.
Maar ik heb een fout
Parse error: parse error in C:\www\xampp\htdocs\web\gebruiker_registreren.php on line 48


$sql_aanmelding = "INSERT INTO' `gebruiker` (`voornaam`, `tussenvoegsel`, `achternaam`, `adres`,
is de 48ste regel
Kunnen jullie mij helpen

PHP:
    //***gebruikersnaam bestaat al***
 else{
        $sql_aanmelding = "INSERT INTO'  `gebruiker` (`voornaam`, `tussenvoegsel`, `achternaam`, `adres`, 

`postcode`, `woonplaats`, `gebruikersnaam`, `wachtwoord`) VALUES ('" . $_POST['voornaam'] . "', '". $_POST

['tussenvoegsel']. "', '". $_POST['achternaam']. "', '". $_POST['adres']. "', '". $_POST['postcode']. "', '". $_POST

['woonplaats']. "', '". $_POST['gebruikersnaam']. `','' . $_POST['wachtwoord']. "')";
        $sql_aanmelding;
        $verzenden = mysql_query($sql_aanmelding);
        echo "Beste ".$_POST['achternaam'].", uw registratie is voltooid, vanaf nu kunt u <a href="index.php">inloggen!</a>";
 
maak van"
PHP:
$sql_aanmelding = "INSERT INTO' `gebruiker` (`voornaam`, `tussenvoegsel`, `achternaam`, `adres`,
PHP:
$sql_aanmelding = "INSERT INTO' `gebruiker` (`voornaam`, `tussenvoegsel`, `achternaam`, `adres`, )"
 
Nee, dat moet je niet doen.

Je moet alleen de quote achter INTO weghalen.

En al die backticks (`) zijn volgens mij ook niet nodig, maar daar kan ik me in vergissen.

Mod: De knop "Aanpassen" is er niet voor niets ;)
 
Laatst bewerkt door een moderator:
hey

heb er even naar gekeken. :
PHP:
  //***gebruikersnaam bestaat al*** 
 else{ 
        $sql_aanmelding = "INSERT INTO  `gebruiker` (`voornaam`, `tussenvoegsel`, `achternaam`, `adres`,  

`postcode`, `woonplaats`, `gebruikersnaam`, `wachtwoord`) VALUES ('" . $_POST['voornaam'] . "', '". $_POST 

['tussenvoegsel']. "', '". $_POST['achternaam']. "', '". $_POST['adres']. "', '". $_POST['postcode']. "', '". $_POST 

['woonplaats']. "', '". $_POST['gebruikersnaam']. "','" . $_POST['wachtwoord']. "')"; 
       
        $verzenden = mysql_query($sql_aanmelding); 
        echo "Beste ".$_POST['achternaam'].", uw registratie is voltooid, vanaf nu kunt u <a href='index.php'>inloggen!</a>";

ik weet niet hoe de rest van je script eruit ziet maar voer je wel controle uit voor mysql injection etc? Deze code is vrij onveilig. je kan functies gebruiken zoals htmlspecialchars en http://nl3.php.net/function.mysql-real-escape-string

Veel geluk met je script:thumb:
 
Laatst bewerkt:
PHP:
        $sql_aanmelding = "INSERT INTO `gebruiker` (`voornaam`, `tussenvoegsel`, `achternaam`, `adres`,
Nu krijg ik deze melding:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\www\xampp\htdocs\web\gebruiker_registreren.php on line 49

EDIT:
Hier de voledigge script:

PHP:
<?php
    include "dbconnect.php";
    //***verbinding met database***
$doorgaan = true;
    if($_POST['voornaam'] ==""){
        $veld = "voornaam";
        $doorgaan = false;
    }
    else if($_POST['achternaam'] ==""){
        $veld = "achternaam";
        $doorgaan = false;
    }
    else if($_POST['adres'] ==""){
        $veld = "adres";
        $doorgaan = false;
    }
    else if($_POST['postcode'] ==""){
        $veld = "postcode";
        $doorgaan = false;
    }
    else if($_POST['woonplaats'] ==""){
        $veld = "woonplaats";
        $doorgaan = false;
    }
    else if($_POST['gebruikersnaam'] ==""){
        $veld = "gebruikersnaam";
        $doorgaan = false;
    }
    else if($_POST['wachtwoord'] ==""){
        $veld = "wachtwoord";
        $doorgaan = false;
    }
    //***controle of alle velden ingevuld zijn***
if(!$doorgaan){
    echo "U heeft het veld '".$veld."' niet ingevuld!<br/>";
}
else{
    
    //***niet alle velden zijn ingevuld***
    $sql_query = "SELECT * FROM gebruiker WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'"; 
    $result = mysql_query($sql_query) or die(mysql_error()); 
    if(mysql_num_rows($result) > 0 ){
        echo "De ingevulde gebruikersnaam bestaat al!<br/>"; 
        echo "Probeer nogmaals!";
    }
    //***gebruikersnaam bestaat al***
 else{
        $sql_aanmelding = "INSERT INTO `gebruiker` (`voornaam`, `tussenvoegsel`, `achternaam`, `adres`,  
`postcode`, `woonplaats`, `gebruikersnaam`, `wachtwoord`) VALUES ('" . $_POST['voornaam'] . "', '". $_POST

['tussenvoegsel']. "', '". $_POST['achternaam']. "', '". $_POST['adres']. "', '". $_POST['postcode']. "', '". $_POST

['woonplaats']. "', '". $_POST['gebruikersnaam']. `','' . $_POST['wachtwoord']. "')";
        $sql_aanmelding;
        $verzenden = mysql_query($sql_aanmelding);
        echo "Beste ".$_POST['achternaam'].", uw registratie is voltooid, vanaf nu kunt u <a href="index.php">inloggen!</a>";
    }
}
    // //***alles is correct ingevuld, registreren voltooid***
?>
 
Laatst bewerkt:
PHP:
$sql_aanmelding = "INSERT INTO  `gebruiker` (voornaam, tussenvoegsel, achternaam, adres, postcode, woonplaats, gebruikersnaam, wachtwoord) 
VALUES 
('" . $_POST['voornaam'] . "', '" . $_POST['tussenvoegsel'] . "', '" . $_POST['achternaam'] . "', '" . $_POST['adres']. "', '" . $_POST['postcode'] . "', '" . $_POST['woonplaats'] . "', '" . $_POST['gebruikersnaam'] . "','" . $_POST['wachtwoord']. "')";

Probeer het zo eens, er stonden heel veel overbodig backticks, en ook een backtick in plaats van een dubbele quote. Daarnaast had je twee maal een enter tussen $_POST en je array-key.
 
Laatst bewerkt:
Nu zecht hij het zelfde maar dan op regel 50.
Bedankt dat probleem is opgelost.
Maar nu krijg ik deze fout melding

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\www\xampp\htdocs\web\gebruiker_registreren.php on line 50

VALUES staat er op lijn 50
en
$sql_aanmelding = "INSERT INTO `gebruiker` (voornaam, tussenvoegsel, achternaam, adres, postcode, woonplaats,

gebruikersnaam, wachtwoord) op lijn 49/48
 
Ik heb m'n vorige post iets aangepast, er stond nog een keer een enkele in plaats van een dubbele quote.
 
Jij bent goed.
Parse error: parse error, expecting `','' or `';'' in C:\www\xampp\htdocs\web\gebruiker_registreren.php on line 59


PHP:
    //***gebruikersnaam bestaat al***
 else{
$sql_aanmelding = "INSERT INTO  `gebruiker` (voornaam, tussenvoegsel, achternaam, adres, postcode, woonplaats, 

gebruikersnaam, wachtwoord) 
VALUES 
('" . $_POST['voornaam'] . "', '" . $_POST['tussenvoegsel'] . "', '" . $_POST['achternaam'] . "', '" . $_POST['adres']. "', '" . 

$_POST['postcode'] . "', '" . $_POST['woonplaats'] . "', '" . $_POST['gebruikersnaam'] . "','" . $_POST['wachtwoord']. "')";  






        $sql_aanmelding;


$sql_aanmelding; staat er op lijn 59
 
Die regel kun je gewoon weghalen. Het is mij sowieso niet duidelijk waarom die daar staat.
 
PHP:
<?php
    include "dbconnect.php";
    //***verbinding met database***
$doorgaan = true;
    if($_POST['voornaam'] ==""){
        $veld = "voornaam";
        $doorgaan = false;
    }
    else if($_POST['achternaam'] ==""){
        $veld = "achternaam";
        $doorgaan = false;
    }
    else if($_POST['adres'] ==""){
        $veld = "adres";
        $doorgaan = false;
    }
    else if($_POST['postcode'] ==""){
        $veld = "postcode";
        $doorgaan = false;
    }
    else if($_POST['woonplaats'] ==""){
        $veld = "woonplaats";
        $doorgaan = false;
    }
    else if($_POST['gebruikersnaam'] ==""){
        $veld = "gebruikersnaam";
        $doorgaan = false;
    }
    else if($_POST['wachtwoord'] ==""){
        $veld = "wachtwoord";
        $doorgaan = false;
    }
    //***controle of alle velden ingevuld zijn***
if(!$doorgaan){
    echo "U heeft het veld '".$veld."' niet ingevuld!<br/>";
}
else{
    
    //***niet alle velden zijn ingevuld***
    $sql_query = "SELECT * FROM gebruiker WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'"; 
    $result = mysql_query($sql_query) or die(mysql_error()); 
    if(mysql_num_rows($result) > 0 ){
        echo "De ingevulde gebruikersnaam bestaat al!<br/>"; 
        echo "Probeer nogmaals!";
    }
    //***gebruikersnaam bestaat al***
 else{
$sql_aanmelding = "INSERT INTO  `gebruiker` (voornaam, tussenvoegsel, achternaam, adres, postcode, woonplaats, 

gebruikersnaam, wachtwoord) 
VALUES 
('" . $_POST['voornaam'] . "', '" . $_POST['tussenvoegsel'] . "', '" . $_POST['achternaam'] . "', '" . $_POST['adres']. "', '" . 

$_POST['postcode'] . "', '" . $_POST['woonplaats'] . "', '" . $_POST['gebruikersnaam'] . "','" . $_POST['wachtwoord']. "')";  






        
        $verzenden = mysql_query($sql_aanmelding);
        echo "Beste ".$_POST['achternaam'].", uw registratie is voltooid, vanaf nu kunt u <a href="index.php">inloggen!</a>";
    }
}
    // //***alles is correct ingevuld, registreren voltooid***
?>
 
Laatst bewerkt:
De fout zit waarschijnlijk in deze regel:

PHP:
echo "Beste ".$_POST['achternaam'].", uw registratie is voltooid, vanaf nu kunt u <a href="index.php">inloggen!</a>";

Zoals je al aan de syntax-higlighting kunt zien, klopt die niet.

Maak er eens van:

PHP:
echo "Beste ".$_POST['achternaam'].", uw registratie is voltooid, vanaf nu kunt u <a href='index.php'>inloggen!</a>";
 
Gelukt!

Maar nu krijg ik deze error:


Parse error: parse error in C:\www\xampp\htdocs\web\gebruiker_registreren.php on line 64

daar staat:
}
 
Gelukt:

Volgende, en laaste fout melding:
Parse error: parse error in C:\xampp\htdocs\web\gebruiker_regisreren.php on line 68
?> staat er
 
Als ik dat zo hoor lijkt het me eerder dat er een } te weinig staat.

Zet die ene eens terug, en zet er dan nog een bij. Misschien dat het dan opgelost is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan