Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 42

Discussione: errore 500

  1. #1
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Exclamation errore 500

    Ciao lettori! Purtroppo per questioni estetiche ho cambiato il cms del mio sito web. Purtroppo però AlterVista mi restituisce un bel errore 500. il file .htaccess è a posto... (su altri hosting è in locale funziona)


    file .htaccess
    Codice PHP:
    RewriteEngine on

    RewriteCond
    %{REQUEST_FILENAME} !-f
    RewriteCond
    %{REQUEST_FILENAME} !-d

    #For removing extension as Options +MultiViews not working with RewriteRule
    RewriteRule ^([a-zA-Z0-9_]+)$ $1.php [QSA,NC,L]

    RewriteRule ^profile/([a-zA-Z0-9._@\-]+)$ profile.php?u=$1 [QSA,NC,L]
    RewriteRule ^profile/ profile.php [QSA,NC,L]

    RewriteRule ^groups/([0-9]+)$ groups.php?grp=$1 [QSA,NC,L]
    RewriteRule ^groups/ groups.php [QSA,NC,L]

    RewriteRule ^view_post/([a-zA-Z0-9]+)$ view_post.php?post=$1 [QSA,NC,L]

    ErrorDocument 404 /error/404.php

    #DirectoryIndex Options +Indexes

    <FilesMatch ".(htaccess)">
    order allow,deny
    deny from all
    </FilesMatch>

    #Options +MultiViews

    IndexIgnore *
    Mi date una mano? (ps. commentando IndexIgnore * funziona ma il cms si bugga restituendo vari errori.)
    Grazie per la disponibilità! :)
    Ultima modifica di worldpage : 27-11-2018 alle ore 16.12.21

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Senza entrare nel merito del codice delle varie rewrite, ad occhio vedo subito che non è presente la "RewriteBase /". Prova ad aggiungerla nella seconda riga.

    Ciao!

  3. #3
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Senza entrare nel merito del codice delle varie rewrite, ad occhio vedo subito che non è presente la "RewriteBase /". Prova ad aggiungerla nella seconda riga.

    Ciao!
    Ciao alemoppo ! Grazie per l'aiuto... ho aggiunto con successo la regola : RewriteBase / ma l'errore 500 persiste...
    ho letto tra i vari thead che la regola "IndexIgnore * " non è supportata da altervista, però senza di essa le pagine non vengono visualizzate correttamente... ci sono soluzioni? dopo tre/quattro anni vorrei evitare di cambiare hosting perchè adoro altervista... Grazie ancora per la disponibilità!
    Ultima modifica di worldpage : 27-11-2018 alle ore 16.18.37

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    A quanto ne sappia, quella regola (indexignore) serve per inibire i file dalla lista dei file che viene creata automaticamente. Siccome su AlterVista non viene mostrata la lista dei vari file di una directory, quella regola è inutile e non vedo come possa influire nel funzionamento del CMS.

    Il problema quindi persiste anche commentando quella regola ed aggiungendo RewriteBase / ?

    Ciao!

  5. #5
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    A quanto ne sappia, quella regola (indexignore) serve per inibire i file dalla lista dei file che viene creata automaticamente. Siccome su AlterVista non viene mostrata la lista dei vari file di una directory, quella regola è inutile e non vedo come possa influire nel funzionamento del CMS.

    Il problema quindi persiste anche commentando quella regola ed aggiungendo RewriteBase / ?

    Ciao!
    Ho commentato la regola indexignore è il sito viene visualizzato, ora le pagine vengono visualizzate correttamente ma non funzionano i contenuti.
    spesso mi restituiscono un errore:
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'get FROM login WHERE user_id = '' LIMIT 1' at line 1' in /membri/worldpage/config/class/universal.class.php:110 Stack trace: #0 /membri/worldpage/config/class/universal.class.php(110): PDOStatement->execute(Array) #1 /membri/worldpage/ajaxify/profile/profile_banner.php(98): universal->isOnline('250') #2 /membri/worldpage/profile.php(71): require_once('/membri/worldpa...') #3 {main} thrown in /membri/worldpage/config/class/universal.class.php on line 110
    Ciao!
    Ultima modifica di worldpage : 27-11-2018 alle ore 16.36.41

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Questo è un errore MYSQL.

    Il database esiste? Esiste la tabella "login"?

    Ciao!

  7. #7
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Questo è un errore MYSQL.

    Il database esiste? Esiste la tabella "login"?

    Ciao!
    il database esiste, mi fa anche loggare, quindi è configurato...

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Non conoscendo questo CMS non saprei dirti con certezza l'errore, hai impostato PHP7?

    Quale codice c'è nel file worldpage/config/class/universal.class.php nelle righe 110 (e qualche riga prima e dopo)?

    Ciao!

  9. #9
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Non conoscendo questo CMS non saprei dirti con certezza l'errore, hai impostato PHP7?

    Quale codice c'è nel file worldpage/config/class/universal.class.php nelle righe 110 (e qualche riga prima e dopo)?

    Ciao!
    Ciao, il file citato è questo:
    Codice HTML:
    <?php
      class universal{
    
        protected $db;
    
        public function __construct(){
          $db = N::_DB();
          $this->db = $db;
        }
    
        public function isLoggedIn(){
          if (isset($_SESSION['id'])) {
            // if (self::GETsDetails($_SESSION['id'], "email_activated") == "yes") { return true; }
            return true;
          } else {
            return false;
          }
        }
    
        public function getUsernameFromSession(){
          if (isset($_SESSION['id'])) {
            $session = $_SESSION['id'];
            $query = $this->db->prepare("SELECT username FROM users WHERE id=:id LIMIT 1");
            $query->execute(array(":id" => $session));
            $row = $query->fetch(PDO::FETCH_OBJ);
            return $row->username;
          }
        }
    
        public function checkGet($get){
          if (!isset($get)) {
            return false;
          } else {
            return true;
          }
        }
    
        public function validGET($get){
          $query = $this->db->prepare("SELECT id FROM users WHERE username = :username LIMIT 1");
          $query->execute(array(":username" => $get));
          if ($query->rowCount() == 0) {
            return false;
          } else if ($query->rowCount() != 0) {
            return true;
          }
        }
    
        public function getIdFromGet($get){
          $query = $this->db->prepare("SELECT id FROM users WHERE username = :get LIMIT 1");
          $query->execute(array(":get" => $get));
          $row = $query->fetch(PDO::FETCH_OBJ);
          return $row->id;
        }
    
        public function GETsDetails($get_id, $what){
          $query = $this->db->prepare("SELECT $what FROM users WHERE id = :id");
          $query->execute(array(":id" => $get_id));
          $row = $query->fetch(PDO::FETCH_OBJ);
          return $row->$what;
        }
    
        public function MeOrNot($get){
          if (self::isLoggedIn()) {
            if ($_SESSION['id'] == $get) {
              return true;
            } else {
              return false;
            }
          }
        }
    
        public function e_verified($id){
          $email = self::GETsDetails($id, "email_activated");
          if($email == "no"){
            return false;
          } else {
            return true;
          }
        }
    
        public function isPrivate($get){
          $follow = new follow_system;
          if ((self::MeOrNot($get) == false) && ($follow->isFollowing($get) == false) && (self::GETsDetails($get, "type") == "private")) {
            return true;
          } else {
            return false;
          }
        }
    
        public function nameShortener($name, $limit){
          if (strlen($name) >= $limit) {
            return substr($name, 0, intval($limit)-2)."..";
          } else if(strlen($name) < $limit) {
            return $name;
          }
        }
    
        public function toAbsURL($str){
          $regex = "#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#'\"?&//=]*)?#si";
          $str = preg_replace($regex, '<a class="hashtag" href="$0" target="_blank">$0</a>', $str);
          return $str;
        }
    
        public function isOnline($user){
          if (isset($_SESSION['id'])) {
            $session = $_SESSION['id'];
    
            if ($user != $session) {
              $query = $this->db->prepare("SELECT MAX(login_id) AS get FROM login WHERE user_id = :id LIMIT 1");
              $query->execute(array(":id" => $user));
              if ($query->rowCount() > 0) {
                $row = $query->fetch(PDO::FETCH_OBJ);
                $login = $row->get;
    
                $r = $this->db->prepare("SELECT logout FROM login WHERE login_id = :id LIMIT 1");
                $r->execute(array(":id" => $login));
                if ($r->rowCount() > 0) {
                  $rr = $r->fetch(PDO::FETCH_OBJ);
                  $logout = $rr->logout;
    
                  if (substr($logout, 0, 4) == "0000") {
                    return true;
                  } else {
                    return false;
                  }
    
                }
              }
            }
    
          }
    
        }
    
        public function urlChecker($url){
          if(substr($url, 0, 1) == "/"){
            $r = "http://localhost{$url}";
          } else {
            $r = $url;
          }
          return $r;
        }
    
      }
    ?>
    la funzione incriminata della riga 110:
    Codice HTML:
        public function isOnline($user){
          if (isset($_SESSION['id'])) {
            $session = $_SESSION['id'];
    
            if ($user != $session) {
              $query = $this->db->prepare("SELECT MAX(login_id) AS get FROM login WHERE user_id = :id LIMIT 1");
              $query->execute(array(":id" => $user));
              if ($query->rowCount() > 0) {
                $row = $query->fetch(PDO::FETCH_OBJ);
                $login = $row->get;
    
                $r = $this->db->prepare("SELECT logout FROM login WHERE login_id = :id LIMIT 1");
                $r->execute(array(":id" => $login));
                if ($r->rowCount() > 0) {
                  $rr = $r->fetch(PDO::FETCH_OBJ);
                  $logout = $rr->logout;
    
                  if (substr($logout, 0, 4) == "0000") {
                    return true;
                  } else {
                    return false;
                  }
    
                }
              }
            }
    
          }
    
        }
    il cms è senza provenienza, un open source di cui non ricordo il nome modificato da me molti anni fa...
    il php7 è impostato... ribadisco che ho provato a caricare il cms su un altra piattaforma è funziona perfettamente ( senza apportare le modifiche dei messaggi antecedenti) ... può essere un problema di altervista?

  10. #10
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Ciao, sono riuscito a capire che il cms non riesce ad inviare le query al database per qualche motivo, perchè ogni funzione di questo genere ( tranne il register) non va. quel errore dovrebbe essere dovuto al fatto che non inviando le query il cms non sa effettivamente se l'utente è online, allora mi presenta un errore... il problema è che non so come far comunicare correttamente il tutto

  11. #11
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Sarebbe interessante guardare come viene effettuata la connessione al db, in particolare cosa fa in:
    Codice:
    $db = N::_DB();
    Ma da qualche parte hai impostato il nome del database? (my_worldpage).

    Inoltre, puoi verificare che effettivamente esista una tabella chiamata "login" con un campo "login_id"?

    Purtroppo non conoscendo il CMS non sono in grado di aiutarti efficacemente. Il fatto che in altri hosting funziona, significa che forse altrove avevano impostazioni meno restrittive.

    perchè ogni funzione di questo genere ( tranne il register) non va
    Quindi la registrazione scrive effettivamente dati nel database? Hai verificato?

    Ciao!

  12. #12
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Sarebbe interessante guardare come viene effettuata la connessione al db, in particolare cosa fa in:
    Codice:
    $db = N::_DB();
    Ma da qualche parte hai impostato il nome del database? (my_worldpage).

    Inoltre, puoi verificare che effettivamente esista una tabella chiamata "login" con un campo "login_id"?

    Purtroppo non conoscendo il CMS non sono in grado di aiutarti efficacemente. Il fatto che in altri hosting funziona, significa che forse altrove avevano impostazioni meno restrittive.


    Quindi la registrazione scrive effettivamente dati nel database? Hai verificato?

    Ciao!
    il database viene scritto, alcune funzioni come : registrarti, cambiare nome, cambiare password, modificare la foto profilo (lato database) funzionano correttamente.

    la funzione per connettersi al database dovrebbe essere questa:
    <?php

    class N{

    public static $e;
    public static $database;
    public static $DIR = "ILMIOSITO";
    public static $GMAIL = "LAMIAEMAIL";
    public static $GMAIL_PASSWORD = "PASSWORDDELEMAIL";

    public static function _DB(){
    try {
    self::$database = new PDO('mysql:host=HOST;dbname=MIODATABASE;charset=ut f8mb4', 'NOMEROOT', 'PASSWORD'

    self::$database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $e = self::$e;
    } catch (PDOException $e) {
    echo $e->getMessage();
    }
    return self::$database;
    }

    }

    ?>
    nella tabella login_id esiste.

    Grazie per il tempo perso

  13. #13
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Sembra corretto
    Codice PHP:
    ('mysql:host=HOST;dbname=my_world page;charset=ut f8mb4', 'NOMEROOT', 'PASSWORD'
    in
    Codice PHP:
    ('mysql:host=HOST;dbname=my_worldpage;charset=utf8mb4', 'NOMEROOT', 'PASSWORD'
    Nota* Se DIR è un nome utente.
    Editato DIR è una directory
    EDIT: Scusami se vado a tentativi ma il campo user_id almeno esiste ? Perché l'errore che mostri qui http://forum.it.altervista.org/php-m...ml#post1405007 cita un valore vuoto per user_id se esiste prova da phpmyadmin a inserire nel riquadro sql (con l'aggiunta manuale del tuo id e poi un'altra query con id vuoto) dopo aver selezionato il tuo database (my_worldpage)
    Effettua anche la query del logout se riesci a recuperare i risultati.
    Ultima modifica di darbula : 28-11-2018 alle ore 15.33.40

  14. #14
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    Sembra corretto
    Codice PHP:
    ('mysql:host=HOST;dbname=my_world page;charset=ut f8mb4', 'NOMEROOT', 'PASSWORD'
    in
    Codice PHP:
    ('mysql:host=HOST;dbname='.$database.';charset=utf8mb4', $DIR, 'PASSWORD'
    Nota* Se DIR è un nome utente.
    DIR specifica il link della directory
    Codice PHP:
    <?php
    ob_start
    ();
    session_start();
    define('DIR', 'MIOSITO);
    ?>

  15. #15
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    credo di essere giunto ad una conclusione. Purtroppo AlterVista non supporta le versioni di php più recenti, quindi mi tocca a malincuore lasciare la piattaforma... spero che più in là possa tornare qui magari con un passaggio del dominio registrato... Grazie per le risposte, siete stati molto utili come sempre... arrivederci!

  16. #16
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Dal messaggio di errore a me sembra più un problema della query piuttosto che di PHP. Comunque PHP7 è l'ultima versione rilasciata.

    Ovviamente, sei liberissimo di utilizzare il servizio che desideri.

    Ciao!

  17. #17
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Dalla versione MySQL 5.6 non è consentit usare una stringa al posto di un intero ... user_id è un campo intero? da phpmyadmin che cosa ti visualizza?
    Codice:
    USE `my_worldpage`;
    SELECT MAX(login_id) AS get FROM login WHERE user_id = '1' LIMIT 1;
    Ultima modifica di darbula : 28-11-2018 alle ore 19.10.36

  18. #18
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Dal messaggio di errore a me sembra più un problema della query piuttosto che di PHP. Comunque PHP7 è l'ultima versione rilasciata.

    Ovviamente, sei liberissimo di utilizzare il servizio che desideri.

    Ciao!
    Sto tentando in tutti i modi di risolvere il problema qui su Altervista, anche se per il momento ho spostato tutto su un altro servizio temporaneo… sto controllando le query ma non truvo nulla di insolito

  19. #19
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    Dalla versione MySQL 5.6 non è consentit usare una stringa al posto di un intero ... user_id è un campo intero? da phpmyadmin che cosa ti visualizza?
    Codice:
    USE `my_worldpage`;
    SELECT MAX(login_id) AS get FROM login WHERE user_id = '1' LIMIT 1;

    non ho ben capito ciò che intendi

  20. #20
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Use sceglie il database my_worldpage mentre la riga successiva effettua la query di login.
    Non sai come controllare la colonna user_id?
    Ovvio che le istruzioni SQL debbano essere eseguite in phpmyadmin in pratica stai facendo il login manualmente dove ti mostra i dati o l'errore
    Ultima modifica di darbula : 01-12-2018 alle ore 00.03.36

  21. #21
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    Use sceglie il database my_worldpage mentre la riga successiva effettua la query di login.
    Non sai come controllare la colonna user_id?
    Ovvio che le istruzioni SQL debbano essere eseguite in phpmyadmin in pratica stai facendo il login manualmente dove ti mostra i dati o l'errore

    scusami, ora ho capito cosa intendi.
    ecco qui l'errore che mi restituisce phpmyadmin quando provo ad eseguire le istruzioni SQL che mi proponi.

    Errore
    Query SQL: Documentazione



    SELECT MAX(login_id) AS get FROM login WHERE user_id = '1' LIMIT 1
    Messaggio di MySQL: Documentazione

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'get FROM login WHERE user_id = '1' LIMIT 1' at line 1
    Ultima modifica di worldpage : 01-12-2018 alle ore 13.30.20

  22. #22
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    OK grazie.
    Codice:
    USE `my_worldpage`;
    SELECT MAX(login_id) AS get FROM login WHERE user_id = 1 LIMIT 1;
    Se togli gli apici al valore di user_id cosa ti dice? Ovviamente 1 dovrà esistere in tale colonna

  23. #23
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    OK grazie.
    Codice:
    USE `my_worldpage`;
    SELECT MAX(login_id) AS get FROM login WHERE user_id = 1 LIMIT 1;
    Se togli gli apici al valore di user_id cosa ti dice? Ovviamente 1 dovrà esistere in tale colonna
    stesso problema
    Codice PHP:
    Errore
    Query SQL
    : Documentazione



    SELECT MAX
    (login_id) AS get FROM login WHERE user_id = 1 LIMIT 1
    Messaggio di MySQL
    : Documentazione

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'get FROM login WHERE user_id = 1 LIMIT 1' at line 1

  24. #24
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Abbiamo accurato che per qualche motivo MySQL considera non valida questa istruzione sql.
    Problema numero due perché qui il valore è una stringa vuota? http://forum.it.altervista.org/php-m...ml#post1405007 ... Comunque devo effettuare dei test e risolvere almeno il problema di sintassi SQL .. Ciao

  25. #25
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    Abbiamo accurato che per qualche motivo MySQL considera non valida questa istruzione sql.
    Problema numero due perché qui il valore è una stringa vuota? http://forum.it.altervista.org/php-m...ml#post1405007 ... Comunque devo effettuare dei test e risolvere almeno il problema di sintassi SQL .. Ciao
    Ciao, l'errore 500 è stato risolto rimuovendo una stringa inutile ( IndexIgnore * ) dal file .htaccess, il problema più grande sembra essere proprio l'errore di sintassi SQL. Grazie mille per la disponibilità è il tempo perso!

  26. #26
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Sembra quasi che l'errore sia get (presumo sia una parola riservata) si usa i backtis.
    USE `my_worldpage`;
    SELECT MAX(`login_id`) AS `get` FROM `login` WHERE `user_id`= 1 LIMIT 1;
    Prova da phpmyadmin ... Mentre da php dobbiamo capire come mai la variabile di sessione e cioè il valore di user_id risulta vuoto.

  27. #27
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    Sembra quasi che l'errore sia get (presumo sia una parola riservata) si usa i backtis.
    USE `my_worldpage`;
    SELECT MAX(`login_id`) AS `get` FROM `login` WHERE `user_id`= 1 LIMIT 1;
    Prova da phpmyadmin ... Mentre da php dobbiamo capire come mai la variabile di sessione e cioè il valore di user_id risulta vuoto.
    Ciao, La regola sembra funzionare... ora la sostituisco alla regola vecchia sul php è provo!
    per il fatto che risulta vuoto non saprei...

  28. #28
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    Sembra quasi che l'errore sia get (presumo sia una parola riservata) si usa i backtis.
    USE `my_worldpage`;
    SELECT MAX(`login_id`) AS `get` FROM `login` WHERE `user_id`= 1 LIMIT 1;
    Prova da phpmyadmin ... Mentre da php dobbiamo capire come mai la variabile di sessione e cioè il valore di user_id risulta vuoto.
    Ciao! La stringa mi fa risolvere con successo il problema! ora tutto si visualizza correttamente, però alcune funzioni non inviano i dati al database... può essere sempre un problema di regole SQL? mi conviene verificarle tutte?

    <?php
    class universal{

    protected $db;

    public function __construct(){
    $db = N::_DB();
    $this->db = $db;
    }

    public function isLoggedIn(){
    if (isset($_SESSION['id'])) {
    // if (self::GETsDetails($_SESSION['id'], "email_activated") == "yes") { return true; }
    return true;
    } else {
    return false;
    }
    }

    public function getUsernameFromSession(){
    if (isset($_SESSION['id'])) {
    $session = $_SESSION['id'];
    $query = $this->db->prepare("SELECT username FROM users WHERE id=:id LIMIT 1");
    $query->execute(array(":id" => $session));
    $row = $query->fetch(PDO::FETCH_OBJ);
    return $row->username;
    }
    }

    public function checkGet($get){
    if (!isset($get)) {
    return false;
    } else {
    return true;
    }
    }

    public function validGET($get){
    $query = $this->db->prepare("SELECT id FROM users WHERE username = :username LIMIT 1");
    $query->execute(array(":username" => $get));
    if ($query->rowCount() == 0) {
    return false;
    } else if ($query->rowCount() != 0) {
    return true;
    }
    }

    public function getIdFromGet($get){
    $query = $this->db->prepare("SELECT id FROM users WHERE username = :get LIMIT 1");
    $query->execute(array(":get" => $get));
    $row = $query->fetch(PDO::FETCH_OBJ);
    return $row->id;
    }

    public function GETsDetails($get_id, $what){
    $query = $this->db->prepare("SELECT $what FROM users WHERE id = :id");
    $query->execute(array(":id" => $get_id));
    $row = $query->fetch(PDO::FETCH_OBJ);
    return $row->$what;
    }

    public function MeOrNot($get){
    if (self::isLoggedIn()) {
    if ($_SESSION['id'] == $get) {
    return true;
    } else {
    return false;
    }
    }
    }

    public function e_verified($id){
    $email = self::GETsDetails($id, "email_activated");
    if($email == "no"){
    return false;
    } else {
    return true;
    }
    }

    public function isPrivate($get){
    $follow = new follow_system;
    if ((self::MeOrNot($get) == false) && ($follow->isFollowing($get) == false) && (self::GETsDetails($get, "type") == "private")) {
    return true;
    } else {
    return false;
    }
    }

    public function nameShortener($name, $limit){
    if (strlen($name) >= $limit) {
    return substr($name, 0, intval($limit)-2)."..";
    } else if(strlen($name) < $limit) {
    return $name;
    }
    }

    public function toAbsURL($str){
    $regex = "#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#'"?&//=]*)?#si";
    $str = preg_replace($regex, '<a class="hashtag" href="$0" target="_blank">$0</a>', $str);
    return $str;
    }

    public function isOnline($user){
    if (isset($_SESSION['id'])) {
    $session = $_SESSION['id'];

    if ($user != $session) {
    $query = $this->db->prepare("SELECT MAX(`login_id`) AS `get` FROM `login` WHERE `user_id`= 1 LIMIT 1;");
    $query->execute(array(":id" => $user));
    if ($query->rowCount() > 0) {
    $row = $query->fetch(PDO::FETCH_OBJ);
    $login = $row->get;

    $r = $this->db->prepare("SELECT logout FROM login WHERE login_id = :id LIMIT 1");
    $r->execute(array(":id" => $login));
    if ($r->rowCount() > 0) {
    $rr = $r->fetch(PDO::FETCH_OBJ);
    $logout = $rr->logout;

    if (substr($logout, 0, 4) == "0000") {
    return true;
    } else {
    return false;
    }

    }
    }
    }

    }

    }

    public function urlChecker($url){
    if(substr($url, 0, 1) == "/"){
    $r = "http://localhost{$url}";
    } else {
    $r = $url;
    }
    return $r;
    }

    }
    ?>
    Ultima modifica di worldpage : 01-12-2018 alle ore 14.44.42

  29. #29
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Se non vedo l'istruzione sql non posso dire ne si e ne no ma comunque posta qui e le controlliamo insieme.
    Vedo solo select e non insert o update che è quello che interessa a entrambi.. :)
    Ultima modifica di darbula : 01-12-2018 alle ore 14.49.28

  30. #30
    worldpage non è connesso Neofita
    Data registrazione
    19-07-2015
    Messaggi
    25

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    Se non vedo l'istruzione sql non posso dire ne si e ne no ma comunque posta qui e le controlliamo insieme.
    Vedo solo select e non insert o update che è quello che interessa a entrambi.. :)
    Ciao, purtroppo non essendoci un codice di errore come nel caso di prima diventa complicato scovare la regola incriminata, quindi sono un po' in alto mare!

Pagina 1 di 2 12 UltimoUltimo

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •