Visualizzazione risultati 1 fino 5 di 5

Discussione: include/require/file_get_contents nessuno fa ciò che mi serve

  1. #1
    L'avatar di zerobruno
    zerobruno non è connesso Utente
    Data registrazione
    03-10-2013
    Messaggi
    192

    Predefinito include/require/file_get_contents nessuno fa ciò che mi serve

    r.php:
    Codice PHP:
    <?
    $a
    =$_GET['a'];
    if(
    $a=='a'){
    $ciao='<br>salve';
    echo
    '<br>arrivederci';
    }
    //dice '<br>arrivederci'
    n.php:
    Codice PHP:
    <?
    include 'r.php?a=a';
    //nulla

    include 'r.php?a=a';
    echo
    $ciao;
    //nulla

    echo file_get_contents('r.php?a=a');
    echo
    $ciao;
    //echo è superfluo, ma non stampa nulla


    require 'r.php?a=a';
    echo
    $ciao;
    //stampa a video questo:

    Fatal error: require() [function.require]: Failed opening required 'r.php?a=a' (include_path='.:') in /membri/pkspritesearch/pagine/try/domanda/n.php on line 2
    Dai, pargoli, come si risolve? Come faccio a far stampare '<br>arrivederci'?


    Siete i migliori!
    Perché con l'accento grave è inguardabile.

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

    Predefinito

    Utilizzando "include" o "require", è come se incollassi il codice r.php nella pagina n.php. Quindi il parametro get devi darlo a n.php, non a r.php.
    Praticamente:
    Codice:
    percorso/n.php?a=a
    Per la file_get_contents(): con il percorso relativo, lo script capisce che è un file interno e quindi ti mostrerà tutto il sorgente. Se vuoi che ti venga mostrato soltanto il contenuto della echo, devi fargli capire che stai tentando di aprire un file generico non del tuo spazio, quindi dovresti usare un percorso assoluto, del tipo:
    Codice PHP:
    echo file_get_contents('http://zerobruno.altervista.org/zerobruno/r.php?a=a');
    (credo siano necessarie le connessioni server2server abilitate).

    Ciao!

  3. #3
    L'avatar di zerobruno
    zerobruno non è connesso Utente
    Data registrazione
    03-10-2013
    Messaggi
    192

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    [...]
    Serio?
    Perché con l'accento grave è inguardabile.

  4. #4
    Guest

    Predefinito

    Inlcude non fa altro che inserire il codice dentro la pagina nella quale stai includendo il php, quindi nel tuo caso l'errore sta proprio nel passare il parametro $a in GET, basta che scrivi:

    prova.php

    Codice PHP:

    $a
    ="ciao"
    index.php

    Codice PHP:

    include "prova.php";

    print
    $a;
    Ciao

  5. #5
    Guest

    Predefinito

    Zerobruno ariciao, stavo riguardando quello che avevi scritto nel codice perchè prima andavo di fretta però sinceramente non so se ho capito bene quello che vuoi fare, dal codice che hai scritto sembrerebbe che vuoi stampare arrivederci nel file r.php solo se $a='a' , $a passato in GET quindi se apro il link "r.php?a=a" deve stampare arrivederci mentre nel file n.php vuoi stampare sempre $ciao='salve' lo vuoi stampare sempre perchè da quello che hai scritto lo stai includendo con r.php?a=a (che è un errore non si include così un file), ma sinceramente non capisco perchè dichiarare una variabile all'interno di un case specifico, si dichiarano le variabili all'inizio e si usano quando vogliamo noi.
    Comunque il giusto codice per il tuo esempio è il seguente :

    file r.php
    Codice PHP:

    error_reporting
    ('E_NOTICE');

    $ciao='<br>salve';
    $a=$_GET['a'];

    if(
    $a == 'a'){
    echo
    '<br>arrivederci';
    }

    file n.php

    Codice PHP:

    include "r.php";

    print
    $ciao;
    ovviamente quando aprirai "n.php?a=a" stamperà

    arrivederci
    salve

    perchè includi in n.php il file r.php.
    Ciao spero sia utile.
    Ultima modifica di fractalcosmo : 07-06-2015 alle ore 00.42.19

Regole di scrittura

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