Seite 1 von 1

Fehler mit Sonderzeichen

Verfasst: 29.04.2008 17:57
von lamurio

Code: Alles auswählen

<?php
if( $_POST['do'] == "check" ) {
  if( empty( $_POST['email'] ) || empty( $_POST['_email'] ) || empty( $_POST['nick'] ) || empty( $_POST['pass'] ) || empty( $_POST['_pass'] ) ) {
      $error_list = "Es muss alles ausgefüllt werden.";
  } else {
     if( !eregi( "^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $_POST['email'] ) ) {
        $error_list .= "Es muss alles ausgefüllt werden.<br>";
     }
     if( !eregi( "^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $_POST['nick'] ) ) {
      $error_list .= "Sonderzeichen beim Accountnamen sind verboten.<br>";
    }    
     if( !eregi( "^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $_POST['pass'] ) ) {
      $error_list .= "Sonderzeichen beim Passwort sind verboten.<br>";
    }    
     if( $_POST['email'] != $_POST['_email'] ) {
        $error_list .= "E-Mail Stimmt nicht überein.<br>";
     }
     if( $_POST['pass'] != $_POST['_pass'] ) {
        $error_list .= "Passwort stimmt nicht überein.<br>";
     }
     $checkmail = mysql_fetch_array( mysql_query( "SELECT mail FROM crew WHERE mail='".$_POST['email']."'" ) );
     if( !empty( $checkmail['mail'] ) ) {
        $error_list .= "Sorry diese E-mail ist bereits in der Datenbank<br>";
     }
     $checknick = mysql_fetch_array( mysql_query( "SELECT nick FROM crew WHERE nick='".$_POST['nick']."'" ) );
     if( !empty( $checknick['nick'] ) ) {
        $error_list .= "Sorry dieser Account ist bereits in der Datenbank.<br>";
     }
     if( empty( $error_list ) ) {
			     $sql = "INSERT INTO crew SET
								    nick='".$_POST['nick']."',
								    pw='".$_POST['pass']."',
								    mail='".$_POST['email']."'";
$nick = $HTTP_POST_VARS["nick"];  			//accountname variable 
$pass = $HTTP_POST_VARS["pass"];   		//password variable
$email = $HTTP_POST_VARS["email"]; 		//e-mail variable

$datei = "next-lvl/accounts/sphereacct.scp"; 		//account datei 

$fp = fopen($datei,"a"); 				//öffnet die account datei

fputs($fp,"[$nick]\n //schreibt den acc rein 		
PASSWORD=$pass\n"); 
fclose($fp); //schliest die datei

			     $result = mysql_query( $sql ); 
        $error_list = "Du bist nun regestriert !";
     }
  }
?>
     <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td height="20"><br><?php print $error_list; ?><br><br>        </td>
       </tr>
     </table>
<?php
Er sagt immer das der Accountname und das Passwort nicht aus Sonderzeichen bestehen dürfen obwohl garkeine vorhanden sind. :-?

Verfasst: 29.04.2008 21:16
von cYbercOsmOnauT
1.) Falsches Forum
2.) Wenn Du einmal kurz über die regulären Ausdrücke schaust, siehst Du, dass die für die korrekte Email, den korrekten Nick und dem korrekten Passwort übereinstimmen. Dein RegEx prüft auf korrekte Emailadressen.

Will heissen, wenn Du als Usernamen so etwas Hallo@Bla.de und als Passwort anon@no.org verwendest, wird keine Fehlermeldung kommen.

Besser Deine RegEx'es aus.

Grüße,
Tekin