Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di felpone
    Registrato dal
    Jun 2010
    Messaggi
    182

    dubbio su query da guida sessiono alternative

    Salve,sto utilizzando la guida di questo sito "sessioni alternative" ed in particolare la classe php
    db_session_class,ma c'è una query sql di cui non riesco a capire il significato e che mi da errore in compilazione.


    Codice PHP:

    function my_session_start() {
          
    $cookie_expire = ($this->session_time 0) ? (time() + $this->session_time) : 0;
          if(!isset(
    $_COOKIE['my_session_id'])) {
             
    setcookie('my_session_id'$this->my_session_id$cookie_expire);
             
    mysql_query("
        INSERT INTO my_session
        VALUES
        ('"
    $this->my_session_id ."',"/*quì*/". time() .")"); 

    In particolare all'interno del costrutto VALUES non mi è chiaro il secondo valore che si inserisce,ossia,un doppio apice
    Codice PHP:
    ,", 
    ,è un errore?Ho commentato con un "quì" nel codice per una facile individuazione.

  2. #2
    non so come sia strutturata la tabella my_session, ma di primo acchitto mi sembra un errore.
    Sembra ci sia un apice che deve contenere una stringa ma non è chiuso.
    Quindi o manca un apice perché il secondo parametro deve essere una stringa vuota, o ce ne è uno di troppo!

    Hai provato a mandare in esecuzione il codice?
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Ho buttato una veloce occhiata all'articolo da te citato.
    Probabilmente c'è un errore nel codice ed invece delle virgolette co vogliono due apici singoli:

    Codice PHP:
    mysql_query("INSERT INTO my_session VALUES('" $this->my_session_id "', '', " time() . ")"); 
    L'idea è quella di creare un record col session id e il time e lasciare vuoto (per il momento) il campo contenente le variabili.
    Purtroppo la tabella my_session è stata creata in questo modo:

    codice:
    CREATE TABLE my_session (
    sessid varchar(32) NOT NULL default ”,
    session_vars text NOT NULL,
    session_date int(10) unsigned NOT NULL default ’0′,
    UNIQUE KEY sessid (sessid)
    ) TYPE=MyISAM;
    per cui la insert precedente darebbe errore in quanto il campo session_vars è settato NOT NULL.
    Quindi dovresti modificare anche la struttura della tabella permettendo di inserire in questo campo valori vuoti:

    codice:
    CREATE TABLE my_session (
    sessid varchar(32) NOT NULL default ”,
    session_vars text NULL,
    session_date int(10) unsigned NOT NULL default ’0′,
    UNIQUE KEY sessid (sessid)
    ) TYPE=MyISAM;
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.