register.php funktioniert nicht

11/21/2014 22:13 #NexiZ#1
Hallo Epvp,

Ich habe ein Anliegen, unzwar versuche ich eine Homepage mit den 40k Files von ViruZ zu verbinden... klappt alles soweit, jedoch kann man sich dort nicht registrieren, andauernd heißt es, Registrierung Fehlgeschlagen.

Bei den Viruz Files heißt das ganze ja account_test, spielt dies eine Rolle?

PHP Code:
<h2>Registration</h2>
<div id="con-mid"><div class="clear"></div><div id="con_mid_con">
<?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(!isset(
$_SESSION['user_admin']) && $serverSettings['register_on']) {
  
    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)) {

        
$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,coins,autoloot_expire,safebox_expire,web_aktiviert) 
        VALUES 
        ('"
.$_POST['account']."',PASSWORD('".$userpass."'),'".mysql_real_escape_string($_POST['uname'])."','".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 überprüfen Sie Ihr Postfach, um die Registrierung zu bestätigen.</p>';
          }
          else {
            echo
'<p class="meldung">Account erfolgreich angelegt. Sie können sich nun anmelden.</p>';
          }
          
        }
        else {
          echo
'<p class="meldung">Registrierung fehlgeschlagen: Der Account existiert bereits.</p>';
        }
        
      }
      else {
        echo
'<p class="meldung">Registrierung fehlgeschlagen: bitte alle Felder richtig angeben</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"/></td>
        </tr>
        <tr>
          <th class="topLine">Name:</th>
          <td class="thell"><input type="text" name="uname" maxlength="16" size="16"/></td>
        </tr>
        <tr>
          <th class="topLine">Password:</th>
          <td class="tdunkel"><input type="password" name="pass" maxlength="16" size="16"/></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"/></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"/></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"/>
          </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 type="submit" name="submit" value="registrieren"/> &bull; <input type="reset" value="zurü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>';
  }
?>
</div>
</div>
<div id="con-bot"></div>
Das ist die register.php, ich hoffe ihr könnt mir helfen, desweiteren schönen Abend euch.

Freundliche Grüße
11/21/2014 22:28 Fydes#2
PHP Code:
$sqlCmd = "INSERT INTO account.account  
        (login,password,real_name,email,social_id,question1,answer1,create_time,status,coins,autoloot_expire,safebox_expire,web_aktiviert)  
        VALUES  
        ('"
.$_POST['account']."',PASSWORD('".$userpass."'),'".mysql_real_escape_string($_POST['uname'])."','".mysql_real_escape_string($_POST['email'])."','".$lcode."','".$sfNum."','".$hashSF."','".$sqlZeit."','".$accountStatus."','".$regCoins."','".$expireDate."','".$expireDate."','".$aktivHash."')"; 
        
$sqlQry = mysql_query($sqlCmd,$sqlServ); 
        if(
$sqlQry) { 
Sollte deine Tabelle account_test heißen, solltest du das wohl auch im Script soweit ändern.

mfg
11/21/2014 22:58 #NexiZ#3
Meinst du bei account.account?

PHP Code:
$sqlCmd = "INSERT INTO [U]account.account[/U] 
11/21/2014 23:27 Fydes#4
Ja
11/22/2014 09:20 #0x4b696464#5
Oder du nennst einfach alle databases um ohne _test und stellst die Configdatein der Files ein.

MFG
KIDD
11/22/2014 10:44 nostradame37#6
Wie Fydes schon sagte die datenbanken von diesen files enden auf _test somit kann die homepage nicht Coneckten/Schreiben

Mach es so wie Fydes es dir gepostet hatt oder endere deine datenbank auf standart
zb account_test zu account um. Dabei soltest du beachten das in jedem channe/core db auth auch eine aenderung gemacht werden soll (configs)
mfg
11/22/2014 11:03 #NexiZ#7
Vielen Dank! Werde es gleich mal ausprobieren :-)
11/22/2014 11:23 Fydes#8
Wenn es nicht klappt, kannst dich per PN melden!

MFG
11/22/2014 16:06 Alergix2#9
Add mich mal kann dir villeicht helfen