Hompage Fehler Register.php

09/03/2013 13:50 rakuz123456#1
Servus,
Mein Fehler Code
PHP Code:
NoticeUndefined indexuser_admin in /var/customers/webs/nidemo/pages/register.php on line 12 NoticeUndefined indexuser_admin in /var/customers/webs/ni
/demo/pages/register.php on line 12
Alle Felder sind Pflichtfelder und müssen ausgefüllt werden

Wenn ich mich registieren möchste auf meiner hompage
09/03/2013 13:56 DerForenLeser#2
Poste die Register.php
09/03/2013 13:57 .Inya#3
Poste mal Zeile 1-20 aus deinem register.php :)
Dann kann ich dir helfen
09/03/2013 14:58 rakuz123456#4
PHP Code:
<div class="content_title">Account Erstellen</div>
<div class="content_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(
$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'])>=&& strlen($_POST['account'])<=16) && checkAnum($_POST['pass'])  && strlen($_POST['pass'])>=&& strlen($_POST['pass2'])<=16 && !empty($_POST['pass2']) && (checkName($_POST['uname']) && strlen($_POST['uname'])>=&& 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'])>=&& 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 width="163" class="topLine">Account:</th>
          <td width="156" 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: <img src="./captcha/captcha.php" title="Captcha"/></th>
          <td class="tdunkel"><input type="text" name="captcha" maxlength="5" size="5"/></td>
        </tr>
      </table>
      <center>
      <br />
      <input type="submit" name="submit" value="registrieren"/>
      <input type="reset" value="zurücksetzen"/>
      </center>
    </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 class="content_end"></div>
09/03/2013 15:05 .Inya#5
PHP Code:
if($serverSettings['register_on'] && (!isset($_SESSION['user_admin']) && !checkInt($_SESSION['user_admin']) && !$_SESSION['user_admin']>=0)) { 
->
PHP Code:
if($serverSettings['register_on'] && (!isset($_SESSION['user_admin'])){
    if (!
checkInt($_SESSION['user_admin']) && !$_SESSION['user_admin']>=0)) { 
Und dann dementsprechend unten auch noch eine } hinzufügen :)

€dit: So sollte es passen:
PHP Code:
<div class="content_title">Account Erstellen</div>
<div class="content_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 (
$serverSettings['register_on'] && (!isset($_SESSION['user_admin'])){
    if (!
checkInt($_SESSION['user_admin']) && !$_SESSION['user_admin']>=0){
  
    if(isset(
$_POST['submit']) && $_POST['submit']=="registrieren") {
      if((
checkAnum($_POST['account']) && strlen($_POST['account'])>=&& strlen($_POST['account'])<=16) && checkAnum($_POST['pass'])  && strlen($_POST['pass'])>=&& strlen($_POST['pass2'])<=16 && !empty($_POST['pass2']) && (checkName($_POST['uname']) && strlen($_POST['uname'])>=&& 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'])>=&& 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 width="163" class="topLine">Account:</th>
          <td width="156" 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: <img src="./captcha/captcha.php" title="Captcha"/></th>
          <td class="tdunkel"><input type="text" name="captcha" maxlength="5" size="5"/></td>
        </tr>
      </table>
      <center>
      <br />
      <input type="submit" name="submit" value="registrieren"/>
      <input type="reset" value="zurücksetzen"/>
      </center>
    </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 class="content_end"></div>
09/03/2013 15:52 rakuz123456#6
Geht nicht error
Parse error: syntax error, unexpected '{' in /var/customers/webs/ni209602_6/demo1/pages/register.php on line 12
09/03/2013 16:41 Sintiax#7
Versuch mal die

Code:
<div id="content_top">
 Registration
</div>
<div id="content_main">
<?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'] && !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']) && $_POST['pass']==$_POST['pass2'] && checkMail($_POST['email']) && strlen($_POST['email'])<=40 && $_POST['captcha']==$_SESSION['captcha_id'] &&(checkAnum($_POST['loeschcode']) && strlen($_POST['loeschcode'])==7)) {
        $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."','".$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 ,
          
          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."

          
          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'<div id="success"><p class="success">Account successfully created..</p></div>';
          }
          else {
            echo'<div id="success"><p class="success">Account successfully created..</p></div>';
          }
          
        }
        else {
          echo'<div id="fail"><p class="fail">Registration failed: The account already exists</p></div>';
        }
        
      }
      else {
        echo'<div id="fail"><p class="fail">Registration failed: please specify all the fields correctly</p></div>';
      }
    }
  ?>
    <p>All fields are required and must be filled.<?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 (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(a-Z,0-9)</td>
        </tr>
        <tr>
          <th class="topLine">Repeat Password:</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</td>
        </tr>
        <tr>
          <th class="topLine">deletecode:</th>
          <td class="tdunkel"><input type="text" name="loeschcode" maxlength="7" size="7"/> 7a-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="registrieren"/> &bull; <input type="reset" class="btn" 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 id="content_footer">
</div>
09/03/2013 19:00 Syuki#8
Die Collum user_admin gibt es bei dir nicht. Solltest du am besten in die Datenbank einfügen oder ein anderen Script benutzen.

Syuki
09/03/2013 19:47 .Inya#9
Das ist keine Zeile das ist ne Session. Hat nix mit Datenbank zu tun^^
09/03/2013 19:56 .Tobias#10
Die Session ist nicht gesetzt, kannst du aber eigl. drauf "scheißen".
Als Typ gebe ich dir, dich mit error reporting zu befassen, dort kannst du die notice abschalten.
09/06/2013 18:11 rakuz123456#11
Push