Autor Zpráva
max.max
Profil
Dá se použit nějaký funkce, když zadám špatné vypsaní z DB, zobrazí se mi stránka , "nemáte přístup".
Jde mi o to, že když použiju výpis z DB pomoci KOD a zadám KOD, který v tabulce není, zobrazí se mi prázdná stránka, chci, aby se mi zobrazila hláška "Nemáte přístup". Děkují

<?
    session_start();

    $username = $_SESSION['username'];
    $password = $_SESSION['password'];

    include("inc/config.php");
       include("casti/hlavicka.php");
    include("casti/nadpis.php");
    include("casti/menu.php");

        $kod          = $_REQUEST['kod'];
        $druzstvo    = $_POST['druzstvo'];
        $jedna       = $_POST['jedna'];
        $dva         = $_POST['dva'];
        $tri         = $_POST['tri'];
        $ctyri       = $_POST['ctyri'];
        $pet         = $_POST['pet'];
        $sest        = $_POST['sest'];
        $sedm        = $_POST['sedm'];
        $osm         = $_POST['osm'];
        $devet       = $_POST['devet'];
        $deset       = $_POST['deset'];
        $jedenact    = $_POST['jedenact'];
        $dvanact     = $_POST['dvanact'];
        $trinact     = $_POST['trinact'];
        $ctrnact     = $_POST['ctrnact'];
    
    $res = mysql_query("SELECT username,kod FROM login_druzstva WHERE username='$username' AND password='$password'");

    if(mysql_num_rows($res) != 0) {

        if ($_SERVER['REQUEST_METHOD'] == "POST") {

            $sql = "UPDATE muzi SET druzstvo='$druzstvo', jedna='$jedna', dva='$dva', tri='$tri', ctyri='$ctyri', pet='$pet' , sest='$sest', sedm='$sedm', osm='$osm', devet='$devet',deset='$deset',jedenact='$jedenact',dvanact='$dvanact',trinact='$trinact',ctrnact='$ctrnact' WHERE kod = '$kod'";
            $result = mysql_query($sql);

            echo "<td valign='top'><table cellSpacing='0' cellPadding='0' width='100%' bgColor='#FFCC00' border='0' align='center'>
    <td valign='top'><table cellSpacing='0' cellPadding='0' width='100%' bgColor='#FFCC00' border='0' align='center'>
       <tr>
     <td>&nbsp; <span class='styl3'>Tabulka - Muži</span></td>
    </tr>
</table>
<!-- Clánky-start -->
<div class='modryram'>
<table cellSpacing='0' cellPadding='3' width='100%' bgColor='#333333' border='0'>
<tr><td class='styl9'>
<span class='styl3'>
                        <div align='center' style=\"color: #FFCC00\"><strong>Zmeneno</strong></center>
                      </div>
</span></td>
</table></div>
<!-- Clánky-konec -->";

        } else {


            $result9 = mysql_query("select * from muzi where kod='$kod'");
            while ($row9=mysql_fetch_assoc($result9)) {


                echo "<td valign='top'><table cellSpacing='0' cellPadding='0' width='100%' bgColor='#FFCC00' border='0' align='center'>
    <tr>
     <td>&nbsp; <span class='styl3'>Tabulka - Muži</span></td>
    </tr>
</table>
<!-- Clánky-start -->
<div class='modryram'>
<table cellSpacing='0' cellPadding='3' width='100%' bgColor='#333333' border='0'>
<tr><td class='styl9'>
<span class='styl3'>
        <table width=99% border=0 align=center cellpadding=2 cellspacing=1> 
         <form action='upravit_muzi.php?kod=$row9[kod]' method=post>
<tr  bgcolor=White>
          <tr bgcolor=Silver>
            <td width=24% align=center><B><I>Družstvo MUŽI</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Staré_Město><B><I>9.6.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Bystré><B><I>16.6.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Baška><B><I>17.6.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Palkovice><B><I>7.7.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Karolinka><B><I>8.7.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Vyšní_Lhoty><B><I>28.7.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Horní_Žukov><B><I>29.7.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Hukvaldy><B><I>4.8.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Stanislavice><B><I>5.8.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Skalice><B><I>11.8.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Hájov><B><I>1.9.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Brušperk><B><I>8.9.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Pstruží><B><I>15.9.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Fryčovice><B><I>22.9.</I></B></td>
         </tr>
         <tr bgcolor= #DADADA>
           <td><input type=text size=13 name='druzstvo' value='$row9[druzstvo]'></td>
           <td><input type=text size=1 name='jedna' value='$row9[jedna]'></td>
       <td><input type=text size=1 name='dva' value='$row9[dva]'></td>
       <td><input type=text size=1 name='tri' value='$row9[tri]'></td>
       <td><input type=text size=1 name='ctyri' value='$row9[ctyri]'></td>
       <td><input type=text size=1 name='pet' value='$row9[pet]'></td>
       <td><input type=text size=1 name='sest' value='$row9[sest]'></td>
       <td><input type=text size=1 name='sedm' value='$row9[sedm]'></td>
       <td><input type=text size=1 name='osm' value='$row9[osm]'></td>
       <td><input type=text size=1 name='devet' value='$row9[devet]'></td>
       <td><input type=text size=1 name='deset' value='$row9[deset]'></td>
       <td><input type=text size=1 name='jedenact' value='$row9[jedenact]'></td>
       <td><input type=text size=1 name='dvanact' value='$row9[dvanact]'></td>
       <td><input type=text size=1 name='trinact' value='$row9[trinact]'></td>
       <td><input type=text size=1 name='ctrnact' value='$row9[ctrnact]'></td>
         </tr>
         <tr>
       <td><input type='submit' name='submit' value='Prepsat'></td>
     </tr>
                </form>
</span></td>
</table></div>
<!-- Clánky-konec -->";


            }

        }

    } else {

    include("inc/loginform.php");

    }

     include("casti/paticka.php");

