ik heb hier een stuk php code uit me script alleen werkt het niet goed.
als ik een naam invoer die nog niet in de database bestaat, als ik dan op verzenden druk krijg ik een wit scherm. ik kom er zelf niet uit.
<?php
$error = array();
if (empty($naam))
{
$error[] = 'Er is geen naam ingevoerd!';
}
elseif (controlle_dubbelle_info('tijdelijk',$naam, 'naam') == 1)
{
$error[] = 'Oeps de gebruikersnaam bestaat al.';
}
elseif (strlen($naam) > 50)
{
$error[] = 'de gebruikersnaam mag maar 50 tekens lang zijn!';
}
if (empty($email))
{
$error[] = 'Er is geen e-mail adres ingevoerd!';
}
elseif (!check_mail($email))
{
$error[] = 'Het ingevoerde e-mail adres is niet gedlig!';
}
elseif (controlle_dubbelle_info('tijdelijk', $email, 'email'))
{
$error[] = 'Oeps het ingevoerde e-mail adres is al ingebruik';
}
if (empty($wachtwoord1))
{
$error[] = "Er is geen wachtwoord ingevuld!";
}
elseif ($wachtwoord1 =! $wachtwoord2)
{
$error[] = 'De wachtworderen komen niet overeen';
}
if ($error == '')
{
echo ' <span style="color: #FF0000; ">De volgende fouten zijn opgetreden:</span><ul>';
foreach($error as $fout)
{
echo ' <li>'. $fout .'</li>';
}
echo '</ul> ';
}
else
{
echo 'yes gelukt '.$naam.'';
}
?>
ik heb beide geprobeerd maar het probleem blijft zich voordoen. Ik dacht het zal vast wel een stom foutje zijn maar als je er na een uur nog niet hebt gevonden dacht ik post het hier maar!
sorry ik heb het veranderd maar het probleem blijft aanwezig! ik zal het vanmiddag even uploaden dan kunnen jullie ook zien wat ik bedoel!
<?
$error = array();
if (empty($naam))
{
$error[] = 'Er is geen naam ingevoerd!';
}
elseif (controlle_dubbelle_info('tijdelijk',$naam, 'naam') == 1)
{
$error[] = 'Oeps de gebruikersnaam bestaat al.';
}
elseif (strlen($naam) > 50)
{
$error[] = 'de gebruikersnaam mag maar 50 tekens lang zijn!';
}
if (empty($email))
{
$error[] = 'Er is geen e-mail adres ingevoerd!';
}
elseif (!check_mail($email))
{
$error[] = 'Het ingevoerde e-mail adres is niet gedlig!';
}
elseif (controlle_dubbelle_info('tijdelijk', $email, 'email'))
{
$error[] = 'Oeps het ingevoerde e-mail adres is al ingebruik';
}
if (empty($wachtwoord1))
{
$error[] = "Er is geen wachtwoord ingevuld!";
}
elseif ($wachtwoord1 =! $wachtwoord2)
{
$error[] = 'De wachtworderen komen niet overeen';
}
if (count(array_keys($error, true)) == 0)
{
echo ' <span style="color: #FF0000; ">De volgende fouten zijn opgetreden:</span><ul>';
foreach($error as $fout)
{
echo ' <li>'. $fout .'</li>';
}
echo '</ul> ';
}
else
{
echo 'yes gelukt '.$naam.'';
}
?>
[size=xsmall]Toevoeging op 06/11/2012 11:28:42:[/size]
sorry ik heb het veranderd maar het probleem blijft aanwezig! ik zal het vanmiddag even uploaden dan kunnen jullie ook zien wat ik bedoel!
<?
$error = array();
if (empty($naam))
{
$error[] = 'Er is geen naam ingevoerd!';
}
elseif (controlle_dubbelle_info('tijdelijk',$naam, 'naam') == 1)
{
$error[] = 'Oeps de gebruikersnaam bestaat al.';
}
elseif (strlen($naam) > 50)
{
$error[] = 'de gebruikersnaam mag maar 50 tekens lang zijn!';
}
if (empty($email))
{
$error[] = 'Er is geen e-mail adres ingevoerd!';
}
elseif (!check_mail($email))
{
$error[] = 'Het ingevoerde e-mail adres is niet gedlig!';
}
elseif (controlle_dubbelle_info('tijdelijk', $email, 'email'))
{
$error[] = 'Oeps het ingevoerde e-mail adres is al ingebruik';
}
if (empty($wachtwoord1))
{
$error[] = "Er is geen wachtwoord ingevuld!";
}
elseif ($wachtwoord1 =! $wachtwoord2)
{
$error[] = 'De wachtworderen komen niet overeen';
}
if (count(array_keys($error, true)) == 0)
{
echo ' <span style="color: #FF0000; ">De volgende fouten zijn opgetreden:</span><ul>';
foreach($error as $fout)
{
echo ' <li>'. $fout .'</li>';
}
echo '</ul> ';
}
else
{
echo 'yes gelukt '.$naam.'';
}
?>
Ja, daarom zei ik ook 'beter' en niet 'je moet dit doen'. :) Het is beter om je condities zo specifiek mogelijk te maken. Ook ga je nu niet in de war raken wat $error nou is, je weet nu sowieso dat het een array is (ook zo'n programming style kwestie waar we eens een topic voor moeten maken...)
Wouter, ik denk dat empty juist beter is, omdat deze funcie ervoor gemaakt is. In jouw geval moet je eerst de array gaan tellen, en vervolgens controleren of de count groter is dan 0. Dit lijkt me slechter voor je performance.
[size=xsmall]Toevoeging op 06/11/2012 11:34:55:[/size]
[offtopic]
Wouter J op 06/11/2012 11:31:40
(ook zo'n programming style kwestie waar we eens een topic voor moeten maken...)