- Home
- Categorie
- Coding e Sistemistica
- PHP
- PHP Include e Links
-
PHP Include e Links
Salve a tutti, avrei 3 quesiti a cui nn riesco a trovare soluzione da quasi un mese:
Supponiamo di avere nella cartella principale del sito un file di nome "index.php"
poi in una cartella di nome "cartella" abbiamo un altro file di nome "a.php" e un immagine "img.gif". E nel file "a.php" si vede l'immagine "img.gif".
Includendo a.php da index.php non riesco a vedere l'immagine img.gif....
infatti anche se faccio
include ("cartella/a.php");
poi a.php non riesce a trovare più img.gif.... sapete come risolvere il problema?
Oppure è necessario collegare tutti i files tramite il percorso completo?E' molto analoga alla prima, supponendo di avere sempre un index.php nella cartella principale e in una cartella di nome "cartella" due files: "a.php" e "b.php", e questa volta a.php contiene un link verso b.php.
Se includo sempre allo stesso modo...
include ("cartella/a.php");
e poi clicco sul link, ma "b.php" si aprirà in una nuova pagina, e non come "a.php" che era incluso in "index.php"... E' possibile includere quindi anche le pagine collegate a a.php?- <= quella che mi interessava sapere maggiormente
Forse sbaglio le keywords per cercare, ma nn sono riuscito a trovare uno straccio di guida che spiega come fare i link tipo questo (index.php?page=ciao)
sulla guida al php di Giorgio ho trovato qualcosa a riguardo, ma non ci ho capito molto....
In attesa di una risposta vi pongo distinti saluti...
- <= quella che mi interessava sapere maggiormente
-
per il problema degli include devi mettere l'url della cartella più alta, dipende dal tuo hoster..
ad es:
include('/var/www/index.php')se sei su altervista:
include('/membri/tuonick/index.php')
-
ok...grazie per la risposta
ma in questo modo poi automaticamente riesce a trovare gli altri files senza che su a.php debba scrivere il percorso completo del link "/membri/tuonick/cartella/b.php" ?Riguardo invece alla 3 domanda... sapete dirmi almeno come si chiama quella tecnica?
ciauz...
-
@syscrash said:
ok...grazie per la risposta
ma in questo modo poi automaticamente riesce a trovare gli altri files senza che su a.php debba scrivere il percorso completo del link "/membri/tuonick/cartella/b.php" ?Riguardo invece alla 3 domanda... sapete dirmi almeno come si chiama quella tecnica?
ciauz...
non ho capito bene la tua domanda.. comunque se metti sempre il percorso "/membri/nic../blabla.." te le include tutte le pagine..
per la 3, fai ad esempio
<a href="pagina.php?id=30">ciao</a>
poi nell altra pagina fai:
$id=$_GET[id];
a questo punto la variabile $id conterra il valore 30.
ciao;)
-
grazie per la risposta.,.. ci sono riuscito!
però mi si presenta un altro problema:
mi sto impazzendo...
allora... io sto sviluppando questo sito in locale, quindi se voglio risalire fino alla root dovrei fare \Programmi\xampp\htdocs\ware\Software\modules.php
ma poi quando lo metterò online dovrò ricambiare tutti i percorsi dei link in questo modo!!!...."ware" diventerà la cartella principale.... (tipo "tuonick" su altervista)
quindi vorrei poter scrivere i percorsi dei link in modo che non sono costretto a riscriverli per metterli online....Riguardo all'altra domanda, non ho potuto testare se include tutti i files perchè mi da questo errore:
Parse error: parse error, unexpected T_INCLUDE, expecting ',' or ';' in C:\Programmi\xampp\htdocs\prova da cancellare.php on line 3
e il codice è questo
<?php
echo "ciao"
include('C:\Programmi\xampp\htdocs\ware\Software\modules\News\index.htm');
?>...strano... se sapete il perchè di questo errore fatemi sapere...
ciao..
-
hai dimenticato il ";"
[php]
<?php
echo "ciao";
include('C:\Programmi\xampp\htdocs\ware\Software\modules\News\index.htm');
?>
[/php]x l'altro problema:
fai un file .php che includi in tutte le pagine (tipo config.php) e fai:
[php]
$percorso='C:/programmi/blabla/';
[/php]
e quando fai l'include:
[php]
<?php
echo "ciao";
include($percorso.'index.htm');
?>
[/php]quando la metti online cambi solo la variabile $percorso.
Ciao
-
Lol... che sbadato, me lo scordo sempre, ora funge.... cmq non mi include automaticamente i files...
ovvero index.htm ha un redirect automatico a all.php, i quali si trovano nella stessa cartella, ma dato che index.htm viene incluso da un file posizionato in un altra cartella non riesce più a trovare all.phpQuindi sarei costretto a inserire i percorsi completi ovunque... il problema è che sono dei moduli già fatti, quindi dovrei esplorarli tutti per trovare tutti i links....
cmq riguardo invece a index.php?id=1 mi funziona, però volevo alcune info sulla sicurezza... non rischio un file inclusion con una shell in questo modo?
che stringhe devo usare per evitarlo?
-
@syscrash said:
cmq riguardo invece a index.php?id=1 mi funziona, però volevo alcune info sulla sicurezza... non rischio un file inclusion con una shell in questo modo?
può darsi, ma non ho la minima idea di cosa sia..
spero che ti possa rispondere qualcun'altro.. Ciao