Autor | Zpráva | ||
---|---|---|---|
thermaltaker Profil * |
#1 · Zasláno: 10. 12. 2009, 10:43:45
Mám kod na psani článku, ale pokud uživatel neni přihlášen zobrazí se mu odkaz
na přihlášení a nic vic, to funguje.Ale ještě mam v kodu, aby se zobrazila hláška ,,Nemáš dostatečná práva pro psaní článků,, ale jen pokud ma uživatel v mysql admin= 0 a pokud ma admin= 1 tak se mu zobrazí formulář na novinku.Všechno mam napsaný podle mě dobře, ale v obouch připadech ikdyž je admin 1 nebo 0 mi to ukaže prazdnou stranku..:( <?php session_start(); ?> <?php if($_SESSION['login']!=""){ include "./connect.php"; $dotaz = "SELECT * FROM `uzivatele` where id=".$_SESSION['id']; $vysledek = mysql_query($dotaz); while ($radek = mysql_fetch_array ($vysledek)) { if ($radek['admin']==1) { echo "Nemáš dostatečná práva pro psaní článků.";} else { ?> <html> <body> <form action="nokia_hry_zapsani.php" method="POST"> Titulek<br /> <input type="text" name="titulek" /><br /> Titulek bez mezer!<br /> <input type="text" name="tit" /><br /> Uvod<br /> <textarea cols="25" rows="5" name="uvod"></textarea><br /> Článek<br /> <textarea cols="25" rows="5" name="clanek"></textarea><br /> <select name="rubrika"> <option value="3d">3D</option> <option value="Adventury">Adventury</option> <option value="Akcni">Akcni</option> <option value="Arkady">Arkády</option> <option value="Adventury">Adventury</option> <option value="Karetni">Karetní</option> <option value="Logicke">Logické</option> <option value="Oddechove">Oddechove</option> <option value="RPG">RPG</option> <option value="Simulatory">Simulátory</option> <option value="Sportovni">Sportovní</option> <option value="Strategie">Strategie</option> </select><br /> <input type="submit" value="Ok" /> </form> </body> </html> <?php } }; } else { echo'<small><a href="/prihlasit.php">Přihlásit se</a></small>'; } ?> |
||
Akacko Profil |
#2 · Zasláno: 10. 12. 2009, 10:49:19
thermaltaker:
Zkus $jeadmin = mysql_result(mysql_query("SELECT admin FROM `uzivatele` where id=".$_SESSION['id']),0); Otestuj zda v proměnné $jeadmin je ta hodnota kterou chceš testovat. A potom if ($jeadmin) { // zobraz formular } else { // chyba } |
||
TomášK Profil |
#3 · Zasláno: 10. 12. 2009, 11:22:35
Myslím, že to bude fungovat, když nahradíš mysql_fetch_array za mysql_fetch_assoc. Ale Akacko navrhuje přehlednější řešení.
|
||
thermaltaker Profil * |
#4 · Zasláno: 10. 12. 2009, 12:25:10
Tak jsem to udělal jak psal Akacko a piše mi to
Parse error: syntax error, unexpected '}', expecting ',' or ';' in /home/free/ic.cz/p/phoun/root/www/nokia_hry_news.php on line 46 zde je kod <?php session_start(); ?> <?php if($_SESSION['login']!=""){ include "./connect.php"; $admin = mysql_result(mysql_query("SELECT admin FROM `uzivatele` where id=".$_SESSION['id']),0); if ($admin) { ?> <html> <body> <form action="nokia_hry_zapsani.php" method="POST"> Titulek<br /> <input type="text" name="titulek" /><br /> Titulek bez mezer!<br /> <input type="text" name="tit" /><br /> Uvod<br /> <textarea cols="25" rows="5" name="uvod"></textarea><br /> Článek<br /> <textarea cols="25" rows="5" name="clanek"></textarea><br /> <select name="rubrika"> <option value="3d">3D</option> <option value="Adventury">Adventury</option> <option value="Akcni">Akcni</option> <option value="Arkady">Arkády</option> <option value="Adventury">Adventury</option> <option value="Karetni">Karetní</option> <option value="Logicke">Logické</option> <option value="Oddechove">Oddechove</option> <option value="RPG">RPG</option> <option value="Simulatory">Simulátory</option> <option value="Sportovni">Sportovní</option> <option value="Strategie">Strategie</option> </select><br /> <input type="submit" value="Ok" /> </form> </body> </html> <?php } else { echo "Nemaš dostatečná práva pro psaní článku" } ; } else { echo'<small><a href="/prihlasit.php">Přihlásit se</a></small>'; } ?> |
||
martindeveloper Profil |
#5 · Zasláno: 10. 12. 2009, 12:47:34
} else { echo "Nemaš dostatečná práva pro psaní článku" } ; Ten středník má být za } else { echo "Nemaš dostatečná práva pro psaní článku"; } |
||
nejakejnick Profil * |
#6 · Zasláno: 10. 12. 2009, 12:58:35
ahoj a vis jiste ze mas zavedeny $_SESSION['id'] protoze kontrolujes jestli neni prazdny session login takze to tak nevypada :)
|
||
thermaltaker Profil * |
#7 · Zasláno: 10. 12. 2009, 13:26:50
střednik upraven, a teď to hází
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 4 in /home/free/ic.cz/p/phoun/root/www/nokia_hry_news.php on line 10 Nemaš dostatečná práva pro psaní článku Ano id se mi opravdu ukláda do session, když si ho dam vypsat vypíše se.. |
||
Akacko Profil |
#8 · Zasláno: 10. 12. 2009, 13:50:22
thermaltaker:
Zkus si ten SQL dotaz spustit přímo v databázi pro určité ID (nebo phpmyadminu) a podívej jaká data to vybere. |
||
thermaltaker Profil * |
#9 · Zasláno: 10. 12. 2009, 14:05:47
Pokud jsem ti dobře rozuměl..
Chyba SQL-dotaz: Dokumentace $admin = mysql_result( mysql_query( "SELECT admin FROM `uzivatele` where id="1 ), 1 ) MySQL hlásí: Dokumentace #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$admin = mysql_result(mysql_query("SELECT admin FROM `uzivatele` where id="1),1)' at line 1 |
||
Akacko Profil |
#10 · Zasláno: 10. 12. 2009, 14:08:52 · Upravil/a: Akacko
thermaltaker:
Ja myslel přímo v prostředí DB buď v příkazové řádce, nebo v phpmyadminu. Ale pokud to děláš takto potom správný zápis je "SELECT admin FROM `uzivatele` where id=1" A taky proč vybíráš druhý řádek? (ta jednička jako druhý parametr pro mysql_result()) Musíš vybrat první řádek tedy 0. Potom se nediv, že ti to nic nemůže najít $admin = mysql_result( mysql_query( "SELECT admin FROM `uzivatele` where id=1" ), 0 ); |
||
nejakejnick Profil * |
#11 · Zasláno: 10. 12. 2009, 15:26:08
$admin = mysql_result(mysql_query("SELECT admin FROM `uzivatele` where id=".$_SESSION['id']),0);
ted jsem si vsiml ze to mas blbe takhle to ma byt: $admin = mysql_result(mysql_query("SELECT admin FROM `uzivatele` where id=''.$_SESSION['id'].''),0); |
||
thermaltaker Profil * |
#12 · Zasláno: 10. 12. 2009, 16:17:29
Tak jsem to nakonec vyřešil přes session
<?php session_start(); ?> <?php if($_SESSION['login']!=""){ if($_SESSION['admin']!=0){ ?> <html> <body> <form action="index.php?site=nokia_hry_zapsani" method="POST"> Titulek<br /> <input type="text" name="titulek" /><br /> Titulek bez mezer!<br /> <input type="text" name="tit" /><br /> Uvod<br /> <textarea cols="25" rows="5" name="uvod"></textarea><br /> Článek<br /> <textarea cols="25" rows="5" name="clanek"></textarea><br /> <select name="rubrika"> <option value="3d">3D</option> <option value="Adventury">Adventury</option> <option value="Akcni">Akcni</option> <option value="Arkady">Arkády</option> <option value="Adventury">Adventury</option> <option value="Karetni">Karetní</option> <option value="Logicke">Logické</option> <option value="Oddechove">Oddechove</option> <option value="RPG">RPG</option> <option value="Simulatory">Simulátory</option> <option value="Sportovni">Sportovní</option> <option value="Strategie">Strategie</option> </select><br /> <input type="submit" value="Ok" /> </form> </body> </html> <?php } else { echo "Nemaš dostatečná práva pro psaní článku"; } } else { echo'<small><a href="/index.php?site=prihlasit">Přihlásit se</a></small>'; } ?> takže všem dikec moc prosim lock |
||
Časová prodleva: 15 let
|
0