Homepage Problem...

07/26/2013 19:03 Radiatos#1
Hallo Community,

ich hab ein Problem mit meiner HP:

Registrierung fehlgeschlagen: Der Account existiert bereits.
Alle Felder sind Pflichtfelder und müssen ausgefüllt werden.

Ich hab die Files von xGr33n mit Unbugged Invoice Files. Ich denk mal des liegt an der register.php. Hier is sie :

Code:
<div id="content_top"><span style="color: #000000; text-shadow: 1px 1px 10px #000000;"><strong>Registration</strong></span></div>
<div id="content_main">
<?PHP
  
  $regcash = 0; // Startcash
  
  $laufZeit = 365; //Tage autoloot,safebox
  $calcLZ = (60*60*24)*365;
  $expireStamp = time()+$calcLZ;
  $expireDate = date("Y-m-d H:i:s",$expireStamp);
  
  if($serverSettings['register_on'] && !checkInt($_SESSION['user_admin']) && !$_SESSION['user_admin']>=0) {
  
    if(isset($_POST['submit']) && $_POST['submit']=="register") {
      if((checkAnum($_POST['account']) && strlen($_POST['account'])>=8 && strlen($_POST['account'])<=16) && checkAnum($_POST['pass'])  && strlen($_POST['pass'])>=8 && strlen($_POST['pass2'])<=16 && !empty($_POST['pass2']) && (checkName($_POST['uname']) && strlen($_POST['uname'])>=3 && strlen($_POST['uname'])<=20) && $_POST['pass']==$_POST['pass2'] && checkMail($_POST['email']) && strlen($_POST['email'])<=40 && $_POST['captcha']==$_SESSION['captcha_id'] && $_POST['email']==$_POST['email2'] && (checkAnum($_POST['sicherheitsa']) && strlen($_POST['sicherheitsa'])>=3 && strlen($_POST['sicherheitsa'])<=16) && checkInt($_POST['sicherheitsf']) && (checkAnum($_POST['loeschcode']) && strlen($_POST['loeschcode'])==7)) {

        $hashSF = md5($_POST['sicherheitsa']);
        $sfNum = mysql_real_escape_string($_POST['sicherheitsf']);
        $lcode = mysql_real_escape_string($_POST['loeschcode']);
        
        $zuFall = rand(99999,999999999);
        $userpass=mysql_real_escape_string($_POST['pass']);
        
        $aktivHash = ($serverSettings['mail_activation']) ? md5($zuFall):'';
        $accountStatus = ($serverSettings['mail_activation']) ? 'BLOCK':'OK';
        
        $sqlCmd = "INSERT INTO account.account 
        (login,password,real_name,email,social_id,question1,answer1,create_time,status,cash,autoloot_expire,safebox_expire,) 
        VALUES 
        ('".$_POST['account']."',PASSWORD('".$userpass."'),'".mysql_real_escape_string($_POST['uname'])."','".mysql_real_escape_string($_POST['email'])."','".$lcode."','".$sfNum."','".$hashSF."','".$sqlZeit."','".$accountStatus."','".$regcash."','".$expireDate."','".$expireDate."','".$aktivHash."')";
        $sqlQry = mysql_query($sqlCmd,$sqlServ);
        if($sqlQry) {
          
          
          $absender = $serverSettings['titel']." Registration";
          $email = $serverSettings['reg_mail'];
          $empfaenger = $_POST['email'];
          $mail_body = "Hallo ".$_POST['uname'].",
          
          deine Registration auf ".$serverSettings['titel']." war erfolgreich! Um auch auf dem Server spielen zu können, musst du deinen Account aktivieren.
          Das kannst du über den folgenden Link tun:
          
          ".$serverSettings['url']."/index.php?s=login&do=aktivieren&hash=".$aktivHash."
          
          Deine Daten sind:
          Account: ".$_POST['account']."
          Passwort: ".$userpass."
          
          Löschcode: ".$lcode."
          Sicherheitsfrage: ".$sFrage[$sfNum]."
          Antwort: ".$_POST['sicherheitsa']."
          
          Viel Spaß beim Spielen,
          
          Dein ".$serverSettings['titel']."-Team
          
          
          Diese E-Mail wurde automatisch generiert. Bitte keine Antworten an diese Adresse schicken.";
          $titel = "Registrierung auf ".$serverSettings['titel'];
          
          $header = "X-Priority: 3\n";
          $header .= "X-Mailer: ".$serverSettings['titel']." Homepage Mailer\n";
          $header .= "MIME-Version: 1.0\n";
          $header .= "From: ".$absender." <".$serverSettings['reg_mail'].">\n";
          $header .= "Reply-To: ".$serverSettings['reg_mail']."\n";
          $header .= "Content-Type: text/plain; charset=iso-8859-1\n";
          
          
          if($serverSettings['mail_activation']) {
            mail($empfaenger, $titel, $mail_body, $header);
            echo'<p class="meldung">Account erfolgreich angelegt. Bitte überprüfen Sie Ihr Postfach, um die Registrierung zu bestätigen.</p>';
          }
          else {
            echo'<p class="meldung"><span style="color: green; text-shadow: 1px 1px 10px green;"><strong>Account erfolgreich angelegt. Sie können sich nun anmelden.</strong></span></p>';
          }
          
        }
        else {
          echo'<p class="meldung"><span style="color: red; text-shadow: 1px 1px 10px red;"><strong>Registrierung fehlgeschlagen: Der Account existiert bereits.</strong></span></p>';
        }
        
      }
      else {
        echo'<p class="meldung"><span style="color: red; text-shadow: 1px 1px 10px red;"><strong>Registrierung fehlgeschlagen: bitte alle Felder richtig angeben</strong></span></p>';
      }
    }
  ?>
    <p>Alle Felder sind Pflichtfelder und müssen ausgefüllt werden.<?PHP if($serverSettings['mail_activation']) { echo'<br/><b>Der Account wird per E-Mail aktiviert, also eine richtige E-Mail eingeben!</b>'; } ?></p>
    <form action="index.php?s=register" method="POST">
      <table>
        <tr>
          <th class="topLine">Account:</th>
          <td class="tdunkel"><input type="text" name="account" maxlength="16" size="16"/> 8-16 Zeichen (nur a-Z,0-9)</td>
        </tr>
        <tr>
          <th class="topLine">Name:</th>
          <td class="thell"><input type="text" name="uname" maxlength="16" size="16"/> 3-20 Zeichen (nur a-Z,0-9)</td>
        </tr>
        <tr>
          <th class="topLine">Password:</th>
          <td class="tdunkel"><input type="password" name="pass" maxlength="16" size="16"/> 8-16 Zeichen (nur a-Z,0-9)</td>
        </tr>
        <tr>
          <th class="topLine">Password wiederholen:</th>
          <td class="thell"><input type="password" name="pass2" maxlength="16" size="16"/></td>
        </tr>
        <tr>
          <th class="topLine">E-Mail:</th>
          <td class="tdunkel"><input type="text" name="email" maxlength="50" size="25"/> max. 40 Zeichen</td>
        </tr>
        <tr>
          <th class="topLine">E-Mail wiederholen:</th>
          <td class="thell"><input type="text" name="email2" maxlength="50" size="25"/></td>
        </tr>
        <tr>
          <th class="topLine">Löschcode:</th>
          <td class="tdunkel"><input type="text" name="loeschcode" maxlength="7" size="7"/> 7 Zeichen (nur a-Z,0-9)</td>
        </tr>
        <tr>
          <th class="topLine">Sicherheitsfrage:</th>
          <td class="thell">
            <select name="sicherheitsf">
              <?PHP
                foreach($sFrage AS $fragew => $frage) {
                  echo'<option value="'.$fragew.'">'.$frage.'</option>';
                }
              ?>
            </select>
            <input type="text" name="sicherheitsa" maxlength="16" size="16"/> 3-16 Zeichen (nur a-Z,0-9)
          </td>
        </tr>
        <tr>
          <th class="topLine">Captcha:</th>
          <td class="tdunkel"><img src="./captcha/captcha.php" title="Captcha"/>&nbsp;<input type="text" name="captcha" maxlength="5" size="5"/></td>
        </tr>
        <tr>
          <th class="topLine" style="text-align:center;" colspan="2"><input class="btn" type="submit" name="submit" value="register"/> &bull; <input class="btn" type="reset" value="reset"/></th>
        </tr>
      </table>
    </form>
  <?PHP
  }
  else {
    echo'<p class="meldung">Die Registration ist deaktiviert oder Sie sind bereits angemeldet. Es kann kein weiterer Account erstellt werden.</p>';
  }
