| |
Živjo!
Imam vprašanje v zvezi s PHP-jem in MySql.
V datoteki user.php imam sprogramirano, kdo je administrator: if($luser!="" && $lpass!=""){ include "nastavitve.php"; mysql_connect($host,$user,$pass); mysql_select_db($database); $result=mysql_query("SELECT*FROM uporabniki WHERE '$luser'= ime AND '$lpass'= geslo"); $count=mysql_num_rows($result); $result2=mysql_query("SELECT*FROM uporabniki WHERE '$luser'= ime AND '$lpass'= geslo AND admin='da'"); $count2=mysql_num_rows($result2); if($count==1){ setcookie('user',$luser,time()+3600); if($count2==1) setcookie('admin','da',time()+3600); }else{ setcookie('error','Uporabnik s tem imenom in geslom ne obstaja.',time()+2); } }}
Sledi datoteka show.php, kjer imam kodo: if(isset($_COOKIE["admin"])) $dlt=""; else $dlt=""; echo"".$row['user']." ".$row['message']." ".$hours.":".$minutes.":".$seconds."".$dlt." ";}
V bazi sem popravil vrstico pri uporabniku, za katerega želim, da je administrator. Popravil sem stolpec v - da.
Zakaj mi potem na strani ne pokaže križca in s tem možnost za izbris?
Naaaaaaajelpša hvala za vso pomoč!
spremenil: NikMan (4.6.2012 ob 22.41.15)
|
| |
| |
V sami kodi kakšnih posebnih napak ni.
Edino show.php ne vem, čemuz služi ter kaj naj bi delal ta pogoj, kjer je v vseh primerih ista vrednost.
if(isset($_COOKIE["admin"])) $dlt=""; else $dlt="";
|
| |
| |
Očitno vam malo nagaja tale code gumb, ker mi zbriše vsebino teh dltjev. Evo, takle je show.php:if(isset($_COOKIE["admin"])) $dlt="<span id='message_delete'><a href='delete.php?id=".$row['id']."'><img src='/img/delete.jpg'></a></span>"; else $dlt=""; echo"<div id='post'><span id='message_user'>".$row['user']."</span> <span id='message_content'>".$row['message']."</span> <span id='message_time'>".$hours.":".$minutes.":".$seconds."</span>".$dlt."</div>"; }
Bi mi lahko na kakršnkoli način namignil, kje je težava?  ) Hvala sicer!
spremenil: Odin (4.6.2012 ob 23.28.24)
|
| |
| |
Ja, sem opazil, da so še pojavljajo težave z objavo kodo. Bomo popravili.
Drugače pa v kodi ne vidim težave in bi moralo delovati.
Ena možnost pa je, da prepozno uporabiš funkcijo setcookie.
Cookie-ji se pošljejo pred HTML kodo. Torej če hočeš, da ta funkcija deluje, mora biti funkcija izvedena, še preden se začne kakršen koli HTML izpis oz. povedano drugače, izvesti se mora čisto na začetku.
spremenil: podtalje (5.6.2012 ob 01.24.14)
|
| |
| |
Aha ...
Za kodo if(isset($_COOKIE["admin"])) $dlt="<span id='message_delete'><a href='delete.php?id=".$row['id']."'><img src='/img/delete.jpg'></a></span>"; else $dlt=""; echo"<div id='post'><span id='message_user'>".$row['user']."</span> <span id='message_content'>".$row['message']."</span> <span id='message_time'>".$hours.":".$minutes.":".$seconds."</span>".$dlt."</div>"; }
pride header( 'Location: index.php');
V index.php pa imam HTML.  Je možno, da narobe v bazi napišem? Saj je dovolj, da napišem samo ok v admin. Brez inicialk, narekovajev ...
|
| |
| |
Hm..., to je malo čudno.
Najprej narediš izpis z echo, potem pa narediš redirect na drugo stran. Torej tega, kar si izpisal, ne boš videl.
Vendar pa tudi dvomim, da preusmeritev deluje, ker header mora biti vedno poslan pred kakršnimkoli html izpisom.
Drugače preveri tudi, da slika obstaja. Ker če je slučajno pot napačna, ne boš nič videl. Napiši za test tam zraven še kakšen tekst.
Na koncu pa je vedno možnost, da v brskalniku preveriš, ali se je cookie res nastavil. Tako boš bolj točno vedel, kje leži problem.
spremenil: podtalje (5.6.2012 ob 11.10.34)
|
| |
Prikazujem 1 od skupno 1 strani |
|