Fehler mit Sonderzeichen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
lamurio
Mitglied
Beiträge: 10
Registriert: 20.04.2008 10:08

Fehler mit Sonderzeichen

Beitrag 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. :-?
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag 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
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Antworten

Zurück zu „Coding & Technik“