Newsgroup: it.comp.www.php
Titolo: Php in pagina HTM

se in una pagina htm inserisco nel codice sotto, mi compare a video, in
locale, l'icona dello script PHP e sembra OK. Quando carico tutto e
visualizzo la pagina, mi compare invece tutto il codice in chiaro. Insomma,
come se non venisse elaborato dal server. E il server supporta il PHP,
perchè l'uso di altri script *non inseriti però in una pagina htm come
questo* funziona! E' un vero e proprio dilemma che non ho mai risolto
Ciao
---------------------------
<?php
function head() {
include('config.php');
echo "<table width=\"120\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\">
<tr><td bgcolor=\"$tableborder\">
<table width=\"120\" border=\"0\" cellpadding=\"0\" cellspacing=\"\"
align=\"center\">
<tr><td bgcolor=\"$bgcolor\">";
}
function foot () {
echo "</td></tr></table></td></tr></table>";
}
function record($REMOTE_ADDR) {
include('config.php');
$fp=fopen("$ip_file", "a+");
fputs ($fp,$REMOTE_ADDR."][".time()."\n");
fclose($fp);
}
function check($REMOTE_ADDR) {
include('config.php');
global $valid;
$ip=$REMOTE_ADDR;
$data=file("$ip_file");
$now=time();
foreach ($data as $record) {
$subdata=explode("][",$record);
if ($now < ($subdata[1]+3600*$timeout)) {
if ($ip == $subdata[0]) {
$valid=0;
break;
}}}}
//##################### Save data ##############################
function save($answer){
global $answer;
include('config.php');
$data=file($datafile);
$subdata=explode("][",$data[$answer]);
$subdata[2]+=1;
$data[$answer]=implode("][", $subdata);
$data[$answer]=$data[$answer]."\n";
$fp=fopen($datafile,"w+");
$a=0;
do{
fputs($fp,$data[$a]);
$a++;
}while($a<count($data));
fclose($fp);
}
//########################## Show Form ############################
function form($PHP_SELF){
include('config.php');
head();
echo "<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\"><form
method=\"post\" action=\"$PHP_SELF\"><p align=\"center\">";
$data=file($datafile);
$question=$data[0];
$nb_options=count($data)-1;
echo "<b>$question</b></p>";
for($nb=1;$nb <= $nb_options; $nb++){
$option=explode("][","$data[$nb]");
echo "<input type=\"radio\" name=\"answer\" value=\"$nb\"> ";
echo "$option[0]<br>";
}
echo "<input type=\"hidden\" name=\"save\" value=\"yes\">";
echo "<p align=\"center\"><input type=\"submit\" name=\"Submit\"
value=\"Submit\"></form></font>";
echo "<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\"><a
href=\""; echo $PHP_SELF; echo "?action=results\">Show me the
results</font></p>";
foot();
}
//################## Function to show results ########################
function results(){
include('config.php');
head();
$data=file($datafile);
$nb_answers=count($data);
$votes=0;
$a=1;
do{
$subdata=explode("][",$data[$a]);
$votes += $subdata[2];
$a++;
}while($a < $nb_answers);
$a=1;
$b="answerv";
$v=100/$votes;
echo "<p align=\"center\"><font size=\"$fontsize\" face=\"$font\"
color=\"$textcolor\"><b>$data[0] ($votes v.)</b><br><br>";
do{
$subdata=explode("][",$data[$a]);
$av = $subdata[2] * $v;
echo "<font size=\"$fontsize\" face=\"$font\"
color=\"$textcolor\">$subdata[0] -"; printf(" %01.1f", $av); echo"%<br>";
$p2v = 100-$av;
echo "<img src=\"$subdata[1]\" width=\"$av\" height=\"10\"><img
src=\"$image\" width=\"$p2v\" height=\"10\"><br>";
$a++;
} while ($a < $nb_answers);
echo "<br>";
foot();
}
//###################### Engine ####################################
check($REMOTE_ADDR);
if ($valid=="0"){ results();}
elseif ($action=="results") { results(); }
elseif ($save=="yes" && $valid!="0") { save($Answer); record($REMOTE_ADDR);
results();}
elseif ($action=="save" && !empty($valid)) { results(); }
elseif ($action!="save" && $valid!="0"){ form($PHP_SELF); }
?>
-------------------------------------------

 questo* funziona! E' un vero e proprio dilemma che non ho mai risolto
Il file ha come estensione .php o simili?
Ludovico

Tra gli header di questo news, quello di Ludovico Grossi (LAMASE),
news:bmc58l$fuk$
1...@newsreader.mailgate.org
  destò la mia attenzione:

Il codice riportato in pratica è un file con estensione .php. Ho provato ad
inserire il condice con "<?php", con "<script language="php">", ho provato
anche a rinominare la pagina in .php (in questo caso non vedo nulla e
vengono visualizzate delle stringhe di errore.
Ho provato anche a fare un collegamento esterno sul file php, nella pagina
htm con "<?php include('
http://www.indirizzo/file.php');
?>  Niente!
La cosa strana è che uno script php indipendente funziona, quando provo a
inserirlo in una pagina htm..... un disatro.
Ho quasi la sensazione di dovermi rassegnare a usare il php su pagine di
pop-up.
Ciao

vengono visualizzate delle stringhe di errore.
Eccoci al dunque. Quali sono queste stringhe di errore?
Il PHP funzionera' solo e soltanto in pagine con estensione .php. Pero',
"funzionare" vuol solo dire che il codice e' digerito come PHP: potrebbe
ancora succedere (e difatti nel caso tuo credo sia *questo* che succede)
che il codice PHP contenga errori.
Se vuoi inserire del codice PHP in un file HTM devi inserirlo fra <? ?>,
oppure <?php ?>, e poi rinominare il file HTM in PHP.
E poi correggere gli errori di sintassi nel codice PHP :-)
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

 >> risolto
In pratica? Ha o no estensione .php??
Inoltre, non è che hai scritto il tuo codice php con dreamweaver nel lato
visuale? In questo caso il tuo html non è
    <?
    blablabla
ma
    &lt;?
    blablabla
Altra cosa: lo script lo stai eseguendo all'interno di apache oppure ci hai
cliccato due volte sopra? Per saperlo guarda nella barra degli indirizzi: se
inizia con http:// è ok, altrimenti non lo stai eseguendo correttamente
Ludovico

Tra gli header di questo news, quello di Ludovico Grossi (LAMASE),
news:bmdm80$7v0$
1...@newsreader.mailgate.org
  destò la mia attenzione:

Dunque, il problema l'ho superato ma non è risolto. Di fatto ora con i tag
<? ### ?> sono riuscito ad implementare una pagina htm con del codice php.
La pagina ovviamente è stata rinominata .php. è però il codice è visibile
nella pagina.
Avete qualche suggerimento per provare ad includere un file PHP
dall'esterno, con un semplice richiamo.
Ciao