?>
Camo
Profil
max.max:
V tej else vetve by si mal rovnako ako na začiatku otestovať počet vrátených riadkov.
if(mysql_num_rows($res) != 0)
a podľa toho sa zariadiť.

PS: A mal by si začať používať mysqli.
max.max
Profil
upravil jsem to na
            $result9 = mysql_query("select * from muzi where kod='$kod'");
$radku=mysql_num_rows($vysledek);
      if ($radku==0) echo "HTML kod, který chci, aby se zobrazil třeba "Nemáte přístup"";



aha, tak mi to nefunguje :D
Camo
Profil
max.max:
Prečo $vysledek, keď tam máš $result9?
max.max
Profil
stejně to nejde... pokusím se nad tím podumat


finální verze:
<?
    session_start();

    $username = $_SESSION['username'];
    $password = $_SESSION['password'];

    include("inc/config.php");
       include("casti/hlavicka.php");
    include("casti/nadpis.php");
    include("casti/menu.php");

        $id          = $_REQUEST['id'];
        $kod          = $_REQUEST['kod'];
        $druzstvo    = $_POST['druzstvo'];
        $jedna       = $_POST['jedna'];
        $dva         = $_POST['dva'];
        $tri         = $_POST['tri'];
        $ctyri       = $_POST['ctyri'];
        $pet         = $_POST['pet'];
        $sest        = $_POST['sest'];
        $sedm        = $_POST['sedm'];
        $osm         = $_POST['osm'];
        $devet       = $_POST['devet'];
        $deset       = $_POST['deset'];
        $jedenact    = $_POST['jedenact'];
        $dvanact     = $_POST['dvanact'];
        $trinact     = $_POST['trinact'];
        $ctrnact     = $_POST['ctrnact'];
    
    $res = mysql_query("SELECT username,kod FROM login_druzstva WHERE username='$username' AND password='$password'");

    if(mysql_num_rows($res) != 0) {

        if ($_SERVER['REQUEST_METHOD'] == "POST") {

            $sql = "UPDATE muzi SET druzstvo='$druzstvo', jedna='$jedna', dva='$dva', tri='$tri', ctyri='$ctyri', pet='$pet' , sest='$sest', sedm='$sedm', osm='$osm', devet='$devet',deset='$deset',jedenact='$jedenact',dvanact='$dvanact',trinact='$trinact',ctrnact='$ctrnact' WHERE kod = '$kod'";
            $result = mysql_query($sql);

            echo "<td valign='top'><table cellSpacing='0' cellPadding='0' width='100%' bgColor='#FFCC00' border='0' align='center'>
    <td valign='top'><table cellSpacing='0' cellPadding='0' width='100%' bgColor='#FFCC00' border='0' align='center'>
       <tr>
     <td>&nbsp; <span class='styl3'>Tabulka - Muži</span></td>
    </tr>
</table>
<!-- Clánky-start -->
<div class='modryram'>
<table cellSpacing='0' cellPadding='3' width='100%' bgColor='#333333' border='0'>
<tr><td class='styl9'>
<span class='styl3'>
                        <div align='center' style=\"color: #FFCC00\"><strong>Zmeneno</strong></center>
                      </div>
</span></td>
</table></div>
<!-- Clánky-konec -->";

        } else {


            $result9 = mysql_query("select * from muzi where kod='$kod'");
            $radku=mysql_num_rows($result9);
      if ($radku==0) echo "HTML kod, který chci, aby se zobrazil třeba Nemáte přístup";
      else
      {

      while ($row9=MySQL_Fetch_Array($result9)):
        echo "<td valign='top'><table cellSpacing='0' cellPadding='0' width='100%' bgColor='#FFCC00' border='0' align='center'>
    <tr>
     <td>&nbsp; <span class='styl3'>Tabulka - Muži</span></td>
    </tr>
</table>
<!-- Clánky-start -->
<div class='modryram'>
<table cellSpacing='0' cellPadding='3' width='100%' bgColor='#333333' border='0'>
<tr><td class='styl9'>
<span class='styl3'>
        <table width=99% border=0 align=center cellpadding=2 cellspacing=1> 
         <form action='upravit_muzi.php?kod=$row9[kod]' method=post>
<tr  bgcolor=White>
          <tr bgcolor=Silver>
            <td width=24% align=center><B><I>Družstvo MUŽI</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Staré_Mìsto><B><I>9.6.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Bystré><B><I>16.6.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Baška><B><I>17.6.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Palkovice><B><I>7.7.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Karolinka><B><I>8.7.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Vyšní_Lhoty><B><I>28.7.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Horní_Žukov><B><I>29.7.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Hukvaldy><B><I>4.8.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Stanislavice><B><I>5.8.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Skalice><B><I>11.8.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Hájov><B><I>1.9.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Brušperk><B><I>8.9.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Pstruží><B><I>15.9.</I></B></td>
            <td width=5% align=center bgcolor=Silver title=Fryèovice><B><I>22.9.</I></B></td>
         </tr>
         <tr bgcolor= #DADADA>
           <td><input type=text size=13 name='druzstvo' value='$row9[druzstvo]'></td>
           <td><input type=text size=1 name='jedna' value='$row9[jedna]'></td>
       <td><input type=text size=1 name='dva' value='$row9[dva]'></td>
       <td><input type=text size=1 name='tri' value='$row9[tri]'></td>
       <td><input type=text size=1 name='ctyri' value='$row9[ctyri]'></td>
       <td><input type=text size=1 name='pet' value='$row9[pet]'></td>
       <td><input type=text size=1 name='sest' value='$row9[sest]'></td>
       <td><input type=text size=1 name='sedm' value='$row9[sedm]'></td>
       <td><input type=text size=1 name='osm' value='$row9[osm]'></td>
       <td><input type=text size=1 name='devet' value='$row9[devet]'></td>
       <td><input type=text size=1 name='deset' value='$row9[deset]'></td>
       <td><input type=text size=1 name='jedenact' value='$row9[jedenact]'></td>
       <td><input type=text size=1 name='dvanact' value='$row9[dvanact]'></td>
       <td><input type=text size=1 name='trinact' value='$row9[trinact]'></td>
       <td><input type=text size=1 name='ctrnact' value='$row9[ctrnact]'></td>
         </tr>
         <tr>
       <td><input type='submit' name='submit' value='Prepsat'></td>
     </tr>
                </form>
</span></td>
</table></div>
<!-- Clánky-konec -->";
      endwhile;

            }

        }

    } else {

    include("inc/loginform.php");

    }

     include("casti/paticka.php");

