Newsgroup: it.comp.www.php
Titolo: problema con "include"

ho il seguente file .php:
<?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?

 Group\Apache2\htdocs\news_project\index.php on line 56
Il manuale, questo sconosciuto ...
http://www.php.net/include#AEN4958
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.

 
l'avevo letto ma non avevo trovato nulla. dici che dovrei esporre anche 
lì il mio problema?

 anche lì il mio problema?
No, dico che dovresti leggere meglio il manuale ed i messaggi di errore
restituiti da PHP.
Esiste un file chiamato "vedi_articolo.php?news=3" ?
No, ma esiste un file chiamato "vedi_articolo.php" che vuoi includere
impostando la variabile $_GET['news'] a 3. Per fare questo leggi il
manuale al link suggerito.


 
il fatto è che io ho messo il percorso relativo usando "./includes/..."
e infatti se nella pagina web mi posiziono sul link, questo mi viene 
mostrato correttamente nella sua interezza 
"
http://localhost:8080/nome_progetto/includes/nome_file.php
inoltre il fatto che mi lascia ancora + perplesso è che se eseguo invece 
  l' "if " precedente in cui si chiama il file lista.php il tutto 
funziona alla perfezione.

 tutto funziona alla perfezione.
Perplesso per cosa? Esiste un file chiamato "lista.php" ? Si, e allora
che cosa ti lascia perplesso?


 
il file lista.php esiste. ma allora se viene eseguita l'istruzione 
esisterà anche il file "./includes/lista.php?cat=".$cat
che apparirà nella pagina web come collegamento a 
./includes/lista.php?cat=numero

ti ringrazio per la tua enorme pazienza.
all'interno della variabile "pagina" se scrivo il percorso completo del 
file "
http://localhost:8080/.
.. " l'include funziona, ma in ogni caso 
non riesco a capire come mai quando faccio l'include di :
"./includes/lista.php?cat=".$cat   FUNZIONA
ed invece quando faccio l'include di
"./includes/vedi.php?news=".$news ; NON FUNZIONA
come viene scritto nel manuale del php dovrebbe dare errore in entrambe 
i casi, ma invece non è così.

 "./includes/lista.php?cat=".$cat   FUNZIONA
<?php 
include ('./includes/lista.php?cat=1');
?>
Funziona? IMHO no.
 
<?php 
$_GET['cat'] = 1;
include ('./includes/lista.php');
?>
Questo invece funziona come atteso.



Il tuo condizionatore d'aria raffredda la tua stanza
e riscalda la citta'. Fatti un favore: spegnilo.

 file incluso. Orrendo ma funzionale
No, non funzionerebbe comunque a meno che esista un file chiamato
"lista.php?cat=1" nella cartella "./includes".





 
ora provo anche questo

 "lista.php?cat=1" nella cartella "./includes".
giusto, hai ragione


 si. come ti ho detto funziona.
Per me non puo' funzionare a meno che non esista un file chiamato
esattamente "lista.php?cat=1". Hai provato lo script tale e quale a
quello proposto?


 
register_global confermo su ON

 
quello che ho proposto è la copia dello script che sto usando e ti 
assicuro che in quel modo funziona benissimo ("lista.php?cat=1").
per questo che mi stupiso se uno funzionava e l'altro no.
se invece non avessero funzionato entrambi non avrei sicuramente postato 
qui.
cmq di nuovo grazie x la pazienza :-)

 
cmq il prob è risolto. vi ringrazio di nuovo.