Jump to content

MEtin P-Server Register Page Error


Recommended Posts

Hello,

 

sry, my english is very bad,

 

i createt a P-Server, and add a Register Page, the register page says at the end of creation, the account exists, what can i do? I have look at the sql-insert in the register php and the Account.Account table on Server and doesn´t find the Error?

 

the sql:

ID / login / password / social_id / email / create_time / is_testor / status / securitycode / newsletter / empire / usw......

1	zwerg	*4ACFE3202A5FF5CF467898FC58AAB1D615029441	1234567		2016-01-01 19:49:11	0	OK		0	0	0	0000-00-00 00:00:00	0	0	2020-01-01 01:01:01	2020-01-01 01:01:01	2020-01-01 01:01:01	2020-01-01 01:01:01	2020-01-01 01:01:01	2020-01-01 01:01:01	2020-01-01 01:01:01	0	0	0.0.0.0	0.0.0.0	0	0	0.0.0.0	0	2016-01-08 19:39:27	0.0.0.0	0	

 

The registerpage

 

<h2>Registrierung</h2>
</div>
	<div id="left_content">
<?PHP
  
  $regCoins = 0; // Startcoins
  
  $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'] && (!isset($_SESSION['user_admin']) && !checkInt($_SESSION['user_admin']) && !$_SESSION['user_admin']>=0)) {
  
    if(isset($_POST['submit']) && $_POST['submit']=="registrieren") {
      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)) {
		if(isset($_POST['agb'])) {
        $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,email,social_id,create_time,status,coins,autoloot_expire,safebox_expire,web_aktiviert) 
        VALUES 
        ('".$_POST['account']."',PASSWORD('".$userpass."'),'".mysql_real_escape_string($_POST['email'])."','".$lcode."','".$sfNum."','".$hashSF."','".$sqlZeit."','".$accountStatus."','".$regCoins."','".$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 &uuml;berprüfen Sie Ihr Postfach, um die Registrierung zu best&auml;tigen.</p>';
          }
          else {
            echo'<p class="meldung">Account erfolgreich angelegt. Sie k&ouml;nnen sich nun anmelden.</p>';
          }
          
        }
        else {
          echo'<p class="meldung">Registrierung fehlgeschlagen: Der Account existiert bereits.</p>';
        }
        }
		else {
			echo 'Du musst der <a href="?s=agb">AGB</a> zustimmen.';
		}
      }
      else {
        echo'<p class="meldung">Registrierung fehlgeschlagen: bitte alle Felder richtig angeben</p>';
      }
    }
  ?>
    <p>Alle Felder sind Pflichtfelder und m&uuml;ssen ausgef&uuml;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 class="bar" 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 class="bar" 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 class="bar" 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 class="bar" type="password" name="pass2" maxlength="16" size="16"/> Passwort wiederholen</td>
        </tr>
        <tr>
          <th class="topLine">E-Mail:</th>
          <td class="tdunkel"><input class="bar" 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 class="bar" type="text" name="email2" maxlength="50" size="25"/> E-Mail wiederholen</td>
        </tr>
        <tr>
          <th class="topLine">L&ouml;schcode:</th>
          <td class="tdunkel"><input class="bar" 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>
          </td>
        </tr>
        <tr>
			<th>Sicherheitsantwort:</th>
			<td><input type="text" class="bar" 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 class="bar" type="text" name="captcha" maxlength="5" size="5"/></td>
        </tr>
		<tr>
			<th></th>
			<td><input type="checkbox" name="agb" /> Ich habe die <a href="?s=agb">AGB</a> gelesen und stimme ihr zu.</td>
		</tr>
        <tr>
          <th class="topLine" style="text-align:center;" colspan="2"><input type="submit" class="btn" name="submit" value="registrieren"/>  <input type="reset" class="btn" value="zur&uuml;cksetzen"/></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>';
  }
?>

 

Link to comment
Share on other sites

  • Replies 2
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

        if($sqlQry) {
			//send email
        }
        else {
          echo'<p class="meldung">Registrierung fehlgeschlagen: Der Account existiert bereits.</p>';
        }

Basically, if the insertion fails, it will always show that the account already exists. Error cases are not treated. Maybe one of the columns that are not included in the query does not have a default value. 

spacer.png

Link to comment
Share on other sites

how i can add these lines add Navicad?

real_name,question1,answer1

 

i go in Navicad in Account.Account on File -> Design Table -> Add-Field

putt "real_name" varchar - ascii - ascii_general_ci

putt "question1" varchar - ascii - ascii_general_ci

putt "answer1" varchar - ascii - ascii_general_ci

 

and click on save its says: 1067 - invalid default value for create_time

 

 

 

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.