?>



Camo:
nechtěně jsem se přehmatl, já to zkoušel s $result9 a stejně to nešlo, nevím proč jsem tu poslal odkaz s $vysledek.
Trochu jsem to upravil a už je to dobré :) tak jako tak, díky za pomoc :)
Enko
Profil *
max.max:
Tvůj kód je zneužitelný pravděpodobně na XSS a určitě na SQL Injection. Doporučuju ošetřit vstupy do DB například mysql_real_escape_string() nebo (int), atp... A všechny výstupy na stránku upravovat proti nevhodným html tagům. Ušetříš si tím do budoucna spoustu starostí ;)
max.max
Profil
Myslíš, že se jedná o zneužití nějaké spamu? nebo, že by nějaký z uživatelů by mohl chtěně změnit cizí článěk? A chápu, že mysql_real_escape_string() mám použit pro přihlášení do systému ano?
Camo
Profil
max.max:
Všetky dáta, ktoré prímaš od užívateľov, by si mal ošetriť. Nikdy si nečítal o XSS alebo SQL injection?

PS:A nauč sa normálne vyjadrovať. Najprv som na to nechcel reagovať, ale už to preháňaš:
"když zadám špatné vypsaní z DB"
alebo
"Myslíš, že se jedná o zneužití nějaké spamu?"
Veď to je na hranici čitateľnosti!

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: