Stampa data nel db ma da errore

Shyson

Utente Attivo
19 Ago 2012
1.172
1
38
PHP:
...
  if ($continua) { 
    $data_localeS="";
    $dataGmtS="";
    $giorno="";
    $mese="";
    $data_localeS = time(); //Stampa nel db la data numerica es. 1360585588
    $dataGmtS = $giorno[date('w')].' '.date('d').' '.$mese[date('m')-1].' '.date('Y - H:i:s \G\M\T P');  //---->LINEA 30
    $mysqli = new mysqli("localhost", "gruppoalveo", "pwd", "my_gruppoalveo");   
    $url = $_SERVER['PHP_SELF']; 
    $esiste = $mysqli->query ("SELECT * FROM visitate WHERE url='$url'"); 
    if ($esiste->num_rows == 0) { 
      $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$title', '$url', 1)"); 
    } 
    else { 
      $old = $esiste->fetch_array(MYSQLI_ASSOC);   
      $visite = $old['visite'] + 1; 
 $mysqli->query("UPDATE visitate SET data_localeS='$data_localeS',dataGmtS='$dataGmtS',pagina='$title',visite='$visite' WHERE url='$url'"); 
    } 
  } 
}   
}
...

Mi da questi errori:

Notice: Uninitialized string offset: 5 in /membri/gruppoalveo/visitate.php on line 30

Notice: Uninitialized string offset: 3 in /membri/gruppoalveo/visitate.php on line 30
 
Ultima modifica:

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Nel momento in cui su una variabile utilizzi delle parentesi quadre e questa non è un array, stai frugando nell'offset della stringa.
Per intenderci:
PHP:
$string = "Ciao Mondo!";
echo $string[2]; // visualizzerà "a"

Nel tuo caso definisci giorno e mese come stringhe vuote un paio di righe prima della 30: è naturale che non abbiano alcun offset disponibile (da qui gli errori di php).

Se ti aspettavi fossero array invece hai sbagliato sicuramente qualcosa a livello di logica.
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.172
1
38
Nel momento in cui su una variabile utilizzi delle parentesi quadre e questa non è un array, stai frugando nell'offset della stringa.
Per intenderci:
PHP:
$string = "Ciao Mondo!";
echo $string[2]; // visualizzerà "a"

Nel tuo caso definisci giorno e mese come stringhe vuote un paio di righe prima della 30: è naturale che non abbiano alcun offset disponibile (da qui gli errori di php).

Se ti aspettavi fossero array invece hai sbagliato sicuramente qualcosa a livello di logica.

Deve stampare nl db la data aggiornata ogni volta che viene cliccata una pagina, che modifica devo fare?
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Dipende dal formato con cui vuoi archiviare la data, anzitutto che definizione ha la colonna dataGmtS nella tabella visite ?
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Supponendo dal nome del campo che la tua sia una data GMT, ti direi di dichiararla così nel tuo script:
PHP:
$dataGmtS = gmdate('D, d M Y H:i:s \G\M\T');  //---->LINEA 30
Questo di base dovrebbe risolvere i tuoi problemi.


Volendo fare le cose per bene invece ti direi invece di cambiare nel database i Tipi delle colonne dataGmtS e data_localeS rispettivamente in DATETIME e TIMESTAMP.
A questo punto la tua linea 30 sarebbe più appropriata così:
PHP:
$dataGmtS = gmdate('Y-m-d H:i:s');  //---->LINEA 30


PS: gmdate è identica alla funzione date di php, soltanto che si riferisce sempre al Greenwich Mean Time.
 

Shyson

Utente Attivo
19 Ago 2012
1.172
1
38
Supponendo dal nome del campo che la tua sia una data GMT, ti direi di dichiararla così nel tuo script:
PHP:
$dataGmtS = gmdate('D, d M Y H:i:s \G\M\T');  //---->LINEA 30
Questo di base dovrebbe risolvere i tuoi problemi.


Volendo fare le cose per bene invece ti direi invece di cambiare nel database i Tipi delle colonne dataGmtS e data_localeS rispettivamente in DATETIME e TIMESTAMP.
A questo punto la tua linea 30 sarebbe più appropriata così:
PHP:
$dataGmtS = gmdate('Y-m-d H:i:s');  //---->LINEA 30


PS: gmdate è identica alla funzione date di php, soltanto che si riferisce sempre al Greenwich Mean Time.


Così non da errore e si aggiorna, nel db stampa: 1397835770 Fri, 18 Apr 2014 15:42:50 GMT

Però non ho capito una cosa: nel codice del sondaggio ho questo:

$dataGmtS=$giorno[date('w')].' '.date('d').' '.$mese[date('m')-1].' '.date('Y - H:i:s \G\M\T P');

e stampa nel db: Venerdì 28 marzo 2014 - 09:26:42 GMT +01:00

Perché nel sondaggio funziona e in questo ho dovuto mettere il tuo gmdate?


PHP:
 if ($continua) { 
    $data_localeS = time(); //Stampa nel db la data numerica es. 1360585588
    $dataGmtS = gmdate('D, d M Y H:i:s \G\M\T');    
    $mysqli = new mysqli("localhost", "gruppoalveo", "pwd", "my_gruppoalveo");   
    $url = $_SERVER['PHP_SELF']; 
    $esiste = $mysqli->query ("SELECT * FROM visitate WHERE url='$url'"); 
    if ($esiste->num_rows == 0) { 
      $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$title', '$url', 1)"); 
    } 
    else { 
      $old = $esiste->fetch_array(MYSQLI_ASSOC);   
      $visite = $old['visite'] + 1; 
      $mysqli->query("UPDATE visitate SET data_localeS='$data_localeS', dataGmtS='$dataGmtS', pagina='$title', visite='$visite' WHERE url='$url'"); 
    } 
  } 
}   
}
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.172
1
38
Ho chiarito, funzionano entrambi, erano le variabili che davano problema.
 
Discussioni simili
Autore Titolo Forum Risposte Data
Shyson Funzione che stampa data ultimo aggiornamento del sito (non della pagina) PHP 4
Shyson Non stampa data e ora PHP 7
M Problemi con la stampa dei valori in php PHP 1
D Stampa a video in altra pagina html Database 3
K Margini di stampa Photoshop 4
Samuele Ronzani Stampa su stampante predefinita Javascript 11
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1
M Stampa fpdf e lettere accentate PHP 0
S incoerenza di stampa. problemi con il magenta Photoshop 3
atipika INSERIRE ICONE DOWNLOAD E STAMPA WORDPRESS WordPress 10
L [RISOLTO] Stampa a video risultato count in html PHP 13
S [PHP] Stampa a video Nome e Cognome in seguito a login PHP 1
S Consigli per invio di comunicati stampa Discussioni Varie 2
P [WordPress] B2B stampa abbigliamento - plugin woocommerce? WordPress 2
M [PHP] Database e stampa files PHP 2
E [Photoshop] consigli per stampa puzzle personalizzato Photoshop 0
F [PHP + MYSQLI] Stampa a video di una tabella nel database PHP 4
P problema di stampa con photoshop Presentati al Forum 0
R [PHP] Problema stampa array bidimensionali con formula $html.=<<<myHtml... PHP 2
J modifica spooler di stampa per stampare in ordine di nome i files pdf Windows e Software 2
A Stampa da PHP PHP 4
jailbait [PHP] Upload immagine e stampa a schermo PHP 0
L border in tabella php + layout stampa PHP 0
E [PHP] associazione id e stampa a video PHP 0
napuleone [HTML] Numerazione pagine in stampa HTML e CSS 2
K [Visual Basic] Stampa e modifica record non funziona più Visual Basic 0
K [ASP.Net] Problema stampa e modifica ms sql ASP.NET 0
K stampa e modifica tabella in php e ms sql PHP 2
W [Photoshop] Problemi di stampa Photoshop 1
M [HTML] stampa riga condizionata HTML e CSS 3
D Stampa Webdesign e Grafica 1
S [Javascript] [HTML] problema nella stampa degli elementi della pagina Javascript 3
napuleone [Javascript] cambiare i parametri di stampa con js Javascript 2
E [PHP] creazioni nuove variabili per modulo di stampa PHP 1
N [PHP] stampa video PHP 3
otto9due [PHP] Dubbio esistenzaile: Regex email e stampa valori trovati.. PHP 5
Roulder [PHP] Stampa file di testo Automatico senza conferma PHP 1
V [PHP] stampa a video valori query array multidimensionale PHP 4
Rikk73 [C#] problema con stampa da query linq EnumerableRowCollection .NET Framework 0
M Stampa immagine video tabella HTML e CSS 4
F layout stampa css HTML e CSS 2
G PHP stampa di immagini PHP 2
V Stampa con msword PHP 3
teotode stampa automatica da php PHP 4
M stampa modello f24 con php PHP 1
C Cookiechoices Stampa pagina Javascript 2
Z recupero e stampa a video di immagini da database PHP 3
felino [Smarty] Stampa di una tabella dinamica, condizione su una cella PHP 1
J indirizzare coda di stampa Windows e Software 11
C Textarea stampa font personalizzato PHP 5

Discussioni simili