Ik heb nu een beveiligde registratiepagina, maar echter na het invullen en ik druk op registreren kom ik op een errorpagina uit.

Heb het script meermaals doorlopen maar zie die fout niet, wellicht zien jullie wat apparts?



<?php

//Defineer functie

if($_SERVER['REQUEST_METHOD'] == 'submit') // Controle of er op de knop is geklikt.
{
    include_once 'connect.php'; // Connectie db.

    if(!empty($_POST['gebruikersnaam']) AND !empty($_POST['zelfinfo']) AND !empty($_POST['password']) AND !empty($_POST['passwordc']) AND !empty($_POST['mail'])) // Controle op invoeren
    {
        if(($_POST['password']) == ($_POST['passwordc'])) // Controle of controle pw overeenkomt met echte pw.
        {
            
            include_once 'uwx3g.php';            // Connectie met salt page.
            $gebruikersnaam    = mysql_real_escape_string($_POST['gebruikersnaam']); //Data veilig maken voor sql injectie d.m.v. mysql_real.....
			$zelfinfo 		= mysql_real_escape_string($_POST['zelfinfo']);
            $password        = sha1(salt($_POST['password'])); //sha1 hash van pass. Inclusief salt.
            $mail            = mysql_real_escape_string($_POST['mail']);
            $sql = ("SELECT naam FROM Accounts WHERE naam='". $gebruikersnaam . "'"); // Controle op gebruikersnaam, zo ja een 1 else en 0 (zie controle bij de volgende if)
            $uitvoer = mysql_query($sql);        //($row = mysql_fetch_assoc($get))
            
            $controle = mysql_num_rows($uitvoer);
                
            if($controle == 0) // Als uitvoer is 0 registreren.
            {
                mysql_query("INSERT INTO Accounts (ID, naam, wachtwoord, xp, geld, zelfinfo, email, vipdagen, credits, monteur, bevoegdheid, datum, status) VALUES ('','" . $gebruikersnaam . "', '" . $password . "', '" . 0 . "','" . 1000 . "','" . $zelfinfo . "','" . $mail . "','" . 0 . "','" . 0 . "','" . 0 . "','" . 0 . "', '" . now() . "','" . 0 . "')"); // Gebruiker in db plaatsen.
                header('Refresh: 4; url= login_form.php');
                echo ('U bent succesvol aangemeld, u kunt nu inloggen.');
            }
            else
            {
                header('Refresh: 2; url=login_form.php');
                echo ('Verkeerde gebruikersnaam of wachtwoord.');        // Negatieve melding van ingevoerde gegevens.
            }    
        }
        else
        {
			                header('Refresh: 5; url=login_form.php');
            echo ('De ingevoerde gegevens kloppen niet, u heeft het controle wachtwoord verkeerd ingevuld.');  // Negatieve melding van ingevoerde gegevens.
        }
    }
    else
    {               
header('Refresh: 1; url=login_form.php');

        echo ('De ingevoerde gegevens kloppen niet, niet alles is ingevuld.');  // Negatieve melding van ingevoerde gegevens.
    }
    
    

}


?>


De pagina waar de vakjes staan om in te vullen (registreren en inloggen) staan samen op http://testversie.site90.net/login_form.php dus daar moet er naartoe gestuurd worden.



P.S. Na het invullen en de errorpagina zie ik in de phpmyadmin dat het account niet aangemaakt is, dus hij verwerkt de gegevens niet o.i.d?

[size=xsmall]Toevoeging op 03/02/2015 20:42:59:[/size]

Ohja, en ik gebruik notepad++, is er ook nog een speciaal programma voor php? Iets wat misschien wat fijner en duidelijker werkt?
Welke moet ik dan aanpassen en waarin? want ik zie (nog niet) wat er nou fout is/moet gebeuren
- Aar - op 03/02/2015 21:34:06

registreerv.php bestaat niet.


Prospere Gaming op 03/02/2015 21:35:34

registrerenv.php is het excuus. zal ook nog even mijn Registreren.php erbij plakken:

Even de bestandsnaam in je code zoeken (zie je form-tag), en even vervangen door de juiste.



In mijn Registreren.php wordt er nergens een link gelegt naar registererenv.php
Kan dat ook een dingetje zijn?
En in de login_form.php staat ook geen link naar registrerenv.php

Moet het wel? zoja waar en hoe kan ik hem t beste plaatsen?
Je linkt naar registreerv.php in je formulier, in je <form ...>-tag (regel 6). En dat is dus de verkeerde bestandsnaam.

Om verwarring te voorkomen, gebruik geen hoofdleters voor bestandsnamen. In Windows kan het geen kwaad, maar de meeste webservers gebruiken Linux, en die kent er wel onderscheid in. Dus Login.php is niet hetzelfde als login.php
Een blanko scherm dus.
Zet bovenaan je site:

