Entra

View Full Version : [php/htlm] Apertura pagina html in una pagina php


valdez
16-07-2008, 13:03
Girovagando sul web per cercare di risolvere un problema mi sono iscritto a questo forum per cui rivolgo prima un saluto a tutti e pongo il problema con la speranza che qualch'uno possa essermi d'aiuto.
Doverosa premessa sono molto ignorante!!!!!

Ho una pagina in php (indice ricette) (http://www.terrenobili.com/antipasti.php?osCsid=1d939d853345bdb4500dae08f5f48e17) con una serie di link ad altre pagine in html (ricette) poste su di un altro sito. Mi piacerebbe far aprire queste pagine html (ricette) (http://www.casacantamessa.com/pierrezip/antipasti/coppiette_laziali.html) all'interno di una pagina (http://www.terrenobili.com/apriricette.php) in php.
E' possibile? Se si come?

dany84
16-07-2008, 16:04
dovrebbe bastare aggiungere l'attributo "src" al tag <iframe> che hai creato con dentro l'indirizzo della pagina.
es:
<iframe name="contenuto" src="http://www.sito.it/pagina.php" width="100%" height="100%">
</frame>
ovviamente la larghezza e l'altezza poi le setti come meglio credi

Mi pare di capire che devi usare questa pagina per aprire diversi link, quindi il link puoi passarglielo via url dalla pagina principale (indice ricette).
Quindi il link in "indice ricette" sarà così strutturato:
http://www.terrenobili.com/apriricette.php?ricetta=acciughe_limone
nella pagina "apriricette.php" invece recuperi dall'url il valore di "ricetta" e stampi a video il frame che nell'src conterrà la pagina che hai passato dall'indice:
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.sito.it/' . $val . '.php" width="100%" height="100%"> </frame> ' ;

?>





spero che la sintassi dell'echo finale sia corretta, è un po' che non uso php, ma cercando sul web sembra sia corretta :)

valdez
18-07-2008, 06:30
dovrebbe bastare aggiungere l'attributo "src" al tag <iframe> che hai creato con dentro l'indirizzo della pagina.
es:
<iframe name="contenuto" src="http://www.sito.it/pagina.php" width="100%" height="100%">
</frame>
ovviamente la larghezza e l'altezza poi le setti come meglio credi

Mi pare di capire che devi usare questa pagina per aprire diversi link, quindi il link puoi passarglielo via url dalla pagina principale (indice ricette).
Quindi il link in "indice ricette" sarà così strutturato:
http://www.terrenobili.com/apriricette.php?ricetta=acciughe_limone
nella pagina "apriricette.php" invece recuperi dall'url il valore di "ricetta" e stampi a video il frame che nell'src conterrà la pagina che hai passato dall'indice:
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.sito.it/' . $val . '.php" width="100%" height="100%"> </frame> ' ;

?>





spero che la sintassi dell'echo finale sia corretta, è un po' che non uso php, ma cercando sul web sembra sia corretta :)

Grazie per la risposta.
Ho provato ma non ha funzionato; sicuramente non sono riuscito a concretizzare l'informazione che mi hai passato.
Quì non riesco a comprendere
<iframe name="contenuto" src="http://www.sito.it/pagina.php" width="100%" height="100%">
</frame>
perchè nell'www.sito.it/pagina.php
le ricette sono in html e una per pagina, quindi quel pagina.php che cosa è?

dany84
18-07-2008, 08:02
Grazie per la risposta.
Ho provato ma non ha funzionato; sicuramente non sono riuscito a concretizzare l'informazione che mi hai passato.
Quì non riesco a comprendere
<iframe name="contenuto" src="http://www.sito.it/pagina.php" width="100%" height="100%">
</frame>
perchè nell'www.sito.it/pagina.php
le ricette sono in html e una per pagina, quindi quel pagina.php che cosa è?

l'ho scritto in fondo "sito.it" è solo un esempio, vediamo se riesco ad essere più chiara.
Il tuo codice php sarà così:
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.casacantamessa.com/pierrezip/antipasti/' . $val . '.html" width="100%" height="100%"> </frame> ' ;

?>


ho sbagliato prima a mettere come estensione "php", era una pagina html pardon :D
comunque, praticamente metti il path di dove si trova la ricetta, e il valore della pagina sarà contenuto nella variabile "$val" che è dinamica perchè appunto, ogni link porta ad una ricetta diversa.
Spero sia un po' più chiaro così :)

valdez
18-07-2008, 13:13
l'ho scritto in fondo "sito.it" è solo un esempio, vediamo se riesco ad essere più chiara.
Il tuo codice php sarà così:
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.casacantamessa.com/pierrezip/antipasti/' . $val . '.html" width="100%" height="100%"> </frame> ' ;

?>


