Hoi,

De 10 functies onder de elseif worden niet uitgevoerd. Zou iemand me kunnen zeggen hoe dat komt?

Bedankt alvast.

<?php
include_once 'functies.php';



if (isset ($_SESSION['gebruiker']))
{
$_SESSION['titel'] = "Info";
$_SESSION['boodschaptype'] = "info";
$_SESSION['boodschap'] = "Je bent ingelogd onder de naam ".$_SESSION['gebruiker'].".
Klik <a href=\"index.php?page=logout\">hier</a> om je uit te loggen";
iframe('index.php?page=bericht');
}


elseif ($_SERVER['REQUEST_METHOD']== 'POST')
{
check_ingevuld('index.php?page=register',$_POST['registratie_gebruikersnaam'],'gebruikersnaam');
check_ingevuld('index.php?page=register',$_POST['registratie_paswoord'],'wachtwoord');
check_ingevuld('index.php?page=register',$_POST['registratie_paswoord2'],'bevestigend wachtwoord');
check_ingevuld('index.php?page=register',$_POST['registratie_email'],'emailadres');
check_ingevuld('index.php?page=register',$_POST['registratie_voornaam'],'voornaam');
vergelijk('index.php?page=register',$_POST['registratie_paswoord'],$_POST['registratie_paswoord2']);
check_geldigheid_email('index.php?page=register',$_POST['registratie_email']);
check_originaliteit('index.php?page=register',$_POST['registratie_gebruikersnaam'],'Deze gebruikersnaam');
check_originaliteit('index.php?page=register',$_POST['registratie_email'],'Dit emaildres');
check_verboden_tekens('index.php?page=register',$_POST['registratie_gebruikersnaam'],'gebruikersnaam');

$opgevraagd_registratie_gebruikersid = read_db("gebruikersid.php");
$registratie_gebruikersid = $opgevraagd_registratie_gebruikersid + 1;
write_db($registratie_gebruikersid,"gebruikersid.php");
add_db
(
$registratie_gebruikersid.'|'.
$_POST['registratie_gebruikersnaam'].'|'.
md5($_POST['registratie_paswoord']).'|'.
$_POST['registratie_email'].
'|Member|0|'.
$_POST['registratie_voornaam'].'|'.
$_POST['registratie_achternaam'].'|'.
$_POST['registratie_straat_en_nr'].'|'.
$_POST['registratie_postcode'].'|'.
$_POST['registratie_stad'].'|'.
$_POST['registratie_telefoonnr'].'|'.
$_POST['registratie_website'].'|'.
$_POST['registratie_avater'].'|'.
$_POST['registratie_geboortedag'].'|'.
$_POST['registratie_geboortemaand'].'|'.
$_POST['registratie_geboortejaar'].'|'.
$_POST['registratie_handtekening'].'|'.
$_POST['registratie_nieuwsbrief'].'|'.
$_POST['registratie_privacy'].'|'."\n"
,"gebruikers.php"
);
check_registratie_nieuwsbrief($_POST['registratie_nieuwsbrief'],$_POST['registratie_email'],$registratie="1");
$inhoud = "Beste ".$_POST['registratie_voornaam'].",\n
Je ontvangt deze mail omdat je bent ingeschreven op onze website $url_deze_site\n
Inloggegevens:
Gebruikersnaam: ".$_POST['registratie_gebruikersnaam']."
Wachtwoord: ".$_POST['registratie_paswoord']." \n
Indien U niets van deze registratie afweet, gelieve dan een mail te sturen naar $email_verantwoordelijke_registraties \n
Met dank en tot op de website :).\n
Christophe Rogiers
Webmaster BBC-Grembergen
$email_Christophe_Rogiers
$url_site_stormtraxx_productions";
$titel="Registratie op $url_deze_site";

mail_opstellen($_POST['registratie_email'],$titel,$inhoud,$melding="0");

$_SESSION['titel'] = "Succesvol geregistreerd";
$_SESSION['boodschaptype'] = "goed";
$_SESSION['boodschap'] =
"De registratie is voltooid, U kan nu inloggen.
De registratiegegevens zijn doorgestuurd naar het door U opgegeven emailadres.";
iframe('index.php?page=bericht');
}


