Visualizzazione dei risultati da 1 a 10 su 10

Discussione: errore contatore

  1. #1

    errore contatore

    chi mi darebbe una controllatina dato che nn fa quello che dovrebbe fare! please


    $comandosql="SELECT * FROM contatori WHERE ID = 1";
    $vista=mysql_query($comandosql)or die ("mysql_error()");
    while($riga=mysql_fetch_array($vista))
    {
    $con=$riga['accessi'];
    }
    if(strlen($session['accessi'])== 0)
    {

    $session['accessi']="segnato";
    $con=$con+1;
    $comandosql1="insert into contatori set accessi = $con";
    mysql_query($comandosql1)or die ("mysql_error()");
    }
    else
    {
    $con=$riga['accessi'];
    mysql_close();
    }
    echo $con;
    ?>
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  2. #2
    $comandosql1="insert into contatori set accessi = $con";

    devi cambiarlo con

    $comandosql1="INSERT INTO contatori (accessi) VALUES ('$con')";

    (cmq penso dovresti anche specificare l'id...)
    se invece volevi proprio fare l'update devi usare

    $comandosql1="UPDATE contatori set accessi = '$con'";

    (sempre specificando l'id... a meno che tu non voglia cambiare il valore a tutti gli id)
    visitate http://camicio.altervista.org per caxxate varie :d

  3. #3
    con questo script mi da errore di questo tipo

    Undefined variable: session
    e poi le visite nn incrementano mai!

    $comandosql="SELECT * FROM contatori WHERE ID = 1";
    $vista=mysql_query($comandosql)or die ("mysql_error()");
    while($riga=mysql_fetch_array($vista))
    {
    $con=$riga['accessi'];
    if(strlen($session['accessi'])== 0)
    {

    $session['accessi']="segnato";
    $con=$con+1;
    $comandosql1="insert into contatori set accessi = $con";
    mysql_query($comandosql1)or die ("mysql_error()");
    }
    else
    {
    $con=$riga['accessi'];
    mysql_close();
    }
    }
    echo $con;
    ?>

    è un problema di sessioni ?
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  4. #4
    aiuti ?
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da asdas
    aiuti ?
    chiedi aiuto ma non dici qual'è la cosa che non fa.

    Se usi le sessioni la variabile è $_SESSION e non $session.


  6. #6
    quando lo apro la prima volta mi da questo errore:

    Notice: Undefined index: accessi in line 11

    se poi faccio f5 e aggiorno la notice va via!
    CHE CE CHE NN VA?

    RIGA 11:
    if(strlen($_SESSION['accessi'])== 0)
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Ma stai usando strlen per vedere se $_SESSION è settato, cioè se contiene qualcosa?

    Sbagli di brutto se fosse così. Dovresti usare isset:

    if(!isset($_SESSION['accessi'])) {

    l'uso delle sessioni prevede che la pagina inizi con session_start().

    Se quello che vuoi fare è incrementare un contatore su db, basta fare l'UPDATE e non INSERT che aggiunge un record.

    UPDATE contatori SET accessi = accessi + 1 WHERE id=1

  8. #8
    adesso il mio codice è questo
    uso il strlen per vedere se è uguale a 0
    $comandosql="SELECT * FROM contatori WHERE ID = 1";
    $vista=mysql_query($comandosql)or die ("mysql_error()");
    while($riga=mysql_fetch_array($vista))
    {
    $con=$riga['accessi'];
    if(strlen($_SESSION['accessi'])== 0)
    {

    $_SESSION['accessi']="segnato";
    $con=$con+1;
    $comandosql1="update contatori set accessi='". $con ."'";
    mysql_query($comandosql1)or die ("mysql_error()");
    }
    else
    {
    $con=$riga['accessi'];
    mysql_close();
    }
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    L'avevo già letto.

    strlen è uguale a count, conta il numero dei caratteri dentro una stringa. E assolutamente errato se vuoi controllare se una variabile e' settata. Ecco perchè ricevi il notice.

    L'uso di $_SESSION prevede l'uso delle sessioni. Lo fai?


  10. #10
    ragazzi tutto ok......... ho risolto!
    QUESTO E' IL CODICE GIUSTO!
    <?php

    $link = mysql_connect("localhost","luca","lucapaesi");
    mysql_select_db("elezioni")or die("impossibile collegarsi");

    $comandosql="SELECT * FROM contatori WHERE ID = 1";
    $vista=mysql_query($comandosql)or die ("mysql_error()");
    while($riga=mysql_fetch_array($vista))
    {
    $con=$riga['accessi'];
    if(!isset($_SESSION['accessi']))
    {
    $_SESSION['accessi']="segnato";
    $con=$con+1;
    $comandosql1="update contatori set accessi='". $con ."'";
    mysql_query($comandosql1)or die ("mysql_error()");
    }
    else
    {
    $con=$riga['accessi'];
    mysql_close();
    }

    echo $con;
    }
    ?>
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

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.