ho sbagliato prima a mettere come estensione "php", era una pagina html pardon :D
comunque, praticamente metti il path di dove si trova la ricetta, e il valore della pagina sarà contenuto nella variabile "$val" che è dinamica perchè appunto, ogni link porta ad una ricetta diversa.
Spero sia un po' più chiaro così :)
Io spero tu sia moltooo paziente, perchè certamente sei chiara nella risposta, e che io sono de coccioooooo.!

ho modificato i file secondo la tua risposta e la mia interpretazione e ora compare questo errore.
Error!
Unable to determine the page link!

Mi scuso per la mia infinita ignoranza.
Grazie per la tua disponibilità

dany84
18-07-2008, 13:21
il link che hai messo tu è questo (andando sul sito):
http://www.terrenobili.com/apriricette.php?ricetta=acciughe_limone.html

credo che non gli piaccia quel ".html" alla fine, che nel codice che ti avevo scritto io andrebbe infatti messo all'interno della pagina "apriricette.php" quando setti l'iframe:
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.casacantamessa.com/pierrezip/antipasti/' . $val . '.html" width="100%" height="100%"> </frame> ' ;

?>


Se così non funziona, dato che non l'ho testato, può essere ci sia qualcos'altro che non va :(

ah, e togli il tag <html> prima e dopo l'<iframe>, se no non ti fa vedere la pagina completa ;)

valdez
18-07-2008, 13:41
il link che hai messo tu è questo (andando sul sito):
http://www.terrenobili.com/apriricette.php?ricetta=acciughe_limone.html

credo che non gli piaccia quel ".html" alla fine, che nel codice che ti avevo scritto io andrebbe infatti messo all'interno della pagina "apriricette.php" quando setti l'iframe:
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.casacantamessa.com/pierrezip/antipasti/' . $val . '.html" width="100%" height="100%"> </frame> ' ;

?>


Se così non funziona, dato che non l'ho testato, può essere ci sia qualcos'altro che non va :(

ah, e togli il tag <html> prima e dopo l'<iframe>, se no non ti fa vedere la pagina completa ;)
Grazie .Vedo tanta buona volontà da parte tua!!!

Vedo di farmi capire:
in terrenobili, ci sono due file apriricette uno di "base" ed uno di "lingua"(italiano, inglese ecc..)
quello "base" ha questo codice:
<?php
/*
$Id: privacy.php,v 1.22 2003/06/05 23:26:23 hpdl Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2003 osCommerce

Released under the GNU General Public License
*/
require('includes/application_top.php');
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_APRIRICETTE);

$breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_APRIRICETTE));
?>
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.casacantamessa.com/pierrezip/antipasti/' . $val . '.html" width="100%" height="100%"> </frame> ' ;

?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title>Gelati - Ricette - Prodotti tipici<?php echo TITLE ?></title>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top" class="bar_left"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="0">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</table></td>
<!-- body_text //-->
<td width="100%" valign="top" class="centercolor"><table border="0" width="95%" cellspacing="0" cellpadding="0" align="center">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '20'); ?></td>
</tr>
<tr>
<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="main"><?php echo TEXT_INFORMATION; ?></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
<td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_home.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
<!-- body_text_eof //-->
<td width="<?php echo BOX_WIDTH; ?>" valign="top" class="bar_right"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="0">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
</table></td>
</tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>



quello di lingua ha questo codice:

<?php
/*
$Id: antipasti.php,v 1.3 2001/12/20 14:14:14 dgw_ Exp $

Localizzazione di Mauro Dalu - iPassion www.ipassion.it
adattata per la snapshot del 9 Settembre 2002.
Basata sulla localizzazione originale di Opencommercio.com
riveduta e corretta da Tarantino Afostino agotar@tin.it
Tricase Lecce Italy 31/05/2002 00.03.14
Rilasciata sotto GNU General Public License
*/
define('NAVBAR_TITLE', 'Ricette ');
define('HEADING_TITLE', 'RICETTE');

define('TEXT_CLOSE_WINDOW', 'Chiudi Finestra');
define('TEXT_INFORMATION', '<html>
<iframe name="contenuto" src="http://www.casacantamessa.com/pierrezip/antipasti/acciughe_limone.html" width="100%" height="100%">
</frame></html>');
?>

la pagina indice ha questo codice (parziale)


<?php
/*
$Id: antipasti.php,v 1.3 2001/12/20 14:14:14 dgw_ Exp $

Localizzazione di Mauro Dalu - iPassion www.ipassion.it
adattata per la snapshot del 9 Settembre 2002.
Basata sulla localizzazione originale di Opencommercio.com
riveduta e corretta da Tarantino Afostino agotar@tin.it
Tricase Lecce Italy 31/05/2002 00.03.14
Rilasciata sotto GNU General Public License
*/
define('NAVBAR_TITLE', 'Ricette ');
define('HEADING_TITLE', 'RICETTE');

define('TEXT_CLOSE_WINDOW', 'Chiudi Finestra');
define('TEXT_INFORMATION', '


<table border="0" cellspacing="1" width="">

<body bgcolor=#FFFFE6>


<tr>
<td valign="bottom" colspan="2" class="main">ANTIPASTI</td>

</tr>

<tr>

<td valign=top>
<a href="http://www.terrenobili.com/apriricette.php?ricetta=acciughe_limone">ACCIUGHE AL LIMONE</a><br>
.............

</td>


</tr>


</body>

</table>

</html>');
?>

dany84
18-07-2008, 13:54
allora, nell'indice il link è corretto, rispetto alla pagina di "base", la pagina di lingua non ho ben capito come la usi però :stordita:

una domanda, perchè andando sul sito, nell'indice, se posiziono il mouse sopra uno dei link, c'è sempre ".html" alla fine?
perchè senza quel ".html" la pagina funziona:
http://www.terrenobili.com/apriricette.php?ricetta=acciughe_limone

Poi fa vedere solo l'iframe perchè intorno c'è un tag <html> non ben identificato...

valdez
18-07-2008, 14:09
[QUOTE=dany84;23375939]allora, nell'indice il link è corretto, rispetto alla pagina di "base", la pagina di lingua non ho ben capito come la usi però :stordita:

oscommerce funziona così! (sic!)


una domanda, perchè andando sul sito, nell'indice, se posiziono il mouse sopra uno dei link, c'è sempre ".html" alla fine?
perchè senza quel ".html" la pagina funziona:
http://www.terrenobili.com/apriricette.php?ricetta=acciughe_limone

avevo lasciato tutti i link precedenti, ora è rimasto solo quello di prova

Poi fa vedere solo l'iframe perchè intorno c'è un tag....

eliminato

dany84
18-07-2008, 14:15
allora, nell'indice il link è corretto, rispetto alla pagina di "base", la pagina di lingua non ho ben capito come la usi però :stordita:

oscommerce funziona così! (sic!)


una domanda, perchè andando sul sito, nell'indice, se posiziono il mouse sopra uno dei link, c'è sempre ".html" alla fine?
perchè senza quel ".html" la pagina funziona:
http://www.terrenobili.com/apriricette.php?ricetta=acciughe_limone

avevo lasciato tutti i link precedenti, ora è rimasto solo quello di prova

Poi fa vedere solo l'iframe perchè intorno c'è un tag....

eliminato

dunque, guardando il codice della pagina vedo che l'iframe è presente in alto nella pagina.

credo che il problema sia nella pagina di "base" in questo punto:
...
require('includes/application_top.php');
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_APRIRICETTE);

$breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_APRIRICETTE));
?>
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.casacantamessa.com/pierrezip/antipasti/' . $val . '.html" width="100%" height="100%"> </frame> ' ;

?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>

....

Il codice php non deve stare lì, ma all'interno della pagina:

....
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="main">
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.casacantamessa.com/pierrezip/antipasti/' . $val . '.html" width="100%" height="100%"> </frame> ' ;

?>
</td>
....


eliminandolo da sopra e mettendolo sotto, dovrebbe funzionare.
Incrocio le dita :sperem:

valdez
18-07-2008, 14:30
dunque, guardando il codice della pagina vedo che l'iframe è presente in alto nella pagina.

credo che il problema sia nella pagina di "base" in questo punto:
...
require('includes/application_top.php');
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_APRIRICETTE);

$breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_APRIRICETTE));
?>
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.casacantamessa.com/pierrezip/antipasti/' . $val . '.html" width="100%" height="100%"> </frame> ' ;

?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>

....

Il codice php non deve stare lì, ma all'interno della pagina:

....
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="main">
<?php

$val = $_GET['ricetta'];

echo '<iframe name="contenuto" src="http://www.casacantamessa.com/pierrezip/antipasti/' . $val . '.html" width="100%" height="100%"> </frame> ' ;

?>
</td>
....


eliminandolo da sopra e mettendolo sotto, dovrebbe funzionare.
Incrocio le dita :sperem:

Ci sei quasi. Io sono solo il braccio!!
Rimane riportata due volte la ricetta!

dany84
18-07-2008, 14:38
Ci sei quasi. Io sono solo il braccio!!
Rimane riportata due volte la ricetta!

:p
visto...
vedendo il codice risulta che il tag del frame è stato scritto due volte in effetti.
Ma il file di lingua è incluso o richiamato nel file base?
Perchè se è così il problema è quello, bisognerebbe togliere l'iframe nel file di lingua.

^TiGeRShArK^
18-07-2008, 14:55
spero che la sintassi dell'echo finale sia corretta, è un po' che non uso php, ma cercando sul web sembra sia corretta :)

ah meno male dany, sei rinsavita finalmente :D

come va la vita lassù in padania? :p

dany84
18-07-2008, 15:03
ah meno male dany, sei rinsavita finalmente :D

come va la vita lassù in padania? :p

ehilà Dani, tutto ok? :D
rinsavita? :p
sto riprendendendo un po' in mano php che non voglio dimenticarlo, ma lo sai che io programmo in ColdFusion :O :asd:
Tutto bene in padania, solo un po' di nuvole e pioggia oggi:mc:

^TiGeRShArK^
18-07-2008, 15:10
ehilà Dani, tutto ok? :D
rinsavita? :p
sto riprendendendo un po' in mano php che non voglio dimenticarlo, ma lo sai che io programmo in ColdFusion :O :asd:
Tutto bene in padania, solo un po' di nuvole e pioggia oggi:mc:

si tutto ok qui, abbiamo un sole che spacca le pietre :asd:
ah già, è vero..
E' che tendo sempre a mettere insieme i linguaggi che non mi piacciono e li confondo sempre :asd:
Salutami la tua dolce metà se ti capita :p

dany84
18-07-2008, 15:44
Salutami la tua dolce metà se ti capita :p
Ha già ricambiato il saluto :O :D

valdez
19-07-2008, 05:37
:p
visto...
vedendo il codice risulta che il tag del frame è stato scritto due volte in effetti.
Ma il file di lingua è incluso o richiamato nel file base?
Perchè se è così il problema è quello, bisognerebbe togliere l'iframe nel file di lingua.

Mi scuso, ma ieri ho dovuto interrompere per problemi di lavoro.

Ho eliminato l'iframe dal file di lingua e effettivamente la pagina compare solamente più una volta, inoltre come puoi verificare da "antipasti" funziona con tutte le ricette.
Ma.... , come vedi in apriricette non si vede più colum rigt e il footer, questo è dovuto al codice iframe perchè se non si inserisce funziona vedi apriricette1 (http://www.terrenobili.com/apriricette1.php)
Ho provato a spostare il codice ma non ho ottenuto risultati.
Forse mancano qualche tag, ma quali?

In ogni caso ti ringrazio moltissimo, sei riuscita a risolvere il problema!!!!! ( al 99,99%)

valdez
19-07-2008, 13:20
Mi scuso, ma ieri ho dovuto interrompere per problemi di lavoro.

Ho eliminato l'iframe dal file di lingua e effettivamente la pagina compare solamente più una volta, inoltre come puoi verificare da "antipasti" funziona con tutte le ricette.
Ma.... , come vedi in apriricette non si vede più colum rigt e il footer, questo è dovuto al codice iframe perchè se non si inserisce funziona vedi apriricette1 (http://www.terrenobili.com/apriricette1.php)
Ho provato a spostare il codice ma non ho ottenuto risultati.
Forse mancano qualche tag, ma quali?

In ogni caso ti ringrazio moltissimo, sei riuscita a risolvere il problema!!!!! ( al 99,99%)

Ho trovato l'errore </frame> anzichè </iframe>

dany84
21-07-2008, 08:01
ciao, questo weekend sono stata via e non ho più potuto rispondere, ma mi fa piacere che sei riuscito a risolvere il problema :)

valdez
21-07-2008, 12:48
ciao, questo weekend sono stata via e non ho più potuto rispondere, ma mi fa piacere che sei riuscito a risolvere il problema :)
Grazie comunque, spero sia stato un buon weekend!
Ti ho inviato un MP

k8__
24-07-2008, 16:09
Sconsiglio l'uso degli iframe..
sono vecchi e deprecati..
piuttosto segui una di queste due mie guide:

questa è molto semplice, se hai problemi chiedi pure:
http://howto.big-bug.net/art/Php/Sito-dinamico-in-PHP-e-Html/12/

questa è senza il caricamenteo della pagina, utilizzando jQuery una libreria scritta in Javascript
http://howto.big-bug.net/art/Php/Sito-dinamico-con-jQuery/30/



Fammi sapere:)

valdez
25-07-2008, 04:33
Sconsiglio l'uso degli iframe..
sono vecchi e deprecati..
piuttosto segui una di queste due mie guide:

questa è molto semplice, se hai problemi chiedi pure:
http://howto.big-bug.net/art/Php/Sito-dinamico-in-PHP-e-Html/12/

questa è senza il caricamenteo della pagina, utilizzando jQuery una libreria scritta in Javascript
http://howto.big-bug.net/art/Php/Sito-dinamico-con-jQuery/30/

Fammi sapere:)

Grazie per il tuo suggerimento. Nei prossimi giorni proverò!