Autor Zpráva
komárek
Profil *
Zdravím přítomné.
Mám problém s tímto scriptem:
<?php  
header('content-type: text/html; charset=utf-8');    
include 'db.php';
$vypis = new Vypis('http://example/show.php');


if (isset($_GET['album']))
{
    $vypis->album($_GET['album']);
} else if (isset($_GET['interpret']))
{
    $vypis->alba($_GET['interpret'], $_GET['strana'], 5);
} else
{
    $vypis->interpreti($_GET['strana'], 8);
}

class Vypis
{
    function __construct($domena)
    {
        global $db_host;
        global $db_user;
        global $db_pass;
        global $db_db;
        
        $this->domena = $domena;
        $this->databaze = mysql_connect($db_host, $db_user, $db_pass);
        mysql_select_db($db_db, $this->databaze);
        mysql_query('SET NAMES "utf8"', $this->databaze);
    }
    
    function interpreti($strana=1, $pocet=1)
    {
        if ($strana < 1)
        {
            $strana = 1;
        }
        if ($pocet < 1)
        {
            $pocet = 1;
        }
        $offset = (($strana*$pocet)-$pocet);
        
        $where = '';
        
        if (isset($_GET['region']))
        {
            $where = 'WHERE region = "'.$_GET['region'].'"';
        }
        
        $pole = $this->db('SELECT * FROM interprets '.$where.' ORDER BY id ASC LIMIT '.$pocet.' OFFSET '.$offset);
        
        for ($i=0; $i<count($pole); $i++)
        {
            $interpret = $pole[$i];
            echo '<a href="'.$this->domena.'?interpret='.$interpret['id'].'"><img alt="'.$interpret['name'].'" width="200" src="img/'.$interpret['name'].'.png"></a>';
        }
        
        $celkem_db = $this->db('SELECT COUNT(*) as pocet FROM interprets '.$where.'');
        $celkem = $celkem_db[0]['pocet'];
        $stran = ceil($celkem/$pocet);
        
        if ($stran > 0)
        {
            echo '<br />';
            for ($i=0; $i<$stran; $i++)
            {
                echo '<a href="'.$this->domena.'?region='.$_GET['region'].'&stranka=interpreti&strana='.($i+1).'"> '.($i+1).'</a>';
            }
        }
    }
    
    function alba($interpret, $strana=1, $pocet=1)
    {
        if ($strana < 1)
        {
            $strana = 1;
        }
        if ($pocet < 1)
        {
            $pocet = 1;
        }
        $offset = (($strana*$pocet)-$pocet);
        
        $pole = $this->db('SELECT * FROM albums WHERE interpret = '.$interpret.' ORDER BY Year,Album ASC LIMIT '.$pocet.' OFFSET '.$offset);
        
        $interpret_db = $this->db('SELECT * FROM interprets WHERE id = '.$interpret);
        
        echo '<div align="center">';
        for ($i=0; $i<count($pole); $i++)
        {
            $album = $pole[$i];
            
            $obrazek = $interpret_db[0]['name'].'/'.$album['Album'].'.jpg';
            if (file_exists($obrazek))
            {
                $img = '<img width="100" height="100" src="'.$obrazek.'" alt="'.$album['Albumartist'].' - '.$album['Album'].'" />';
            } else {
                $img = '';
            }
             echo '<h4>'.$album['Album'].' ('.$album['Year'].')</h4><br />
             <h5>'.$album['Albumartist'].'</h5><br />
             '.$img.'<br />
             <a href="'.$this->domena.'?album='.$album['id'].'">Details</a>';
        }
        
        echo '</div>';
        
        $celkem_db = $this->db('SELECT COUNT(*) as pocet FROM albums WHERE interpret = '.$interpret);
        $celkem = $celkem_db[0]['pocet'];
        $stran = ceil($celkem/$pocet);
        
        if ($stran > 0)
        {
            echo '<br />';
            for ($i=0; $i<$stran; $i++)
            {  
                echo '<a href="'.$this->domena.'?interpret='.$interpret.'&strana='.($i+1).'"> '.($i+1).' </a>';
            }
        }
    }
    