?>
</div>
<div id="content_footer"></div>
könnt ihr mir sagen wie ich des beheben kann?`.
07/26/2013 19:10 Fr33ak#2
if($sqlQry)

Prüfen ob es einen Mysql Fehler gab anstatt zu prüfen ob der Query okay war, wenn es keinen Fehler gab prüfen ob eine Zeile hinzugefügt wurde.
07/26/2013 19:16 Radiatos#3
Quote:
Originally Posted by Fr33ak View Post
if($sqlQry)

Prüfen ob es einen Mysql Fehler gab anstatt zu prüfen ob der Query okay war, wenn es keinen Fehler gab prüfen ob eine Zeile hinzugefügt wurde.
bitte genau xD bin nich so gut in php
07/26/2013 19:26 Fr33ak#4
echo'<p class="meldung"><span style="color: red; text-shadow: 1px 1px 10px red;"><strong>Registrierung fehlgeschlagen: Der Account existiert bereits.'.mysql_error().'</strong></span></p>';

Änder das mal so und schreib hier rein was da für ein Fehler kommt.
07/26/2013 19:39 Radiatos#5
Quote:
Originally Posted by Fr33ak View Post
echo'<p class="meldung"><span style="color: red; text-shadow: 1px 1px 10px red;"><strong>Registrierung fehlgeschlagen: Der Account existiert bereits.'.mysql_error().'</strong></span></p>';

Änder das mal so und schreib hier rein was da für ein Fehler kommt.
erst kam: you have an sql syntax fehler. und jetzt kommt das:

Registrierung fehlgeschlagen: Der Account existiert bereits.Column count doesn't match value count at row 1
07/26/2013 19:51 Fr33ak#6
Steht doch da was du falsch machst.

INSERT INTO account.account
PHP Code:
(login,password,real_name,email,social_id,question1,answer1,create_time,status,cash,autoloot_expire,safebox_expire,) 
12 Spalten
PHP Code:
('".$_POST['account']."',PASSWORD('".$userpass."'),'".mysql_real_escape_string($_POST['uname'])."','".mysql_real_escape_string($_POST['email'])."','".$lcode."','".$sfNum."','".$hashSF."','".$sqlZeit."','".$accountStatus."','".$regcash."','".$expireDate."','".$expireDate."','".$aktivHash."')"; 
13 Werte
Wie willst du in 12 Spalten 13 Werte eintragen?
07/26/2013 19:58 Radiatos#7
Quote:
Originally Posted by Fr33ak View Post
Steht doch da was du falsch machst.

INSERT INTO account.account
PHP Code:
(login,password,real_name,email,social_id,question1,answer1,create_time,status,cash,autoloot_expire,safebox_expire,) 
12 Spalten
PHP Code:
('".$_POST['account']."',PASSWORD('".$userpass."'),'".mysql_real_escape_string($_POST['uname'])."','".mysql_real_escape_string($_POST['email'])."','".$lcode."','".$sfNum."','".$hashSF."','".$sqlZeit."','".$accountStatus."','".$regcash."','".$expireDate."','".$expireDate."','".$aktivHash."')"; 
13 Werte
Wie willst du in 12 Spalten 13 Werte eintragen?

ja habs geändert und geht ;) vielen dank ;)

#close request
#thx given
07/18/2014 23:24 Dayma aka Verox#8
Habs genau so gemacht aber Trotzdem noch dieses Scheiß
Quote:
Registrierung fehlgeschlagen: Der Account existiert bereits.
Alle Felder sind Pflichtfelder und müssen ausgefüllt werden.