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