Visualizzazione risultati 1 fino 10 di 10

Discussione: errori totalmente a caso di altervista!

  1. #1
    Guest

    Unhappy errori totalmente a caso di altervista!

    Salve a tutti!

    Avrei dei problemi con alcuni siti di altervista..

    per chiarezza vi spiego meglio che mi è successo:

    Da qualche tempo ho finito di sviluppare un mio portale web in php. L'ho utilizzato per prova in tre diversi siti internet (il mio e per due band), ed è successo così:
    nel mio spazio, è andato perfetto; nello spazio del primo gruppo (www.theblank.altervista.org) mi aveva dato un errore totalmente a caso, parlando di parentesi grafe dove non ce n'era neanche l'ombra, tant'è che l'errore l'ho risolto togliendo via da "<?php" la parte "php" e dopo ha funzionato.
    Ora nell'ultimo sito (http://raindrops.altervista.org) mi da un altro errore:

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /membri/raindrops/librerie/db.config.php on line 6

    Ma la cosa molto divertente è che nella linea 6 non c'è nulla! E ancora più divertente è che ho sviluppato il portale in modo dinamico, quindi a me basta cambiare i templates e per il resto il sistema va a stampo (tranne per qualche add-on da aggiungere...ma funziona comunque sempre tutto)..Cioè, i tre siti sono presi facendo copia e incolla e modificando la grafica. Nel mio personale c'è la versione base del mio portale, mentre per gli altri due ci sono delle aggiunte, ma essendo portali musicali, ho fatto (come già detto) copia e incolla e via! Quindi se va uno, dovrebbe andare anche l'altro!

    Il fatto è che per questi due mi da degli errori diversi pur essendo sempre uguale il codice!! E quindi io non so più che fare! ho provato a mettere il tag di php minimale (<?) però non va comunque!

    Qualcuno può farmi capire cosa non va?!
    Ultima modifica di roxysrose : 17-11-2011 alle ore 23.51.25

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

    Predefinito

    Citazione Originalmente inviato da roxysrose Visualizza messaggio
    tant'è che l'errore l'ho risolto togliendo via da "<?php" la parte "php" e dopo ha funzionato.
    Beh, grazie... Vedrai che eliminando tutto il PHP, quegli errori spariranno!!!

    Per poterti aiutare, è necessario vedere il codice, altrimenti così è difficile dire... (e non solo la riga dove si verifica l'errore: l'interprete PHP a volte non riesce con certezza a determinare la riga errata... quindi son necessarie un po di righe sopra la riga incriminata; sarebbe meglio il codice completo...).

    Ciao!

  3. #3
    Guest

    Predefinito

    Scusate, preso dalla voga ho contato male le righe..qualcosa c'è ma in ogni caso non ha senso l'errore perché in altri due siti funziona perfettamente!! Ed è lo stesso codice...

    Codice PHP:
    <?php
    define
    ("DEBUG", FALSE);

    class
    My_Sql {

    private
    $db = NULL;
    private
    $query = NULL;
    private
    $risultati_query = array();
    public
    $database_name = NULL;

    public function
    richiama_db($richiamo){

    if(
    $richiamo == TRUE){ return $this->db; }
    }

    public function
    connetti(){

    if(
    DEBUG){ echo "<p>CONNESSIONE</p>"; }
    $db = mysql_connect("SITO","USER","PASSWORD")
    or die(
    "Connessione non riuscita");
    mysql_select_db("my_TABELLA",$db)
    or die(
    "Database non giusto");

    $this->database_name = "my_TABELLA";

    $this->db = $db;
    }

    private function
    libera(){
    if(
    DEBUG){ echo "<p>LIBERA RISULTATI</p>"; }
    if(
    $this->query != NULL){ mysql_free_result($this->query); $this->query = NULL; $this->risultati_query = NULL; }
    }

    public function
    esegui_query($istruzione,$tipo_query,$tipo_risultati_query,$tabella){

    if(
    DEBUG){ echo "<p>EX QUERY: istruzione: $istruzione | tipo query: $tipo_query | tipo risultati: $tipo_risultati_query | tabella: $tabella</p>"; }

    if(
    $istruzione != NULL){

    switch(
    $tipo_query){
    case
    "risultati":
    if(
    DEBUG){ echo "<p>risultati</p>"; }
    $this->connetti();

    $this->query = mysql_query(($istruzione))
    or die(
    "Impossibile fare la query in risultati");
    $risultati = $this->GetRisultati($tipo_risultati_query);
    $this->libera();
    return
    $risultati; break;

    case
    "while":
    if(
    DEBUG){ echo "<p>while</p>"; }
    $this->connetti();
    $this->query = mysql_query(($istruzione))
    or die(
    "Impossibile fare la query in while");
    $risultati = $this->ciclo();
    $this->libera();

    return
    $risultati; break;

    case
    "aggiungi":
    if(
    DEBUG){ echo "<p>aggiungi</p>"; }
    $this->connetti();
    if(
    $tipo_risultati_query){$this->tipo_risultati_query = $tipo_risultati_query;}
    return(
    $this->AddRisultati($istruzione,$tabella));
    break;

    case
    "aggiorna":
    if(
    DEBUG){ echo "<p>aggiorna</p>"; }
    $this->connetti();
    return(
    $this->SetRisultati($istruzione,$tabella));
    break;

    case
    "elimina":
    if(
    DEBUG){ echo "<p>elimina</p>"; }
    $this->connetti();
    return(
    $this->DelRisultato($istruzione,$tabella));
    break;

    default: if(
    DEBUG){ echo "<p>errore</p>"; } die("Tipo di query non corretta"); break;
    }
    }
    }

    private function
    ciclo(){

    $this->risultati_query = array();
    while(
    $row = mysql_fetch_array($this->query)){

    $this->risultati_query[] = $row;
    }
    return
    $this->risultati_query;
    }

    public function
    GetCampi($tabella,$query){
    global
    $mysql;

    if(
    DEBUG){ echo "<p>PRENDI CAMPI</p>"; }

    if(!isset(
    $query)){
    $this->query = array($tabella,$this->database_name);
    $campi_query = $this->GetRisultati("array_campi");

    }else{
    $campi_query = mysql_query($query,$mysql->db); }

    $colonne = mysql_num_fields($campi_query) or die ("Impossibile recuperare le informazioni");

    $campi = array();

    for (
    $i = 0; $i < $colonne; $i++) {
    $campi[] = mysql_field_name($campi_query, $i);
    if(
    DEBUG){ echo $campi[$i]."<br />"; }
    }
    return
    $campi;
    }

    public function
    GetTipoCampi($tabella,$query){
    global
    $mysql;

    if(
    DEBUG){ echo "<p>PRENDI CAMPI</p>"; }

    if(!isset(
    $query)){
    $this->query = array($tabella,$this->database_name);
    $campi_query = $this->GetRisultati("array_campi");

    }else{
    $campi_query = mysql_query($query,$mysql->db); }

    $colonne = mysql_num_fields($campi_query) or die ("Impossibile recuperare le informazioni");

    $campi = array();

    for (
    $i = 0; $i < $colonne; $i++) {
    $campi[] = mysql_field_type($campi_query, $i);
    if(
    DEBUG){ echo $campi[$i]."<br />"; }
    }
    return
    $campi;
    }

    public function
    getPrimaryKey($tabella,$cerca){

    $query = mysql_query("SHOW KEYS FROM ".$tabella.";",$this->db);
    while(
    $row = mysql_fetch_assoc($query)){
    if(
    $row["Key_name"] == "PRIMARY"){
    if(!isset(
    $cerca)){ $key = $row["Column_name"]; }
    elseif(
    $cerca == $row["Column_name"]){ $key = TRUE; } else { $key = FALSE; }
    }
    }

    return
    $key;
    }

    private function
    GetRisultati($tipo_risultati_query){

    if(
    DEBUG){ echo "<p>GET RISULTATI: ".$this->query." | Tipo Ris: ".$tipo_risultati_query."</p>"; }

    if(
    $this->query != NULL){
    switch(
    $tipo_risultati_query){

    case
    "array_car": return($this->risultati_query = mysql_fetch_array($this->query)); break;
    case
    "array_num": return($this->risultati_query = mysql_fetch_row($this->query)); break;
    case
    "array_ogg": return($this->risultati_query = mysql_fetch_object($this->query)); break;
    case
    "array_campi": return($this->risultati_query = mysql_list_fields($this->query[1],$this->query[0],$this->db)); break;
    case
    "array_ass": return($this->risultati_query = mysql_fetch_assoc($this->query)); break;

    case
    "conto_righe": return($this->risultati_query = mysql_num_rows($this->query)); break;
    case
    "conto_campi": return($this->risultati_query = mysql_num_fields($this->query)); break;

    default:
    $this->risultati_query = NULL; die("Tipologia di richiesta non riconosciuta"); break;
    }

    }else{ die(
    "Manca la query"); }
    }

    private function
    AddRisultati($risultati,$tabella){

    if(
    DEBUG){ echo "<p>AGGIUNGI RISULTATO</p>"; }

    if(isset(
    $this->tipo_risultati_query)){$tipo_query = $this->tipo_risultati_query;}
    else{
    $tipo_query = NULL;}
    $campi = $this->GetCampi($tabella,$tipo_query);
    $ultimo_campo = count($campi) - 1;
    $query_ad = "INSERT INTO ".$tabella." (";

    if(
    DEBUG){ print_r($risultati); echo "<br />"; print_r($campi); }

    foreach(
    $campi as $chiave => $valore){

    if(
    array_key_exists($valore,$risultati)){
    if(
    $campi[$ultimo_campo] == $valore){ $query_ad .= $valore; }
    else{
    $query_ad .= $valore.","; }
    }
    }

    $query_ad .= ") VALUES (";

    foreach(
    $campi as $chiave => $valore){

    if(
    array_key_exists($valore,$risultati)){
    if(
    $campi[$ultimo_campo] == $valore){ $query_ad .= "'".mysql_real_escape_string($risultati[$valore])."'"; }
    else {
    $query_ad .= "'".mysql_real_escape_string($risultati[$valore])."',"; }
    }
    }

    $query_ad .= ");";

    if(
    DEBUG){ echo "<p>QUERY ADD: ".$query_ad."</p>"; }
    mysql_query($query_ad) or die("Impossibile aggiungere il dato"); return TRUE;
    }

    private function
    SetRisultati($risultati,$tabella){

    if(
    DEBUG){ echo "<p>AGGIORNA RISULTATO:</p>"; print_r($risultati); }

    $campi = $this->GetCampi($tabella,null);
    foreach(
    $campi as $chiave => $valore){
    if(
    DEBUG){ echo "<p>CHIAVE: ".$chiave." | VALORE: ".$valore."</p>"; }
    if(isset(
    $risultati[$valore])){ if(DEBUG){ echo "<ul>$valore -> ".$risultati[$valore]."</ul>"; } mysql_query("UPDATE ".$tabella." SET ".$valore."='".mysql_real_escape_string($risultati[$valore])."' WHERE ".$this->getPrimaryKey($tabella,NULL)."='".$risultati[$this->getPrimaryKey($tabella,NULL)]."';")or die("Modifica non riuscita"); }
    }
    return
    TRUE;
    }

    private function
    DelRisultato($risultati,$tabella){

    if(
    DEBUG){ echo "<p>ELIMINA RISULTATO</p>"; }
    $campi = $this->GetCampi($tabella,NULL);
    mysql_query("DELETE FROM ".$tabella." WHERE ".$this->getPrimaryKey($tabella,NULL)."=".mysql_real_escape_string($risultati[$this->getPrimaryKey($tabella,NULL)]).";") or die("Impossibile eliminare risultato"); return TRUE;
    }

    public function
    disconnetti(){

    if(
    DEBUG){ echo "<p>DISCONNETTI</p>"; }
    if(
    $this->db != NULL){ $this->query = NULL; $this->risultati_query = array(); mysql_close($this->db); $this->db = NULL; }
    }
    }
    ?>

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

    Predefinito

    In effetti quel file sembra corretto a livello di sintassi.

    Sicuro che quello è il file "db.config.php" ?

    Ciao!

  5. #5
    Guest

    Predefinito

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /membri/raindrops/librerie/db.config.php on line 6

    Questo è quello che dice andando su www.raindrops.altervista.org !
    E ripeto: non ha senso che qui dia questo errore e in altri due siti IDENTICI no!!

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

    Predefinito

    Puoi rispondere alla domanda?

    Ciao!

  7. #7
    Guest

    Predefinito

    bè sì che ne sono certo!! XD
    l'ho scritto io e l'ho chiamato io così! XD db.config.php, la "libreria" che si occupa della gestione del database!

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

    Predefinito

    Puoi verificare se hai attivato PHP 5?

    Ciao!

  9. #9
    Guest

    Predefinito

    hai avuto la mia stessa pensata! ora vedo, grazie!!

    EDIT:

    sistemato! VAAAA!!

    scusate. sono io idiota. Credevo fosse automatico l'utilizzo del 5 al posto del 4!!
    Ultima modifica di alemoppo : 18-11-2011 alle ore 01.13.18

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

    Predefinito

    Citazione Originalmente inviato da raindrops Visualizza messaggio
    Credevo fosse automatico l'utilizzo del 5 al posto del 4!!
    Per i nuovi account è automatico, ma per i vecchi occorre attivarlo, penso per evitare eventuali spiacevoli inconvenienti dovuti al php 5 per vecchi script...

    Ciao!
    Ultima modifica di alemoppo : 18-11-2011 alle ore 01.14.14

Regole di scrittura

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