Visualizzazione risultati 1 fino 9 di 9

Discussione: Problema nell'include di un file

  1. #1
    Guest

    Predefinito Problema nell'include di un file

    Ho un sistema di ban basato su un file (bannaggio.php) che viene incluso ogni volta nelle pagine così:
    Codice:
    <?php
    include 'bannaggio.php';
    ?>
    il file è il seguente:
    bannaggio.php
    Codice:
    <?php
    $ip=getenv("REMOTE_ADDR");
    $db = mysql_connect("localhost","AAA","AAA") or die("Connessione non riuscita: " . mysql_error());	
    mysql_select_db("my_razers", $db);
    	
    $query = "SELECT * FROM `ban` WHERE ip_ban='$ip'";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    
    if (!$row) {
    	exit;
    } else {header("location: banned.php");}
    ?>
    C'è un unico problema, il codice non presenta errori, ma quando va ad includerlo mi restituisce pagina bianca. Ho controllato anche la sorgente, VUOTA.

    Invece, se lo scrivo direttamente nella pagina così:
    Codice:
    <?php
    $ip=getenv("REMOTE_ADDR");
    $db = mysql_connect("localhost","AAA","AAA") or die("Connessione non riuscita: " . mysql_error());	
    mysql_select_db("my_razers", $db);
    	
    $query = "SELECT * FROM `ban` WHERE ip_ban='$ip'";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    
    if ($row) {
    	header("location: banned.php");
    } else {
    ALTRO CODICE PHP
    ?>
    PAGINA - PAGINA - PAGINA - PAGINA
    <?php } ?>
    Non mi da errori!!! E' impossibile! Cosa dovrei fare?
    Ultima modifica di razers : 26-07-2009 alle ore 18.25.37

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

    Predefinito

    Non so se dico una cavolata, ma io include lo uso sempre con le parentesi tonde:

    (ad esempio):
    Codice PHP:
    include ("bannaggio.php");
    ..Forse non vuol dire, ma prova
    Ciao!

    EDIT:

    Poi, nella query e precisamente qui:
    Codice PHP:
    `ban`
    togli quelle virgolette, che le aggiunge phpmyadmin, ma non vanno...
    quindi:

    Codice PHP:
    $query = "SELECT * FROM ban WHERE ip_ban='$ip'";
    EDIT 2:
    Codice PHP:
    if (!$row) {
    exit;
    } else {
    header("location: banned.php");}
    Se l'if risulta TRUE, viene eseguito l'exit e quindi mi sembra giusto che ti ritrovi una pagina bianca .
    Ho controllato anche la sorgente, VUOTA.
    E' normale: il codice PHP viene eseguito sul server, e non sul browser!
    Ultima modifica di alemoppo : 26-07-2009 alle ore 18.27.13

  3. #3
    Guest

    Predefinito

    hehe grazie mille della risposta, ma, purtroppo, non funziona!

    EDIT: Na... neanche se modifico le virgolette >.>
    Ultima modifica di razers : 26-07-2009 alle ore 18.27.14

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

    Predefinito

    Sicuro che si trova nella stessa cartella??

    Se si trova nella stessa cartella e il file si chiama correttamente, prova così:
    Codice PHP:
    include ("./bannaggio.php");
    {ma dovrebbe essere uguale...}

    Ciao!

  5. #5
    Guest

    Predefinito

    Niente... uguale a prima: pagina bianca ç_ç

  6. #6
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    Se l'if risulta TRUE, viene eseguito l'exit e quindi mi sembra giusto che ti ritrovi una pagina bianca.
    *

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Non so se dico una cavolata, ma io include lo uso sempre con le parentesi tonde
    Si possono anche omettere le parentesi.

    togli quelle virgolette, che le aggiunge phpmyadmin, ma non vanno...
    Non c'entra phpMyAdmin, è una caratteristica del linguaggio SQL.
    Meglio includere il backtick ;)

  7. #7
    Guest

    Predefinito

    Eh ma l'exit esce dall'if.... quindi dovrebbe CONTINUARE con il resto della pagina! ... o sbaglio?

  8. #8
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    No: la funzione exit interrompe l'esecuzione dello script, lì al massimo ci andrebbe un break.
    Ma visto che l'else non è obbligatorio...
    Codice PHP:
    if($row)
    header("location: banned.php");
    Ciao!

  9. #9
    Guest

    Predefinito

    Cacchio!! ci avevo pure provato e mi dava errore O__O" E ora vaa... bah! Grazie mille!!!!!

Regole di scrittura

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