else
{
bericht_opstellen(
'Registreren',
"<form method='post' action='?page=register'>
<table align='center'>
<tr>
<td>Gebruikersnaam:</td>
<td>
<input type='text'
name='registratie_gebruikersnaam'
size='20'
maxlength='40'
>
* Verplicht invullen!
</td>
<tr>
<td>Wachtwoord:</td>
<td>
<input type='password'
name='registratie_paswoord'
size='20'
maxlength='40'
>
*
</td>
<tr>
<td>Bevestig wachtwoord:</td>
<td>
<input type='password'
name='registratie_paswoord2'
size='20'
maxlength='40 '
>
*
</td>
<tr>
<td>Email adres:</td>
<td>
<input type='text'
name='registratie_email'
size='20'
maxlength='40 '
>
*
</td>
<tr>
<td>Voornaam:</td>
<td>
<input type='text'
name='registratie_voornaam'
size='20'
maxlength='40'
>
*
</td>
<tr>
<td>Achternaam:</td>
<td>
<input
type='text'
name='registratie_achternaam'
size='20'
maxlength='40'
>
</td>
<tr>
<td>Straat en nr:</td>
<td>
<input
type='text'
name='registratie_straat_en_nr'
size='20'
maxlength='40'
>
</td>
<tr>
<td>Postcode en Stad:</td>
<td>
<input
type='text'
name='registratie_postcode'
size='6'
maxlength='6'
>
<input
type='text'
name='registratie_stad'
size='20'
maxlength='40'
>
</td>
<tr>
<td>Telefoon/GSM:</td>
<td>
<input
type='text'
name='registratie_telefoonnr'
size='15'
maxlength='15'
>
</td>
<tr>
<td>Geboortedatum:</td>
<td>
<input
type='text'
name='registratie_geboortedag'
size='1'
maxlength='2'
>
/
<input
type='text'
name='registratie_geboortemaand'
size='1'
maxlength='2'
>
/
<input
type='text'
name='registratie_geboortejaar'
size='3'
maxlength='4'
>
</td>
<tr>
<td>Uw website (link):</td>
<td>
<input
type='text'
name='registratie_website'
size='30'
maxlength='40'
>
</td>
<tr>
<td>Uw avaterafbeelding (link):</td>
<td>
<input
type='text'
name='registratie_avater'
size='30'
maxlength='40'
>
</td>
<tr>
<td valign='top'>Uw handtekening:</td>
<td>
<textarea
name='registratie_handtekening'
rows='10'
cols='25'
>
</textarea>
</td>
<tr>
<td colspan='2'>
<INPUT
TYPE='checkbox'
NAME='registratie_nieuwsbrief'
VALUE='1' CHECKED
>
Nieuwsbrief ontvangen?
</td>
<tr>
<td colspan='2'>
<INPUT
TYPE='checkbox'
NAME='registratie_privacy'
VALUE='1' CHECKED
>
Mijn gegevens kunnen door andere gebruikers opgevraagd worden.
</td>
<tr>
<td colspan='2' align='center'>
<input
type='image'
SRC='images/layout/registreer.gif'
ALT='Klik hier om je profiel bij te werken'
value='Registreren'
NAME='Verzenden'
>
</td>
</table>
</form>"
);
}
?>





De functies zijn allemaal opgesteld zoals:
<?php
//Check of een woord voorkomt in onze gebruikersdatabase////////////////////////////////
function check_originaliteit($pagina,$te_checken,$soort_woord)
{
if (strstr (file_get_contents ('gebruikers.php'), $te_checken.'|'))
{
$_SESSION['titel'] = "Fout";
$_SESSION['boodschaptype'] = "fout";
$_SESSION['boodschap'] =
$soort_woord. "is al in gebruik!
Gelieve een andere naam te kiezen.
<a href=".$pagina.">Ga terug</a>";

iframe('index.php?page=bericht');
}
}
////////////////////////////////////////////////////////////////////////////////?>
is het zo dat een gebruiker ingelogt is en DAN iets post? zo ja dan krijg je zoiets:

<?
if (isingelogt)
{
if ($_POST)
{
//script na 't posten
}
else
{
// formulier of zo
}
}
else
{
// inloggen aub
}
?>
Hoi,

