PDA

View Full Version : [PHP] problemi con "include"


foxmolder5
27-06-2005, 16:31
ho un file con il seguente codice :

<?php

include ("./includes/config.php");

$cat = $_POST['cat'];
$news = $_GET['news'];



?>

<html>
<head>
<title>titolo</title>
</head>
<body>

<?php
include("./header.php");
?>

<table border="0" cellpadding="0" cellspacing="1" width="100%">
<tr>
<td width="20%" valign="top">
<? include("./leftcol.php");?>
</td>
<td width="60%" valign="top">
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td width="100%" colspan="2">
<p class="Titolo "></p>

<?php
if( $cat != 0 )
{
$location = "./includes/lista.php?cat=".$cat ;
include("$location");
}
else if( $news != 0 )
{
$pagina = "./includes/vedi.php?news=".$news ;
include ("$pagina");
}
else
{
include ("./includes/lista.php");
}
?>

</td></tr>
</table>
</td>
<td width="20%" valign="top">
<?
include("./rightcol.php");
?>
</td>
</tr>
</table>

attraverso un collegamento di 1 altra pagina chiamo il file con il riferimento "nome_file.php?news= valore " ed ho problemi poichè mi viene visualizzato il seguente errore:

Warning: main(./includes/vedi_articolo.php?news=3) [function.main]: failed to open stream: Invalid argument in C:\Programmi\Apache Group\Apache2\htdocs\news_project\index.php on line 56

Warning: main() [function.include]: Failed opening './includes/vedi_articolo.php?news=3' for inclusion (include_path='.;C:\php5\pear') in C:\Programmi\Apache Group\Apache2\htdocs\news_project\index.php on line 56

(la riga 56 è quella dove vi è "include("$pagina");

il file vedi.php è un file vuoto ( ci sono solo i tag php) e nient'altro e non capisco proprio quale possa essere l'errore.
mi sapreste aiutare?

Fenomeno85
27-06-2005, 16:36
mmm indirizzo relativo corretto ??

http://us2.php.net/include/

~§~ Sempre E Solo Lei ~§~

foxmolder5
27-06-2005, 16:41
inserendo " // " nell'indirizzo non cambia nulla, anche perchè avevo già precedentemente controllato nel sorgente della pagina nel browser se l'indirizzo fosse giusto.
se invece metto require esce :

Warning: main(./includes/vedi_articolo.php?news=2) [function.main]: failed to open stream: Invalid argument in C:\Programmi\Apache Group\Apache2\htdocs\news_project\index.php on line 42

Fatal error: main() [function.require]: Failed opening required './includes/vedi_articolo.php?news=2' (include_path='.;C:\php5\pear') in C:\Programmi\Apache Group\Apache2\htdocs\news_project\index.php on line 42

in cui la linea 42 è quella dove ho sostituito l'include con il require.

Fenomeno85
27-06-2005, 16:45
prova a stampare pagina e vedi se l'indirizzo è corretto

~§~ Sempre E Solo Lei ~§~

foxmolder5
27-06-2005, 17:01
niente.indirizzo corretto. :cry:

tglman
28-06-2005, 10:22
Stai sbagliando una cosa semplice, l'include legge un file e se il file è un php lo elabora come se facesse parte del file che lo sta includendo,

Cioè
Se io ho due file del genere:
File1.php:

<?include ("file2.php");?>


File2.php:

<?echo "$_GET[bo]";?>


Se scrivo nel browser un'url del genere: http://www.sito.it/file1.php?bo=ciao
il risultato sara un bel "ciao".

Perchè il file2.php viene interpretato come parte di file1.php

Quindi non hai bisogno di ripassare i parametri.

Scrivendo quello che hai scritto tu l'iterprete php va a cercare un file che si chiama: "./includes/vedi.php?news=3"
Che logicamente non esiste.

Ciao

foxmolder5
28-06-2005, 14:05
si, ti ringrazio.poi ieri avevo notato l'errore madornale!!!
grazie ancora