<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
?>


Helpt dit niet, dan helpt het om op diverse strategische plekken in je code steeds een verschillende echo te plaatsen. Dan kan je er achter komen op welk deel je script vastloopt, en tot waar deze wordt uitgevoerd.
Er staat alleen Javascript in de broncode van die lege pagina.
@SanThe: Standaard hostingdingetje is dat.
Ik zie al wat:

if($_SERVER['REQUEST_METHOD'] == 'submit')

Dit gaat niet werken. verander submit eens naar POST
- Aar - op 03/02/2015 22:15:59

@SanThe: Standaard hostingdingetje is dat.


Heel irritant van zo'n hosting.
@aar heb t verandert en krijg nu dit:

Fatal error: Call to undefined function now() in /home/a8959172/public_html/registrerenv.php on line 31

door dit:


<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
?>
<?php

//Defineer functie

if($_SERVER['REQUEST_METHOD'] == 'POST') // Controle of er op de knop is geklikt.

{
    include_once 'connect.php'; // Connectie db.
  
    if(!empty($_POST['gebruikersnaam']) AND !empty($_POST['zelfinfo']) AND !empty($_POST['password']) AND !empty($_POST['passwordc']) AND !empty($_POST['mail'])) // Controle op invoeren
    {
        if(($_POST['password']) == ($_POST['passwordc'])) // Controle of controle pw overeenkomt met echte pw.
        {
 
            include_once 'uwx3g.php';            // Connectie met salt page.
            $gebruikersnaam    = mysql_real_escape_string($_POST['gebruikersnaam']); //Data veilig maken voor sql injectie d.m.v. mysql_real.....
			$zelfinfo 		= mysql_real_escape_string($_POST['zelfinfo']);
            $password        = sha1(salt($_POST['password'])); //sha1 hash van pass. Inclusief salt.
            $mail            = mysql_real_escape_string($_POST['mail']);
            $sql = ("SELECT naam FROM Accounts WHERE naam='". $gebruikersnaam . "'"); // Controle op gebruikersnaam, zo ja een 1 else en 0 (zie controle bij de volgende if)
            $uitvoer = mysql_query($sql);        //($row = mysql_fetch_assoc($get))
    
            $controle = mysql_num_rows($uitvoer);
     
            if($controle == 0) // Als uitvoer is 0 registreren.
            {
                mysql_query("INSERT INTO Accounts (ID, naam, wachtwoord, xp, geld, zelfinfo, email, vipdagen, credits, monteur, bevoegdheid, datum, status) VALUES ('','" . $gebruikersnaam . "', '" . $password . "', '" . 0 . "','" . 1000 . "','" . $zelfinfo . "','" . $mail . "','" . 0 . "','" . 0 . "','" . 0 . "','" . 0 . "', '" . now() . "','" . 0 . "')"); // Gebruiker in db plaatsen.
                header('Refresh: 4; url= login_form.php');
                echo ('U bent succesvol aangemeld, u kunt nu inloggen.');
            }
            else
            {
                header('Refresh: 2; url=login_form.php');
                echo ('Verkeerde gebruikersnaam of wachtwoord.');        // Negatieve melding van ingevoerde gegevens.
            }    
        }
        else
        {
			                header('Refresh: 5; url=login_form.php');
            echo ('De ingevoerde gegevens kloppen niet, u heeft het controle wachtwoord verkeerd ingevuld.');  // Negatieve melding van ingevoerde gegevens.
        }
    }
    else
    {               
header('Refresh: 1; url=login_form.php');

        echo ('De ingevoerde gegevens kloppen niet, niet alles is ingevuld.');  // Negatieve melding van ingevoerde gegevens.
    }
    
    

}


?>


Ennn de hello world doet het hier:

<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
?>
<?php
echo "hello world";
//Defineer functie

if($_SERVER['REQUEST_METHOD'] == 'POST') // Controle of er op de knop is geklikt.

{
    include_once 'connect.php'; // Connectie db.

Dan krijg ik gewoon te zien hello world.
Hier krijg ik een foutmelding voor regel 31:

<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
?>
<?php

//Defineer functie

if($_SERVER['REQUEST_METHOD'] == 'POST') // Controle of er op de knop is geklikt.
echo "hello world";
{
    include_once 'connect.php'; // Connectie db.


En veder in t script (ongeveer elke regel geprobeerd) krijg ik niks te zien

[size=xsmall]Toevoeging op 03/02/2015 22:26:39:[/size]

@-santhe-
Tot de website af is blijf ik bij de gratis (irritante :p) server, wanneer het af is ga ik betalen.
Dit i.v.m. ik nog niet zeker ben of het project gaat lukken

Reageren