Autor Zpráva
Josef Přerovský
Profil
Zdravím, nevíte co je špatně s tímto kodem? :)
<?php
//We check if the user is logged
if(isset($_SESSION['user']))
{
//We list his messages in a table
//Two queries are executes, one for the unread messages and another for read messages
$req1 = mysql_query('select m1.id, m1.title, m1.timestamp, count(m2.id) as reps, users.id as userid, users.nick from pm as m1, pm as m2,users where ((m1.user1="'.$_SESSION['user'].'" and m1.user1read="no" and users.id=m1.user2) or (m1.user2="'.$_SESSION['user'].'" and m1.user2read="no" and users.id=m1.user1)) and m1.id2="1" and m2.id=m1.id group by m1.id order by m1.id desc');
$req2 = mysql_query('select m1.id, m1.title, m1.timestamp, count(m2.id) as reps, users.id as userid, users.nick from pm as m1, pm as m2,users where ((m1.user1="'.$_SESSION['user'].'" and m1.user1read="yes" and users.id=m1.user2) or (m1.user2="'.$_SESSION['user'].'" and m1.user2read="yes" and users.id=m1.user1)) and m1.id2="1" and m2.id=m1.id group by m1.id order by m1.id desc');
?>
<br />
<a href="nova_zprava.php"><img src="img/pm.png"></img></a><br />
<h3>PŘIJATÉ (<?php echo intval(mysql_num_rows($req1)); ?>):</h3>
<table class="table table-striped">
    <tr>
        <th style="padding-left:25px">Odesilatel</th>
                    <th style="padding-left:25px">Předmět</th>                                                 
                    <th style="padding-left:25px">Odpovědí</th>
                    <th style="padding-left:25px">Čas odeslání</th>
                    <th style="padding-left:25px">Stav</th>    
    </tr>
<?php
//We display the list of unread messages
while($dn1 = mysql_fetch_array($req1))
{
?>
    <tr>
        <td class='first'><a href="/profile/<?php echo $dn1['nick']; ?>"><?php echo htmlentities($dn1['nick'], ENT_QUOTES, 'UTF-8'); ?></td>
        <td class="left"><a href="precist_zpravu.php?id=<?php echo $dn1['id']; ?>"><?php echo htmlentities($dn1['title'], ENT_QUOTES, 'UTF-8'); ?></a></td>
        <td><?php echo $dn1['reps']-1; ?></td>
        <td><?php echo date('d.m.Y v H:i' ,$dn1['timestamp']); ?></td>
        <td><?php if($dn1['user2read'] == "no"){echo'<img title="Tuto zprávu ještě nemáte přečtenou..." src="../img/red.png">';}elseif($dn1['user2read'] == "yes"){echo'<img title="Tuto zprávu již přečtenou máte..." src="../img/green.png">';}?></td>
    </tr>
<?php
}
//If there is no unread message we notice it
if(intval(mysql_num_rows($req1))==0)
{
?>
    <tr>
        <td colspan="4" class="center">Nemáš žádné nepřečtené zprávy.</td>
    </tr>
<?php
}
?>
</table>
<br />
<h3>ODESLANÉ (<?php echo intval(mysql_num_rows($req2)); ?>):</h3>
<table class="table table-striped">
    <tr>
        <th style="padding-left:25px">Přijemce</th>
                    <th style="padding-left:25px">Předmět</th>
                    <th style="padding-left:25px">Odpovědí</th>
                    <th style="padding-left:25px">Čas odeslání</th>
                    <th style="padding-left:25px">Stav</th> 
    </tr>
<?php
//We display the list of read messages
while($dn2 = mysql_fetch_array($req2))
{
?>
    <tr>
        <td class='first'><a href="/profile/<?php echo $dn2['nick']; ?>"><?php echo htmlentities($dn2['nick'], ENT_QUOTES, 'UTF-8'); ?></td>
        <td class="left"><a href="precist_zpravu.php?id=<?php echo $dn2['id']; ?>"><?php echo htmlentities($dn2['title'], ENT_QUOTES, 'UTF-8'); ?></a></td>
        <td><?php echo $dn2['reps']-1; ?></td>
        <td><?php echo date('d.m.Y v H:i' ,$dn2['timestamp']); ?></td>
        <td><?php if(
            $dn2['user2read'] == "no"){
            echo'<img title="Uživatel si zprávu ještě nepřečetl..." src="/img/red.png">';}
            else 
            if($dn2['user2read'] == "yes"){
            echo'<img title="Uživatel si zprávu přečetl..." src="/img/green.png">';
            };?></td>
    </tr>
<?php
}
//If there is no read message we notice it
if(intval(mysql_num_rows($req2))==0)
{
?>
    <tr>
        <td colspan="4" class="center">Nemáš žádné přečtené zprávy.</td>
    </tr>
<?php
}
?>
</table>
<?php
}
else
{
    echo 'You must be logged to access this page.';
}
?>

