Autor Zpráva
Demoniak
Profil
Zdravim všchny,
potřeboval bych poradit co mám zde za chybu:

<?php
require_once "db.php";
$query = MySQL_Query("SELECT * FROM `members` ORDER BY jmeno") or die (mysql_error());
echo "<table>";
echo "
<tr>
<th width='100'>Jméno</th>
<th width='100'>Povolání</th>
<th width='100'>ICQ</th>

</tr>
";
$Pocet=0;
while($Vysledek = mysql_fetch_array($query)){
$Pocet++;
if (($_GET['prava'] == 2 or 1 or 3)){

echo "<tr>
<td width='100'><center>".$Vysledek['jmeno']."</center></td>
<td width='100'><center>".$Vysledek['class']."</center></td>
<td width='100'><center><img src='http://wwp.icq.com/scripts/online.dll?icq=".$Vysledek['icq']."&im g=24' alt=".$Vysledek['icq']."'></center></td>
</tr>
";
}
echo "</table>";
?>

když tam neni podmínka tak script proběhne, já bych ale potřeboval aby to nějak přefiltroval prodle práv registrovaných uživatelů. to znamená aby vypysoval pouze uživatele s právama 1,2 a 3. aby si uživatelů s právama 0 vubec nevsimal.
Moc prosím o pomoc a předem díky.
tiso
Profil
1. predávať práva ako prameter v url je blbosť, ktokoľvek si ho môže zmeniť na aký chce
2. nikde netestuješ či je táto premenná vôbec nastavená
3. if ($_GET['prava'] != 0){ alebo:
4. if (in_array($_GET['prava'], array(1, 2, 3)){
3+4: zohľadni body 1+2
Demoniak
Profil
Díky moc si mi pomoh.
BTW ty prava nikdo menit nemuze... sou v zaheslovany DB a dostanou se tam jedine pres MySQL Administraci.
Proměnná "prava" je v DB nastavena automaticky jako "0" a to $_GET tam být nemělo. za to se stydim že sem to tam vůbec dal.

ještě jednou díky moc.
Demoniak
Profil
Tak už jsem narazil na 1. chybu...
<?php
require_once "db.php";
$query = MySQL_Query("SELECT * FROM `members` ORDER BY prava DESC") or die (mysql_error());
echo "<table>";
echo "
<tr>
<th width='100'>Jméno</th>
<th width='100'>Povolání</th>
<th width='100'>ICQ</th>
<th width='100'></th>
</tr>
";
$Pocet=0;
while($Vysledek = mysql_fetch_array($query)){
$Pocet++;
if (in_array($Vysledek['prava'], array(1, 2, 3, 4))){

echo "<tr>
<td width='100'><center>".$Vysledek['jmeno']."</center></td>
<td width='100'><center>".$Vysledek['class']."</center></td>
<td width='100'><center><img src='http://wwp.icq.com/scripts/online.dll?icq=".$Vysledek['icq']."&im g=24' alt=".$Vysledek['icq']."'></center></td>
";
if ($Vysledek['prava'] ==4){
echo "<td width='100'><center><font color='#99ff33' size='2'>Webmaster, Zástupce CL</font></center></td>";}
elseif ($Vysledek['prava'] ==3){
echo "<td width='100'><center><font color='#99ff33' size='2'>Clan leader</font></center></td>";}
elseif ($Vysledek['prava'] ==2){
echo "<td width='100'><center><font color='#99ff33' size='2'>Zástupce CL</font></center></td>";}
echo "</tr>
";
}}
echo "</table>";
?>
Takto to mám, když je v DB 1 řádek s údajema, je to 100% funkční ale jakmile zaregistruju někoho nového, udělim mu práva tak aby se měl zobrazit tak to udělá toto: http://gateofheroes.ic.cz/index.php?page=members.
Nevím jestli se to s něcím bije co je taky na stránkách a nebo jestli je narušeno opakování scriptu...
Prosím o snad poslední radu. mnohokrát díky.
tiso
Profil
Nesedí ti počet buniek v tabuľke, skladáš to všeliako...
Demoniak
Profil
diky ti.... bez tebe bych nato nepřišel.. už to jde :)
sorry za to jak to vypada teprve se PHP učim měsíc tak to tak taky dopadá. :)
tiso
Profil
V poho, aj nabudúce... Ale s mierou...

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0