Inloggen kan hij nog niet he... dit is een registreerscript. Het gekke is dat hij de tekst "De registratie is voltooid, U kan nu inloggen. De registratiegegevens zijn doorgestuurd naar het door U opgegeven emailadres." wel weergeeft. Dit is een functie onder de andere functies.

Een voorbeeld kan je vinden op: http://1.warezjunkz.nl/index.php?page=register


Bedankt alvast !!!



Hoi,

Het werk nu... ik heb de eerste controle (ben je al ingelogd of niet) er uitgehaald.

Bedankt al voor de moeite !
Hoi,

mijn probleem is er weer... shij slaagt die functies over :s... weet iemand hoe dat komt?

Greetz.

Dit is de nieuwere code:

<?php
include_once 'functies.php';

if ($_SERVER['REQUEST_METHOD']== 'POST')
{
$_SESSION['registratie2_gebruikersnaam'] = $_POST['registratie_gebruikersnaam'];
$_SESSION['registratie2_paswoord'] = $_POST['registratie_paswoord'];
$_SESSION['registratie2_paswoord2'] = $_POST['registratie_paswoord2'];
$_SESSION['registratie2_email'] = $_POST['registratie_email'];
$_SESSION['registratie2_voornaam'] = $_POST['registratie_voornaam'];
$_SESSION['registratie2_achternaam'] = $_POST['registratie_achternaam'];
$_SESSION['registratie2_straat_en_nr'] = $_POST['registratie_straat_en_nr'];
$_SESSION['registratie2_postcode'] = $_POST['registratie_postcode'];
$_SESSION['registratie2_stad'] = $_POST['registratie_stad'];
$_SESSION['registratie2_telefoonnr'] = $_POST['registratie_telefoonnr'];
$_SESSION['registratie2_website'] = $_POST['registratie_website'];
$_SESSION['registratie2_avater'] = $_POST['registratie_avater'];
$_SESSION['registratie2_geboortedag'] = $_POST['registratie_geboortedag'];
$_SESSION['registratie2_geboortemaand'] = $_POST['registratie_geboortemaand'];
$_SESSION['registratie2_geboortejaar'] = $_POST['registratie_geboortejaar'];
$_SESSION['registratie2_handtekening'] = $_POST['registratie_handtekening'];

check_ingevuld('index.php?page=register',$_POST['registratie_gebruikersnaam'],'gebruikersnaam');
check_ingevuld('index.php?page=register',$_POST['registratie_paswoord'],'wachtwoord');
check_ingevuld('index.php?page=register',$_POST['registratie_paswoord2'],'bevestigend wachtwoord');
check_ingevuld('index.php?page=register',$_POST['registratie_email'],'emailadres');
check_ingevuld('index.php?page=register',$_POST['registratie_voornaam'],'voornaam');
vergelijk('index.php?page=register',$_POST['registratie_paswoord'],$_POST['registratie_paswoord2']);
check_geldigheid_email('index.php?page=register',$_POST['registratie_email']);
check_originaliteit('index.php?page=register',$_POST['registratie_gebruikersnaam'],'Deze gebruikersnaam');
check_originaliteit('index.php?page=register',$_POST['registratie_email'],'Dit emailadres');
check_verboden_tekens('index.php?page=register',$_POST['registratie_gebruikersnaam'],'gebruikersnaam');

$opgevraagd_registratie_gebruikersid = read_db("gebruikersid.php");
$registratie_gebruikersid = $opgevraagd_registratie_gebruikersid + 1;
write_db($registratie_gebruikersid,"gebruikersid.php");
add_db
(
$registratie_gebruikersid.'|'.
$_POST['registratie_gebruikersnaam'].'|'.
md5($_POST['registratie_paswoord']).'|'.
$_POST['registratie_email'].
'|Member|0|'.
$_POST['registratie_voornaam'].'|'.
$_POST['registratie_achternaam'].'|'.
$_POST['registratie_straat_en_nr'].'|'.
$_POST['registratie_postcode'].'|'.
$_POST['registratie_stad'].'|'.
$_POST['registratie_telefoonnr'].'|'.
$_POST['registratie_website'].'|'.
$_POST['registratie_avater'].'|'.
$_POST['registratie_geboortedag'].'|'.
$_POST['registratie_geboortemaand'].'|'.
$_POST['registratie_geboortejaar'].'|'.
$_POST['registratie_handtekening'].'|'.
$_POST['registratie_nieuwsbrief'].'|'.
$_POST['registratie_privacy'].'|'."\n"
,"gebruikers.php"
);
check_registratie_nieuwsbrief($_POST['registratie_nieuwsbrief'],$_POST['registratie_email'],$registratie="1");
$inhoud = "Beste ".$_POST['registratie_voornaam'].",\n
Je ontvangt deze mail omdat je bent ingeschreven op onze website $url_deze_site\n
Inloggegevens:
Gebruikersnaam: ".$_POST['registratie_gebruikersnaam']."
Wachtwoord: ".$_POST['registratie_paswoord']." \n
Indien U niets van deze registratie afweet, gelieve dan een mail te sturen naar $email_verantwoordelijke_registraties \n
Met dank en tot op de website :).\n
Christophe Rogiers
Webmaster BBC-Grembergen
$email_Christophe_Rogiers
$url_site_stormtraxx_productions";
$titel="Registratie op $url_deze_site";


$_SESSION['titel'] = "Succesvol geregistreerd";
$_SESSION['boodschaptype'] = "goed";
$_SESSION['boodschap'] =
"De registratie is voltooid, U kan nu inloggen.
De registratiegegevens zijn doorgestuurd naar het door U opgegeven emailadres.";
iframe('index.php?page=bericht');

mail_opstellen($_POST['registratie_email'],$titel,$inhoud,$melding="0");
check_registratie_nieuwsbrief(
$_POST['registratie_nieuwsbrief'],
$tweede_situatie,
$_POST['registratie_email']
);

unset ($_SESSION['registratie2_gebruikersnaam']);
unset ($_SESSION['registratie2_paswoord']);
unset ($_SESSION['registratie2_paswoord2']);
unset ($_SESSION['registratie2_email']);
unset ($_SESSION['registratie2_voornaam']);
unset ($_SESSION['registratie2_achternaam']);
unset ($_SESSION['registratie2_straat_en_nr']);
unset ($_SESSION['registratie2_postcode']);
unset ($_SESSION['registratie2_stad']);
unset ($_SESSION['registratie2_telefoonnr']);
unset ($_SESSION['registratie2_website']);
unset ($_SESSION['registratie2_avater']);
unset ($_SESSION['registratie2_geboortedag']);
unset ($_SESSION['registratie2_geboortemaand']);
unset ($_SESSION['registratie2_geboortejaar']);
unset ($_SESSION['registratie2_handtekening']);
}


