Autor | Zpráva | ||
---|---|---|---|
Mikeses Profil * |
chat.php
<head> <style> a:link, a:visited { color: #000000; text-decoration: none } a:active, a:hover { color: #000000; font-weight:none ; } </style> <meta http-equiv="Refresh" content="30;URL=http://localhost/odkazy/chat.php"> </head> <?php $conn = @mysql_connect("localhost", "ic_mikeses","Toto si necham pro sebe"); if (!@mysql_select_db("ic_mikeses", $conn)) { echo "<big><pre><b>Omlouváme se, probíhá údržba serveru...</b></pre></big>"; exit; } define ("ROWS", 20); $vysledek=mysql_query("select * from chat order by time desc LIMIT 15"); while ($zaznam=MySQL_Fetch_Array($vysledek)) { $chatudaj1=mysql_query("select stat, pohlavi, id, online, admin from redirect where user = '".$zaznam["uzivatel"]."'"); while ($chatudaj=MySQL_Fetch_Array($chatudaj1)) { $admin1=mysql_query("select admin from redirect where user = '".$_COOKIE["nicknam"]."'"); while ($admin=MySQL_Fetch_Array($admin1)) { if($admin["admin"] > 0) { mysql_query("DELETE FROM chat WHERE ide=$id"); echo '<a href="chat.php?fce=del&id='.$zaznam["ide"].'"><img src="../images/no.gif" border="0"></a>'; } $zaznam["radek"]=strip_tags($zaznam["radek"]); echo "<font face='Verdana'><small>".$zaznam["cas"]." | "; echo "<img src='../images/".$chatudaj["stat"].".gif' border='0'> <img src='../images/".$chatudaj["pohlavi"].".gif' border='0'> <img src='../images/".$chatudaj["online"].".png' border='0'> <a href='../index.php?menu=profil&id=".$chatudaj["id"]."' target='_blank'>"; echo " ".$zaznam["uzivatel"]."</a>"; if($chatudaj["admin"] == 1) { echo ' <img src="../images/1.gif" alt="Administrátor">'; } else if($chatudaj["admin"] == 2) { echo ' <img src="../images/2.gif" alt="Hlavní Administrátor">'; } echo "<code><font face='Verdana'> | ".$zaznam["radek"]."</small><br></font></code></font>"; } } } ?> Chyba : na každém řádku mi napíše Notice: Undefined variable: id in C:\wamp\www\odkazy\chat.php on line 39 . Na normalnich hostingech zadne warning nepise, ae jelikoz to chcem mit co nejkvalitnejsi dal sem si web na local kde zobrazuje i warn. PLS help nevim si rady |
||
perun Profil |
#2 · Zasláno: 30. 10. 2009, 20:25:50 · Upravil/a: perun
1. Veď to máš priamo napísané v tej chybovej hláške: používaš nedefinovanú premennú $id na riadku 39:
mysql_query("DELETE FROM chat WHERE ide=$id"); Kde sa tá premenná berie? Z url? V tom prípade máš vypnuté register_globals. Nezapínaj to, radšej použi $_GET['id'] 2. S chybou to nesúvisí, ale skús si ten zdrojový kód aj nejako formátovať. Zle sa to číta. |
||
Mikeses Profil |
#3 · Zasláno: 30. 10. 2009, 20:38:48
zapnul sem register globals a nic .. sem este php lama co s $_GET['id'] ?
|
||
Mikeses Profil |
#4 · Zasláno: 30. 10. 2009, 20:39:09
vypada to takto http://mikeses.ic.cz/odkazy/chat.php
|
||
AM_ Profil |
#5 · Zasláno: 30. 10. 2009, 21:31:39
perun:
„V tom prípade máš vypnuté register_globals. Nezapínaj to, radšej použi $_GET['id']“ Mikeses: „zapnul sem register globals a nic .. sem este php lama“ možná bys měl navštívit večerní školu a zlepšit se ve čtení, perun zcela správně radil nezapínat. Místo $id máš používat $_GET['id'], to je správný přístup k proměnným z URL. Zkus PHP studovat z nějakého aktuálního zdroje, ne několik let starých skriptů používajících tyhle archaismy. Ale abys nedostával tu notice, musíš nejdřív ověřit, že taková proměnná vůbec existuje. takže něco jako if ($admin ...){ if (isset($_GET['id'])){ $id=(int)$_GET['id']; //nejjednodussi ochrana cisla proti sql injection mysql_query("DELETE FROM chat WHERE id=$id"); } } Také bych pro mazání souboru zvolil příznačnější název proměnné, třeba "deleteId" místo "id" |
||
Mikeses Profil |
#6 · Zasláno: 30. 10. 2009, 21:44:36 · Upravil/a: Mikeses
OK funguje thx
|
||
Časová prodleva: 14 let
|
0