Presneji s vyznacenym kodem zbytek je ok
Kcko
Profil
Josef Přerovský:
Zdravím, nevím.
Ikki
Profil
Zajímá mě kdy si konečně naprogramuješ něco sám a nebudeš pořád použít mé staré kódy. Už jsou opravdu staré a PHP5 už taky není zrovna TOP varianta, pokud to chceš dát veřejně.

Každopádně jsem ten "hnus" projel a nezdá se mi, že by tam bylo něco vyloženě špatně.
Davex
Profil
Josef Přerovský:
Kód nepočítá s neexistencí klíče v poli. Zapni si prosím výpis chyb PHP a víc se snaž.
Josef Přerovský
Profil
Ikki:
Cením si toho. Projíždim kódy pro inspiraci. Jinak taky chybu nevidím. Vše by mělo být ok ale neukazuje to stav
Ikki
Profil
Tomu, že chybu nevidíš se ani nedivím. Sám jsem v tom kódu hledal tak dlouho chyby a správná řešení, že bych na to radši zapomněl. Nicméně jsi mi psal o zaslání scriptů právě k této admince, takže to nebude jenom to, že projíždíš kódy pro inspiraci. Na férovku využíváš můj starý kód k tomu, abys vytvořil něco vlastního. Bylo by ideální, kdyby ses opravdu něco učil, místo COPY & PASTE. Co se týče zaslání scriptů, tak máš bohužel smůlu, protože jsi na FB očividně zablokovaný. No a k tématu. Jak psal Davex, tak si zapni výpis chyb a pokud si nebudeš vědět rady, tak to sem postni, nebo mi napiš na FB až dostaneš unban.
Josef Přerovský
Profil
Neboj nevyužívam tvého codu. Btw kdyby to někdo chtěl samozrejme té hodim jako codera.
Kdyžtak se domluvíme na fb
Kajman
Profil
Josef Přerovský:

V první řadě se naučte debugovat.
Josef Přerovský
Profil
Notice: Undefined index: user2read in /home/webhosting/****/files/web/*****/zpravy.php on line 94
RastyAmateur
Profil
Davex:
Kód nepočítá s neexistencí klíče v poli

Josef Přerovský:
Notice: Undefined index: user2read in /home/webhosting/****/files/web/*****/zpravy.php on line 94
Davex
Profil
Josef Přerovský:
Výborně, výpis chyb se podařilo úspěšně zapnout.

Co si myslíš, že to znamená, proč by k tomu mělo docházet a jak bys to mohl opravit?

Návod: Projdi si všechny řádky skriptu od místa chyby směrem k začátku a najdi řádek, který by to mohl způsobit. V místech, kde se ukládají data do proměnné, můžeš uloženou hodnotu vypsat pomocí tzv. ladícího výpisu např. pomocí funkce var_dump().

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:

0