hallo ik ben bezig met een website maar als je bent ingelogt mag je de aanmeld pagina zien en moet hij een andere tekst dan de daadwerkelijk tekst weergeven.

Hier volgt het script.

<?php /* ------------------------- */


include("config.php");

print <<<ENDHTML
<html>
<head>

<TITLE>***</TITLE>

<!-- === Style === -->

<link href="css.css" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="favicon.ico" >

<!-- === Einde style === -->
</head>
<body>

if($data) {
print <<<ENDHTML
<td>
Deze pagina is alleen te bekijken als je bent uitgelogt.
</td>
ENDHTML;

} else {

<table width="100%">
<tr>
<td class="sub">
<b>Aanmelden</b>
</td>
</tr>
</table>
ENDHTML;

if(isset($_POST['submit'])){
$getal1 = md5($_SESSION['getal']);
$getal2 = $_GET['code'];
if($getal1 != "" && $getal1 == $getal2){
$msgnum = 0;
$login = $_POST['login'];
$email = $_POST['email'];
$naam = $_POST['naam'];
$leeftijd = $_POST['leeftijd'];
$woonplaats = $_POST['woonplaats'];
$straat = $_POST['straat'];
$nummer = $_POST['nummer'];
$geslacht = $_POST['geslacht'];
$dbres = mysql_query("SELECT * FROM `gebruiker` WHERE `login`='$login'");
$login1 = mysql_num_rows($dbres);
$dbres = mysql_query("SELECT * FROM `gebruiker` WHERE `email`='$email' AND `level`!='-1'");
$email1 = mysql_num_rows($dbres);
$bloed1 = rand(1, 4);
$ip = $_SERVER['REMOTE_ADDR'];

if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login) == 0){
$bericht = "Voer een geldige login naam in.";
$msgnum = 1;
} else if(strlen($naam) < 3){
$bericht = "Voer een geldige naam in.";
$msgnum = 1;
} else if(preg_match('/^.+@.+\..+$/',$email) == 0){
$bericht = "Voer een geldig email adres in.";
$msgnum = 1;
} else if(is_numeric($leeftijd) == 0 || $leeftijd < 6){
$bericht = "Voer een geldige leeftijd in.";
$msgnum = 1;
} else if(strlen($woonplaats) < 2){
$bericht = "Voer een geldige woonplaats in.";
$msgnum = 1;
} else if(strlen($straat) < 3){
$bericht = "Voer een geldige straat in.";
$msgnum = 1;
} else if(is_numeric($nummer) == 0){
$bericht = "Voer een geldig nummer in.";
$msgnum = 1;
} else if($login1 != 0){
$bericht = "Er bestaat al iemand met die login naam.";
$msgnum = 1;
} else if($email1 != 0){
$bericht = "Er bestaat al iemand met dat email adres.";
$msgnum = 1;
} else if($_POST['regel1'] == ""){
$bericht = "Je mag maar 1 acount.";
$msgnum = 1;
} else if($_POST['regel2'] == ""){
$bericht = "Je moet wel met de regels akkoord zijn om je aantemelden.";
$msgnum = 1;
} else {
if($msgnum == 0) {
include_once("rndPass.class.php");
$pass = new rndPass(7);
$pass = $pass->PassGen();
mysql_query("INSERT INTO `gebruiker`(signup,login,ip,pass,leeftijd,woonplaats,huisnummer,straat,bloed,geslacht,email,naam) values (NOW(),'$login','$ip','$pass','$leeftijd','$woonplaats','$nummer','$straat','$bloed1','$geslacht','$email','$naam')");
$emess = "Bedankt voor het aanmelden bij {$title}, Je kunt nu direct beginnen met spelen!\n";
$emess .= "Inlognaam: {$login}\n";
$emess .= "Wachtwoord: {$pass}\n\n\n";
$emess .= "greetz van,\nDe {$title} crew\n";
$emess .= "{$sitelink}";
$ehead = "Van {$title}\r\n";
$subj = "Wachtwoord {$title} acount.";
mail($email,$subj,"$emess","Van: Pistols <{$email}>\n");
print <<<ENDHTML
<table width="100%">
<tr>
<td class="main" align="center">
Je bent geregistreerd, Je hebt een e-mail met wachtwoord ontvangen.(Dit kan ook enige tijd duren, Kijk ook in je ongewenste mail)
</td>
</tr>
</table>
ENDHTML;
exit;

print <<<ENDHTML
<table width="100%">
<tr>
<td class="main" align="center">
{$bericht}<meta http-equiv="Refresh" content="2"; url="signup.php">
</td>
</tr>
</table>
ENDHTML;
exit;
}
$getal = rand(1,10);
$_SESSION['getal'] = $getal;
$getalb = md5($getal);
print <<<ENDHTML
<table width="100%">
<tr>
<td class="main">
<form method="post" action="signup.php?code={$getalb}">
<table align="center">
<tr>
<td width="150">
*Login:
</td>
<td>
<input type="text" name="login" maxlength="16" style="width: 150;" value="">
</td>
</tr>
<tr>
<td width="150">
*E-Mail:
</td>
<td>
<input type="text" name="email" maxlength="64" style="width: 150;" value="">
</td>
</tr>
<tr>
<td width="150">
*Complete naam:
</td>
<td>
<input type="text" name="naam" maxlength="64" style="width: 150;" value="">
</td>
</tr>
<tr>
<td width="150">
*Leeftijd:
</td>
<td>
<input type="text" name="leeftijd" maxlength="2" style="width: 50;" value="">
</td>
</tr>
<tr>
<td width="150">
*Woonplaats:
</td>
<td>
<input type="text" name="woonplaats" maxlength="64" style="width: 150;" value="">
</td>
</tr>
<tr>
<td width="150">
*Straat + huisnummer:
</td>
<td width="250">
<input type="text" name="straat" maxlength="64" style="width: 150;" value=""> <input type="text" name="nummer" maxlength="4" style="width: 50;" value="">
</td>
</tr>
<tr>
<td width="150">
*Geslacht:
</td>
<td>
man<input type="radio" name="geslacht" value="man" id="1" checked><LABEL id="1" for="1">
Vrouw<input type="radio" name="geslacht" value="vrouw" id="2"><LABEL id="2" for="2">
</td>
</tr>
<tr>
<td colspan=2>
<b><input name="regel1" type="checkbox"><b>Ik heb maar één acount.</b>
</td>
</tr>
<tr>
<td colspan=2>
<b><input name="regel2" type="checkbox">Ik heb de <a href="regels.php" target="_new">regels</a> gelezen en ga ermee akkoord.</b>
</td>
</tr>
<tr>
<td>
</td>
<td align="right">
<input type="submit" name="submit" style="width: 100;" value="Aanmelden">
</td>
</tr>
<tr>
<td width="300">
* = Alleen toezichtelijk voor de admin.<br>
Let op vul een geldig e-mail in.<br>Dit is erg belangerijk, want je krijgt je wachtwoord opgestuurd.
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
ENDHTML;
}

/* ------------------------- */?>

</body>
</html>
Je sluit de eerste heredoc (<<<ENDHTML) niet af.
Je zult vast wel ergens een check hebben om te kijken of iemand is ingelogd. Die check kun je gewoon kopieren:

if(ingelogd)
{
echo 'alternatieve tekst';
}
else
{
//de normale tekst
}
Op regel 20 moet komen te staan:
ENDHTML;

PHP Newbie;
Dat doet ie ook ( if($data) { ) ;)
Douwe M

ik krijg nu de olgende melding:

Parse error: syntax error, unexpected '}' in /home/public_html//signup.php on line 28
Als je op regel 20
ENDHTML;
neerzet?

Klinkt niet logisch, ik weet niet why...
hij blijft nog steeds een fout geven.

weet iemand anders misschien een oplossing???

santifort schreef op 25.08.2008 20:30
hij blijft nog steeds een fout geven.

Welke?
Parse error: syntax error, unexpected '}' in /home/public_html//signup.php on line 28
Als ik simpel woorden tel, dan is dit de uitkomst:

{ heeft 27 hits
} heeft 24 hits

Je sluit dus 3 keer niet af.
Je sluit de else { in regel 28 niet af
Volgens mij sluit je regel 39 en 42 ook niet af.

Edit
Zou best kunnen dat het mag, maar volgens mij is het elseif( en geen else if(

Reageren