Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    peoblema per script news

    questo script implementato in una pagina PHP
    Codice PHP:
    //prima di questo script sotto ci sono i codici della mia pagina web
    <?php

    $limit 
    10// articoli per pagina

    $mysql mysql('localhost''root''''html_it_articles');
    if(
    $mysql)
    {
        die(
    "Errore di connessione al database, impossibile procedere");
    }

    $result $mysql->query("SELECT COUNT(*) AS tot FROM articles")->fetch_assoc();

    $page = isset($_GET['p']) ? $_GET['p'] : 1;
    $totals $result['tot'];
    $totals_pages ceil($totals $limit);

    $articles $mysql->query("
        SELECT
            AR.id AS id,
            AR.title AS title,
            CONCAT(SUBSTR(AR.article, 1, 200),  ' ...') AS content,
            CONCAT(AU.surname, ' ', AU.name) AS author
        FROM
            articles AR,
            authors AU
        WHERE
            AR.author_id = AU.id
        ORDER BY id DESC
        LIMIT "
    .(($page 1) * $limit).",".$limit);
    ?>
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title>Articoli</title>
        </head>
        <body>
            <ul>[*][url="News.php"]Lista articoli[/url][/list]
            

    Articoli totali: <?php echo $totals?></p>
            <table width="500px">
                <?php
                
    while($article $articles->fetch_assoc())
                {
                    
    printf('<tr>
                            <td>%d. [url="show.php?id=%d"]%s[/url] (%s) </td>
                        </tr>
                        <tr>
                            <td>

    %s</p></td>
                        </tr>
                        <tr>
                            <td><hr /></td>
                        </tr>'
    ,
                        
    $article['id'],
                        
    $article['id'],
                        
    $article['title'],
                        
    $article['author'],
                        
    $article['content']
                        );
                }
                
    ?>
            </table>
            

    Pagina <?php echo $page?> di <?php echo $totals_pages?> 

            <?php
            
    if($page 0)
            {
                echo 
    '[url="?p='.($page 1).'"]&lt; prev[/url] | ';
            }else
            {
                echo 
    '&lt; prev | ';
            }
            if(
    $page <= $totals_pages)
            {
                        echo 
    '[url="?p='.($page 1).'"]next &gt;[/url]';
            }else
            {
                        echo 
    'next &gt;';
            }
            
    ?>
            </p>
        </body>
    </html></div>
    <div id="wb_Shape8" style="position:absolute;left:600px;top:153px;width:214px;height:54px;z-index:23;" align="center">
    [img]images/img0064.png[/img]</div>
    <div id="Html3" style="position:absolute;left:606px;top:162px;width:212px;height:51px;z-index:24">
    <?php 
    session_start
    (); 
    require(
    'connessionedb.php'); //o le vostre istruzioni per il collegaamento al db 

    if(!isset($_SESSION['log'])) 

    $_SESSION['log'] = 0

    if(!isset(
    $_SESSION['username'])) 

    $_SESSION['username'] = "Non Registrato"


    // Ora controlliamo se $_SESSION['log']!=1, cioè se l'utente non è logato 
    if ($_SESSION['log'] != 1

    // Se non lo è procediamo come segue: 
    if(isset($_POST['pass']) && isset($_POST['user'])) 

    $qry_pass mysql_real_escape_string(md5($_POST['pass'])); 
    $qry_user mysql_real_escape_string($_POST['user']); 
    /*Da notare l'utilizzo di md5 per trasformare di nuovo il valore della 
    password passata nel suo hash per poterla confrontare con quella contenuta nel db. 
    Poi procediamo verificando username, password e stato registrazione */ 
    $query "SELECT * " 
    "FROM user " 
    "WHERE user_username = '$qry_user' " 
    "AND user_password = '$qry_pass' " 
    "AND user_reg = 1 "
    $results mysql_query($query) or die (mysql_error()); 

    if(
    mysql_num_rows($results) != 0

    $row mysql_fetch_array($results); 
    $_SESSION['log'] = 1// utente logato 
    $_SESSION['username'] = $row['user_username']; 



    echo 
    "Utente on-line: [b]" $_SESSION['username'] . "[/b]

    "

    ?> </div>
    </div>
    </body>
    </html>
    mi da questo errore
    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /membri/sk1zzo/News.php on line 190
    e la riga 190 è questa
    Codice PHP:
    $result $mysql->query("SELECT COUNT(*) AS tot FROM articles")->fetch_assoc(); 

  2. #2

    Re: peoblema per script news

    Ciao!
    Questa scritta:
    Codice PHP:
    $result $mysql->query("SELECT COUNT(*) AS tot FROM articles")->fetch_assoc(); 
    a parere mio non esiste.
    Trasformala così:
    Codice PHP:
    $query $mysql->query("SELECT COUNT(*) AS tot FROM articles");
    $result $query->fetch_assoc(); 

    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  3. #3
    mi da questo errore
    Fatal error: Call to a member function on a non-object in /membri/sk1zzo/News.php on line 188

  4. #4
    Ciao!
    Allora, penso hai alcuni problemi per quanto riguarda l'utilizzo di Mysql. Come prima cosa a inizio del file ti conviene (se poi ti servirà ovviamente) aprire la connessione con il database per poi effettuare le varie query. Vedo che tu chiami un file di configurazione dove all'interno avrà i parametri di connessione. Quindi il primo passo è sicuramente questo:

    Codice PHP:
    <?php
    # La sessione dell'utente, è meglio farla partire subito per evitare errori in caso di OutPut
    session_start(); 
    # Recupero i parametri di connessione al database
    require('connessionedb.php');
    # Da questo momento puoi aprire la connessione con il database
    $mysql mysql_connect('localhost''user''pass'); // qui devi mettere le variabili di configurazione che hai in connessionedb.php
    # Ci spostiamo sul database interessato
    mysql_select_db('html_it_articles'$mysql);
    # Verifichiamo lo stato della connessione
    if(!$mysql)
    {
        die(
    "Errore di connessione al database, impossibile procedere");
    }

    $limit 10// articoli per pagina

    # Creo la query e la eseguo
    $query mysql_query("SELECT COUNT(*) AS tot FROM articles"$mysql);
    # Estraggo il risultato
    $result mysql_fetch_array($query);

    $page = isset($_GET['p']) ? $_GET['p'] : 1;
    $totals $result['tot'];
    $totals_pages ceil($totals $limit);

    $query mysql_query("
        SELECT
            AR.id AS id,
            AR.title AS title,
            CONCAT(SUBSTR(AR.article, 1, 200),  ' ...') AS content,
            CONCAT(AU.surname, ' ', AU.name) AS author
        FROM
            articles AR,
            authors AU
        WHERE
            AR.author_id = AU.id
        ORDER BY id DESC
        LIMIT "
    .(($page 1) * $limit).",".$limit$mysql); 
    ?>

    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title>Articoli</title>
        </head>
        <body>
            <ul>[*][url="News.php"]Lista articoli[/url][/list]
            

    Articoli totali: <?php echo $totals?></p>
            <table width="500px">
                <?php
                
    while($article mysql_fetch_array($query))
                {
                    
    printf('<tr>
                            <td>%d. [url="show.php?id=%d"]%s[/url] (%s) </td>
                        </tr>
                        <tr>
                            <td>

    %s</p></td>
                        </tr>
                        <tr>
                            <td><hr /></td>
                        </tr>'
    ,
                        
    $article['id'],
                        
    $article['id'],
                        
    $article['title'],
                        
    $article['author'],
                        
    $article['content']
                        );
                }
                
    ?>
            </table>
            

    Pagina <?php echo $page?> di <?php echo $totals_pages?> 

            <?php
            
    if($page 0)
            {
                echo 
    '[url="?p='.($page 1).'"]&lt; prev[/url] | ';
            }else
            {
                echo 
    '&lt; prev | ';
            }
            if(
    $page <= $totals_pages)
            {
                        echo 
    '[url="?p='.($page 1).'"]next &gt;[/url]';
            }else
            {
                        echo 
    'next &gt;';
            }
            
    ?>
            </p>
        </body>
    </html></div>
    <div id="wb_Shape8" style="position:absolute;left:600px;top:153px;width:214px;height:54px;z-index:23;" align="center">
    [img]images/img0064.png[/img]</div>
    <div id="Html3" style="position:absolute;left:606px;top:162px;width:212px;height:51px;z-index:24">
    <?php
    // session_start(); la sessione è già stata avviata prima...
    // require('connessionedb.php'); //o le vostre istruzioni per il collegaamento al db [il file è già richiamato prima]

    if(!isset($_SESSION['log']))
    {
    $_SESSION['log'] = 0;
    }
    if(!isset(
    $_SESSION['username']))
    {
    $_SESSION['username'] = "Non Registrato";
    }

    // Ora controlliamo se $_SESSION['log']!=1, cioè se l'utente non è logato
    if ($_SESSION['log'] != 1)
    {
    // Se non lo è procediamo come segue:
    if(isset($_POST['pass']) && isset($_POST['user']))
    {
    $qry_pass mysql_real_escape_string(md5($_POST['pass']));
    $qry_user mysql_real_escape_string($_POST['user']);
    /*Da notare l'utilizzo di md5 per trasformare di nuovo il valore della
    password passata nel suo hash per poterla confrontare con quella contenuta nel db.
    Poi procediamo verificando username, password e stato registrazione */
    $query "SELECT * " .
    "FROM user " .
    "WHERE user_username = '$qry_user' " .
    "AND user_password = '$qry_pass' " .
    "AND user_reg = 1 ";
    $results mysql_query($query$mysql) or die (mysql_error());

    if(
    mysql_num_rows($results) != 0)
    {
    $row mysql_fetch_array($results);
    $_SESSION['log'] = 1// utente logato
    $_SESSION['username'] = $row['user_username'];
    }
    }
    }
    echo 
    "Utente on-line: [b]" $_SESSION['username'] . "[/b]

    "
    ;
    ?> </div>
    </div>
    </body>
    </html>
    Non ho il tempo di controllarlo...ma penso se non per qualche probabile errore di scrittura...dovrebbe funzionare
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.