| 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: 16 let
|
|||
0