    function album($id)
    {
        $album_db = $this->db('SELECT * FROM albums WHERE id = '.$id);
        $detail = $album_db[0];
                
        $album_db = $this->db('SELECT * FROM albums WHERE id = '.$id);
        
        $interpret_db = $this->db('SELECT * FROM interprets WHERE id = '.$album_db[0]['interpret']);
        $obrazek = $interpret_db[0]['name'].'/'.$detail['Album'].'.jpg';
                if (file_exists($obrazek))
                {
                    $img = '<img width="100" height="100" src="'.$obrazek.'" alt="'.$interpret_db[0]['name'].' - '.$detail['Album'].'" />';
                } else {
                    $img = '';
                }
        echo '<h4><b>'.$detail['Album'].'</b> ('.$detail['Year'].')</h4><br />
        '.$img.'<br />
        <b>Artist</b>: '.$detail['Albumartist'].'<br />
        <b>Publisher</b>: '.$detail['Publisher'].'<br />';
        if ($user->is_logged())  {
        echo'<b>Web</b>: <a href="'.$detail['Web'].'" target="_blank">'.$detail['Web'].'</a><br />'; }
         
        echo'<b>Heslo</b>: '.$detail['Heslo'].'<br />';
        
        $songs = $this->db('SELECT * FROM songs WHERE album = '.$id.' ORDER BY id ASC');
                     echo'     <script type="text/javascript">
function myFunction(e) {
    var dataString = "id1=" + e.getAttribute("data-id");
 
    $.ajax({
        type: "POST",
        url: "lyrics.php",
        data: dataString,
        cache: false,
        success: function(data) {
            $("#test").html(data);
            $("#test").dialog();
        }
    });
 
    return false;
}
</script>';
        
        if (count($songs) > 0)
        {
            $doba = 0;
            
            echo '<br /><br />
            <table>
            <tr>
                <td class="title"><b>Track</b></td>
                <td class="title"><b>Title</b></td>
                <td class="title"><b>Length</b></td>
                <td class="title"><b>Composer</b></td>
                <td class="title"><b>Artist</b></td>
                <td class="title"><b>Lyrics</b></td>
            </tr>';
            for ($i=0; $i<count($songs); $i++)
            {
                $song = $songs[$i];
                
 
                echo '<tr class="'.($i%2?'lichy':'sudy').'">
                    <td>'.$song['Track'].'</td>
                    <td>'.$song['Title'].'</td>
                    <td>'.$this->cas($song['Length']).'</td>
                    <td>'.$song['Composer'].'</td>
                    <td>'.$song['Artist'].'</td>
                    <td><a onclick="myFunction(this)" data-id="'.$song['Text'].'"><img width="20" height="20" src="img/lupa.png"></a> </td>
                </tr>';
                
                $doba += $song['Length'];
            }
            echo '<tr>
                <td></td>
                <td style="color:white;">Total time:</td>
                <td style="color:white;">'.$this->cas($doba).'</td>
            </tr>';
            echo '</table>';
        }
        //Odkd přišel na stránku?
$od = $_SERVER['HTTP_REFERER'];
//Je cesta zpět?
if($od != null){
//Naformátujeme adresu
$parse = parse_url($od);
$format = $parse['host'];
//Vrať se tam
echo "<a href=\"$od\">Zpět</a>";
}
    }
    
    function cas($sekund)
    {
        $min = floor($sekund/60);
        $sec = $sekund-($min*60);
        
        if ($sec < 10)
        {
            $sec = '0'.$sec;
        }
        
        return $min.':'.$sec;
    }
    
    function db($dotaz, $index=null)
    {
        $data = array();
        $db_dotaz = mysql_query($dotaz, $this->databaze);
        if (substr($dotaz, 0, 6) == 'SELECT')
        {
            while ($radek = mysql_fetch_array($db_dotaz, MYSQL_ASSOC))
            {
                if ($index != null)
                {
                    $data[$radek[$index]] = $radek;
                } else
                {
                    $data[count($data)] = $radek;
                }
            }
            return $data;
        } else {
            return true;
        }
    }
}
?>

K ukončení scriptu dojde na vyznačeném řádku.
Přihlášený jsem, na začátku souboru mám <?php session_start();?>
Můžete mi někdo říct proč se tak děje?
Michales
Profil
Co se stane kdyz radek umazes?
komárek
Profil *
Tak script proběhne úplně v pořádku.
Když ten řádek tam je, ukončí se to na tom řádku a nehodí to vůbec žádnou chybu.


Vůbec nechápu proč se tak děje


Na ostatních stránkách mi to funguje.


Tak se omlouvám, háže to chybu Call to a member function is_logged() on a non-object in


Pokud to zavolám ještě před tím scriptem proběhne vše v pořádku.
anonymníí
Profil *
komárek:
A kde bereš proměnnou $user? Je jasné, že to musí skončit na chybové hlášce, když pracuješ s proměnnou, která neexistuje.
komárek
Profil *
A proč tedy když dám toto před ten script vše je v pořádku tak jak má být. Pokud to vnořím do toho scriptu skočí hláška.


Proměnná $user je samozřejmě uložená v $_SESSION
$_SESSION['jmeno'] =  $user->jmeno ;



Pardón omylem jsem vložil něco jiného. Ale je to jak píšu je uložená v session


$user->load(); // Pokusí se přihlásit uživatele z uložených údajů v _SESSION nebo _COOKIE



Už je vše v pořádku

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: