Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Chyba na webu

Udelal jsem si an PC Server jedne hry pres Virtual box,portmapy,xampp na web a Hamachi.Na webu vse funguje i Server ale u Zbebricku a Registrace je chyba.U zebricku kde jsou pouice hracu je chyba nad nimy

    Notice: Undefined index: max in C:\xampp\htdocs\system\rangliste.php on line 17

a pod jmeny

    Notice: Use of undefined constant account_id - assumed 'account_id' in C:\xampp\htdocs\system\rangliste.php on line 52

Nekde je chyba na radku 52 a 17,ale nemohu najit kde.
Takto vypada cely soubory rangliste.php

<div id="content">
   <div class="con_ui con_title"><h2>Kompletni zebricek</h2></div>
       <div class="con_ui con_cont">
        <div class="con_middle">
        <style type="text/css">
      .tr {
         background:url(style/images/th.png);
         width:485px;
         height:30px;
                 }</style>
<?php
echo "<center>";
        mysql_select_db('player');
    $test = "SELECT * from player";
     $testquery = mysql_query($test);
      $num2 = mysql_num_rows($testquery);   
        if($_GET['max']) {
            $get = $_GET['max'];
        } else {
        $get = '0';
    $max = $get + 20;
    $max2 = $get - 20;
if($get > $num2) { }
elseif($get >= 20 && $get < $num2) { 
}
elseif ($num2 <= 20) { echo ""; }
else {  }
echo "</center><br>";
?>
<center><div class="tr"><table border="0">
    <tr>
        <th width="50">Pozice</th>
        <th width="270">Jmeno</th>
        <th width="155">Level</th>
        <th width="200">Exp</th>
        <th width="110">Rise</th>
    </tr>
</table></div></center>
<?php
   mysql_select_db('player');
    $rank = "SELECT * from player WHERE name NOT LIKE '[GA]%' and name NOT LIKE '[SGA]Invasio%' and name NOT LIKE '[SA]%' and name NOT LIKE '[SGM]%' LIMIT 50";
        $query = mysql_query($rank);
    echo "<center><table border=\"0\" width=\"458\">";
    $i = 0;while($array = mysql_fetch_array($query)) {
                $i = $i + 1;
                echo "
                <tr>
                <th width=\"10\">".$i."</th>
                <th width=\"270\">".$array["name"]."</th>
                <th width=\"155\">".$array["level"]."</th>
                <th width=\"200\">".$array["exp"]."</th>";
                $reich = "SELECT empire from player_index where         id = " . $array[account_id] . "";
                    $query2 = mysql_query($reich);
                    $array2 = mysql_fetch_array($query2);
                if($array2["empire"] == 1) {
                echo "<th width=\"100\"><img src=\"style/images/1.jpg\"></th></tr>";
                } elseif($array2["empire"] == 2) {
                echo "<th width=\"100\"><img src=\"style/images/2.jpg\"></th></tr>";
                } else {
                echo "<th width=\"100\"><img src=\"style/images/3.jpg\"></th></tr>";
                }
                }
    echo "</table></center><br>"; // close table
}
?></div><div id="clear"></div>
        </div>
   <div class="con_ui con_bt"></div>
</div>
Předmět Autor Datum
Vždyť ti to tam píše, co je to za chyby. if(isset($_GET['max'])) "account_id" nemáš definované.
Wikan 27.07.2011 09:31
Wikan
A co ti nie je jasne? V 17 riadku volas premennu max a nemas ju evidentne definovanu nikde. V 52 zas…
fleg 27.07.2011 09:32
fleg
Takze to tam mam zkusit vepsat?Potkal jsem ruzne chyby,ale takovuhle jeste ne tak jsem tak trochu mi…
metinator1 27.07.2011 09:32
metinator1
Co chces vpisat a kde? Ja sice nie som programator, ale viem aspon to, ze ked volas nejaku premennu…
fleg 27.07.2011 09:36
fleg
Nidko jinak nevi,jak by to melo vypadat?
metinator1 27.07.2011 10:03
metinator1
Nerozumies pisanemu textu alebo mas problem s jeho pochopenim? Som ti predsa jasne napisal, ze na za…
fleg 27.07.2011 10:14
fleg
To jsem pochopil ze z 1 se to nepozna ale je jich vic kdyby to pomohlo
metinator1 27.07.2011 10:22
metinator1
$array["account_id"]
Wikan 27.07.2011 10:26
Wikan
Nejak to nejde,porad tam je ta chyba
metinator1 27.07.2011 11:37
metinator1
Úplně stejná? To asi ne.
Wikan 27.07.2011 11:39
Wikan
Kdyz tam enco umazu nebo pripisu,tak se obevi jeste vice chyb.Nevi nekdo jak by to melo cele vypadat…
metinator1 27.07.2011 11:40
metinator1
Místo if($_GET['max']) dej if(isset($_GET['max'])) Místo $array[account_id] dej $array["account_id"]
Wikan 27.07.2011 11:42
Wikan
Diky moc,uz to funguje je to bez chyb.Jeste jedna malickost,u Registrace mam taky kdyz se vytvori uc…
metinator1 27.07.2011 11:48
metinator1
1) tohle opravdu nejsou celé chybové hlášky 2) myslíš, že někdo pozná, co je to za chybu, když nemá…
Wikan 27.07.2011 12:37
Wikan
Zdrojak by mel byt toto:registration.php <div id="content"> <div class="con_ui con_title"><h2>Regis…
metinator1 27.07.2011 17:00
metinator1
Tak fajn, na jednu věc jsi odpověděl. Ještě tu druhou.
Wikan 27.07.2011 17:02
Wikan
Druha vec jsou ty chyby co pisou,opravdu to pise jen to,co jsem psal s tim radkem 15 to pise pokud s…
metinator1 27.07.2011 17:04
metinator1
Tak tomu nevěřím, že to píše opravdu jenom tohle.
Wikan 27.07.2011 17:15
Wikan
Pokud chces,mohu zapnout Server a udelat Screeny.
metinator1 27.07.2011 17:17
metinator1
Udělej.
Wikan 27.07.2011 17:21
Wikan
je podstatne,ze predtim je napsano jeste Notice: Undefined variable: error in ?
metinator1 27.07.2011 17:25
metinator1
To je asi to nejdůležitější.
Wikan 27.07.2011 17:27
Wikan
Tak to je to co se pise predtim,mam proad udelat ty Screeny,nebo to staci?
metinator1 27.07.2011 17:28
metinator1
Znovu opakuji: napiš sem celé chybové hlášky. A obě.
Wikan 27.07.2011 17:31
Wikan
První chybová hláška Notice: Undefined variable: error in C:\xampp\htdocs\system\registration.php o…
metinator1 27.07.2011 17:34
metinator1
Za řádek $insert = ... přidat řádek $error = "";
Wikan 27.07.2011 17:42
Wikan
Díky moc,funguje to :-)
metinator1 27.07.2011 17:56
metinator1
Nasel jsem vcera jeste 2 chyby takove obe stejne Notice: Undefined index: user_admin in C:\xampp\ht…
metinator1 31.07.2011 10:14
metinator1
Což o to, chyba by opravit šla. Ale jestli to potom bude dělat to co má, to netuším.
Wikan 31.07.2011 10:58
Wikan
Taky prave orpavil jsem,ale cele to zmizelo,nevis co se tam ma pridat nebo umazat prosim?
metinator1 31.07.2011 11:02
metinator1
Netuším, co má znamenat proměnná user_admin. To se budeš muset zeptat autora.
Wikan 31.07.2011 11:03
Wikan
To je registrace,jestli pomuze.Ale jinak nevim,
metinator1 31.07.2011 11:09
metinator1
Co je registrace? Proměnná určitě není registrace.
Wikan 31.07.2011 11:11
Wikan
To asi ne no,jedine user_admin mozna bude nekde v admin.php vystevetleno jestli pomuze kdyz sem dam.…
metinator1 31.07.2011 11:14
metinator1
Nepomůže.
Wikan 31.07.2011 11:24
Wikan
Tak to nevim,jeste tohle asi tak ne co? <?PHP if(isset($_SESSION['user_admin']) && checkInt($_SESSI…
metinator1 31.07.2011 11:27
metinator1
Ne.
Wikan 31.07.2011 11:28
Wikan
Tak to fakt nevim,zrejme si s tim budu muset nejak pohrat jako s tou prvni chybou.
metinator1 31.07.2011 11:29
metinator1
Tak tohle porad nejde,ale je to jen 1 chyba bud casem opravim nebo to tak necham.Ale tahle chyba by…
metinator1 31.07.2011 13:04
metinator1
Používáš nedefinované proměnné. Měl bys je předávat pomocí GET, ale z nějakého důvodu nepředáváš. Be…
Wikan 31.07.2011 13:33
Wikan
Nebylo by jednodussi,sem dat odkaz na stazeni originalni verze aby jsi se podival sam?
metinator1 31.07.2011 13:36
metinator1
Trávit hodiny studiem cizího projektu se mi opravdu nechce.
Wikan 31.07.2011 13:44
Wikan
Tak dobre nevadi,kdyby neco napadlo tak se muzes ozvat. poslední
metinator1 31.07.2011 13:45
metinator1

Co chces vpisat a kde? Ja sice nie som programator, ale viem aspon to, ze ked volas nejaku premennu a ides s nou nieco robit (napriklad porovnavanie hodnoty ako pri max) tak ju musis mat najprv niekde definovanu.
Pastnutim jedneho php filu sa neda povedat, kde mas chybu,

Nerozumies pisanemu textu alebo mas problem s jeho pochopenim?
Som ti predsa jasne napisal, ze na zaklade jedenho php filiu sa neda urcit ako odstranit chybu a navyse si bol tak hlupy, ze si na zaciatku ani nenapisal o aku hru sa jedna a aj keby niekto mal tu hru instalovanu a vedel ako chybu odstranit tak ti s tym nepomoze, kedze on nema odkial vediet, ze sa jedna prave o jeho hru.

Diky moc,uz to funguje je to bez chyb.Jeste jedna malickost,u Registrace mam taky kdyz se vytvori ucet je napsano

C:\xampp\htdocs\system\registration.php on line 20

A kdyz se ucet nevytvori a napise se neco spatne tak je napsano

C:\xampp\htdocs\system\registration.php on line 15

Ale soubor se nejde nahrat,prtoze texet je prilis velky.

Zdrojak by mel byt toto:registration.php

<div id="content">
	<div class="con_ui con_title"><h2>Registrace</h2></div>
    	<div class="con_ui con_cont">
        <div class="con_middle">
        <center>
<?php
if(isset($_POST['submit']) && $_POST['submit'] == 'Registrovat') {
	$account   = mysql_real_escape_string($_POST['account']);
	$password  = mysql_real_escape_string($_POST['password']);
	$email     = mysql_real_escape_string($_POST
['email']);
	$real_name = mysql_real_escape_string($_POST['real_name']);
$social_id = mysql_real_escape_string($_POST['social_id']);
$insert = "INSERT INTO account.account (login,password,email,real_name,social_id) Value('$account',PASSWORD('$password'),'$email','$real_name','$social_id')";
	if (strlen($account) < 1) {$error=$error."Prosime,vyplnte ID uctu!<br>";}
	if (strlen($password) < 1) {$error=$error."Prosime,zadejte heslo!<br>";}
	if (strlen($email) < 1) {$error=$error."Vyplnte Vas Email! <br>";}
	if (strlen($real_name) < 1) {$error=$error."Prosime,vyplnte jmeno!<br>";}
	if (strlen($social_id) < 7) {$error=$error."Prosime,vyplnte vymazavaci kod!<br>";}
	if (strlen($error) > 0){
		echo "<a href=\"javascript:history.back();\">>Znovu<</a><br>$error";
	}else{
$result = mysql_query($insert);
if(!$result) { 
	echo '<font color="#990000">Vytvoreni uctu selhalo! </font>'; 
	} else { 
	echo '<font color="#669900">Ucet uspesne vytvoren!<br>
						Muzete se prihlasit k Vasemu uctu:<br>
								Vas ucet: </font> '.$account.'<br>
								<font color="#669900">Vase heslo:</font> '.$password.'<br><br>';	 }	}
}
?>

<form action="index.php?sys=registration" method="post">

<table width="200" border="0">
  <tr>
    <td width="70" align="right">ID uctu:</td>
    <td width="5">&nbsp;</td>
    <td width="100"><input type="text" name="account" class="txt" /></td>
  </tr>
  <tr>
    <td align="right">Heslo:</td>
    <td>&nbsp;</td>
    <td><input type="password" name="password" class="txt" /></td>
  </tr>
  <tr>
    <td align="right">Email:</td>
    <td>&nbsp;</td>
    <td><input type="text" name="email" class="txt" /></td>
  </tr>
  <tr>
    <td align="right">Jmeno:</td>
    <td>&nbsp;</td>
    <td><input type="text" name="real_name" class="txt" /></td>
  </tr>
  <tr>
    <td align="right">Mazaci kod:</td>
    <td>&nbsp;</td>
    <td><input type="text" name="social_id" class="txt" maxlength="7" /></td>
  </tr>
</table>
<input type="submit" name="submit" value="Registrovat" class="btn" />
<input type="reset"  class="btn" />
</form></center>
        </div>
        <div id="clear"></div>
        </div>
	<div class="con_ui con_bt"></div>
</div>

První chybová hláška

Notice: Undefined variable: error in C:\xampp\htdocs\system\registration.php on line 15

a druha po registraci co se ucet vytvori je

Notice: Undefined variable: error in C:\xampp\htdocs\system\registration.php on line 20

Nasel jsem vcera jeste 2 chyby takove obe stejne

Notice: Undefined index: user_admin in C:\xampp\htdocs\pages\register.php on line 11

prvni jsem opravil ale ta druha vubec nejde opravit,snad vse jsem zkusil,nevite cim to je?Prikladam zdroj(jen zacatek cely se nevejde)

<h2>Registrace</h2>
<?PHP
  
  $regCoins = 30; // 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']) && !isset($_SESSION['user_admin']) && !$_SESSION['user_admin']>=11)) {

    if(isset($_POST['submit']) && $_POST['submit']=="Registrovat") {
      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?

Vim,ze chyba je nekde tady

!$_SESSION['user_admin']>=11)) {

ale vubec nejde opravit.
Diky za rady

To asi ne no,jedine user_admin mozna bude nekde v admin.php vystevetleno jestli pomuze kdyz sem dam.

<?PHP
  if($_SESSION['user_admin']>0) 
  {
    $adminPath = "./pages/admin/";
    
    if(isset($_GET['a']) && !empty($_GET['a']))
    {
      if(file_exists($adminPath.$_GET['a'].".php")) 
      {
        include($adminPath.$_GET['a'].".php");
      }
      else {
        include($adminPath."home.php");
      }
    } else 
    {
      include($adminPath."home.php");
    }
  }
  else
  {
    echo'<p class="meldung">Nemate opravneni vstoupit do teto sekce.</p>';
  }
?>

Tak to nevim,jeste tohle asi tak ne co?

<?PHP
  if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {
    ?>
    <div id="userInfo">
      <a href="index.php?s=logout">Odhlasit</a>
      <a href="index.php?s=login">Uzivatelsky panel</a>
      <a href="index.php?s=itemshop">Itemshop</a>
      <?PHP
        if($_SESSION['user_admin']>0) { echo'<a href="index.php?s=admin">Admin</a>'; }
      ?>
    </div>
    <?PHP
  }
  else {
  ?>
    <form id="userInfo" style="margin:0;padding:0; float:right;" action="index.php?s=login" method="POST">
      <input type="text" maxlength="16" size="10" name="userid">&nbsp;<input type="password" maxlength="16" size="10" name="userpass">&nbsp;<input type="submit" value="LOGIN" name="submit"> 
    </form>
  <?PHP
  }
?>

Tak tohle porad nejde,ale je to jen 1 chyba bud casem opravim nebo to tak necham.Ale tahle chyba by sla opravit ne?Sice nechapu proc tam je to br.Jsou 2 ikonky na nejaky text a v nich je:v prvni

<br /><b>Notice</b>:  Undefined index: cc in <b>C:\xampp\htdocs\pages\use_coupon.php</b> on line <b>40</b><br />

a v druhe

<br /><b>Notice</b>:  Undefined index: cp in <b>C:\xampp\htdocs\pages\use_coupon.php</b> on line <b>48</b><br />

Zdroj:

<?PHP

  if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {
    
    echo'<h2>Proplatit kupon</h2>';
    echo'<p>Zde muzes proplatit kupon,ktery jsi dostal.</p>';
	
	if(isset($_POST['getCoins']) && $_POST['getCoins'] == "Proplatit kupon")
	{
		$couponCode = mysql_real_escape_string($_POST["couponCode"]);
		$couponPasswort = mysql_real_escape_string($_POST["couponPasswort"]);
		
		$sqlCmd = mysql_query("SELECT * FROM ".SQL_HP_DB.".coupons WHERE code = '".$couponCode."' and password = '".$couponPasswort."' and status = '0'");
		$sqlCmdA = mysql_fetch_array($sqlCmd);
		$nrow = mysql_num_rows($sqlCmd);
		if($nrow == true)
		{
			$coinMenge = $_SESSION['user_coins'] + $sqlCmdA["worth"];
			$addCoinsSQL = mysql_query("UPDATE account.account SET coins = '".$coinMenge."'");
			$changeCouponStatus = mysql_query("UPDATE ".SQL_HP_DB.".coupons SET status = '1', used_by = '".$_SESSION['user_id']."' WHERE code = '".$couponCode."' and password = '".$couponPasswort."' and status = '0'");
			
			echo "Proplatil jsi kupon. Nyni mas ".$coinMenge." Minci.";
			$_SESSION['user_coins'] = $coinMenge;
			
		}
		else
		{
			echo "Zadany kod je neplatny.";
		}
	}
 ?> 
  
  <form method="post" action="index.php?s=use_coupon">
  	<table>
    	<tr>
        	<th class="topLine">
            	Kod Kuponu:
            </th>
            <td class="thell">
            	<input type="text" name="couponCode" value="<?php echo $_GET["cc"]; ?>" />
            </td>
        </tr>
        <tr>
        	<th class="topLine">
            	Heslo Kuponu:
            </th>
            <td class="tdunkel">
            	<input type="text" name="couponPasswort" value="<?php echo $_GET["cp"]; ?>" />
            </td>
        </tr>
        <tr>
        	<td colspan="2" class="thell">
            	<input type="submit" name="getCoins" value="Proplatit kupon" />
            </td>
        </tr>
    </table>
  </form>
<?PHP  
  }
  else {
    echo'<p class="meldung">Musite se prihlasit.</p>';
  }
?>

Tohle by slo opravit,ne?Ale nenasel jsem jak.

Zpět do poradny Odpovědět na původní otázku Nahoru