Autor Zpráva
thermaltaker
Profil *
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
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
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 *
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
} 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 *
ahoj a vis jiste ze mas zavedeny $_SESSION['id'] protoze kontrolujes jestli neni prazdny session login takze to tak nevypada :)
thermaltaker
Profil *
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
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 *
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
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 *
$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 *
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: