Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi
 
Domov > Forum > Računalništvo

PHP koda za prikaz administratorja

 
 
4.6.2012, 22:11
Ž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)
 
 
 
4.6.2012, 22:43
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="";

 
 
 
4.6.2012, 23:28
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)
 
 
 
5.6.2012, 1:23
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)
 
 
 
5.6.2012, 8:12
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 ...
 
 
 
5.6.2012, 11:10
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)
 
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!