else
{
bericht_opstellen(
'Registratie',
"<form method='post' action='?page=register'>
<table align='center'>
<tr>
<td>Gebruikersnaam:</td>
<td>
<input type='text'
name='registratie_gebruikersnaam'
size='20'
maxlength='40'
value=".$_SESSION['registratie2_gebruikersnaam']."
>
* Verplicht invullen!
</td>
<tr>
<td>Wachtwoord:</td>
<td>
<input type='password'
name='registratie_paswoord'
size='20'
maxlength='40'
value=".$_SESSION['registratie2_paswoord']."
>
*
</td>
<tr>
<td>Bevestig wachtwoord:</td>
<td>
<input type='password'
name='registratie_paswoord2'
size='20'
maxlength='40 '
value=".$_SESSION['registratie2_paswoord2']."
>
*
</td>
<tr>
<td>Email adres:</td>
<td>
<input type='text'
name='registratie_email'
size='20'
maxlength='40 '
value=".$_SESSION['registratie2_email']."
>
*
</td>
<tr>
<td>Voornaam:</td>
<td>
<input type='text'
name='registratie_voornaam'
size='20'
maxlength='40'
value=".$_SESSION['registratie2_voornaam']."
>
*
</td>
<tr>
<td>Achternaam:</td>
<td>
<input
type='text'
name='registratie_achternaam'
size='20'
maxlength='40'
value=".$_SESSION['registratie2_achternaam']."
>
</td>
<tr>
<td>Straat en nr:</td>
<td>
<input
type='text'
name='registratie_straat_en_nr'
size='20'
maxlength='40'
value=".$_SESSION['registratie2_straat_en_nr']."
>
</td>
<tr>
<td>Postcode en Stad:</td>
<td>
<input
type='text'
name='registratie_postcode'
size='6'
maxlength='6'
value=".$_SESSION['registratie2_postcode']."
>
<input
type='text'
name='registratie_stad'
size='20'
maxlength='40'
value=".$_SESSION['registratie2_stad']."
>
</td>
<tr>
<td>Telefoon/GSM:</td>
<td>
<input
type='text'
name='registratie_telefoonnr'
size='15'
maxlength='15'
value=".$_SESSION['registratie2_telefoonnr']."
>
</td>
<tr>
<td>Geboortedatum:</td>
<td>
<input
type='text'
name='registratie_geboortedag'
size='1'
maxlength='2'
value=".$_SESSION['registratie2_geboortedag']."
>
/
<input
type='text'
name='registratie_geboortemaand'
size='1'
maxlength='2'
value=".$_SESSION['registratie2_geboortemaand']."
>
/
<input
type='text'
name='registratie_geboortejaar'
size='3'
maxlength='4'
value=".$_SESSION['registratie2_geboortejaar']."
>
</td>
<tr>
<td>Uw website (link):</td>
<td>
<input
type='text'
name='registratie_website'
size='30'
maxlength='40'
value=".$_SESSION['registratie2_website']."
>
</td>
<tr>
<td>Uw avaterafbeelding (link):</td>
<td>
<input
type='text'
name='registratie_avater'
size='30'
maxlength='40'
value=".$_SESSION['registratie2_avater']."
>
</td>
<tr>
<td valign='top'>Uw handtekening:</td>
<td>
<textarea
name='registratie_handtekening'
rows='10'
cols='25'
value=".$_SESSION['registratie2_handtekening']."
>
</textarea>
</td>
<tr>
<td colspan='2'>
<INPUT
TYPE='checkbox'
NAME='registratie_nieuwsbrief'
VALUE='1' CHECKED
>
Nieuwsbrief ontvangen?
</td>
<tr>
<td colspan='2'>
<INPUT
TYPE='checkbox'
NAME='registratie_privacy'
VALUE='1' CHECKED
>
Mijn gegevens kunnen door andere gebruikers registratie2 worden.
</td>
<tr>
<td colspan='2' align='center'>
<input
type='image'
SRC='images/layout/registreer.gif'
ALT='Klik hier om je profiel bij te werken'
value='Registreer'
NAME='Verzenden'
>
</td>
</table>
</form>"
);
}
?>
twee dingen vallen me op:

1) include_once
Horen er geen haakjes om die bestandsnaam?
2) sessies
Je gebruikt sessies, maar ik zie nergens session_start staan. Zit die in die include file?
include / include_once / require / require_once / echo e.d. zijn zogenaamde language-constructs, hier hoeven geen haakjes te worden gebruikt, dat is overbodig.

In je code wordt gewerkt met een elseif-constructie, ik zou het afvangen van je POST-request gewoon in een aparte if-constructie zetten.

<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
// Etc
}
?>
Wat een lang script!
Waarom zet je het in een sessie??
@Jan: Se session_start zit in het geïnclude bestand.


@Remco: mijn formulier moet toch niet tussen die if staan?

@Han: Lang scrip... tja er zit veel in. Zo wordt de invoer op vanalles gecontroleerd, zit er een formulier in, zit er een 'ga-terug-functie' in waarbij de gegevns opnieuw in het formulier worden geladen (hiervoor woorden dus de sessies gebruikt ;) ). Ik probeer zoveel mogenlijk met functies te werken om herhaling van code tegen te gaan, maar soms lukt het niet anders he.


@iedereen: Maar goed het probleem is er nog steeds. De functies die de input moeten controleren, wordenovergeslaan met als gevolg dat registrern gaat zelf al vul je geen paswoord in...

Wie weet de oplossing?


Greetz en allemaal al bedankt voor de moeite !
ik denk dat als je wat overzichtelijker coded, je script goed documenteerd, goed php.net doorkijkt, en alles voor jezelf goed op een rijtje hebt op papier, of wat dan ook, dat je heel ver komt.

Reageren