Vai al contenuto

Non riesco a capire dove sbaglio!!!


Cr@sh3r

Messaggi raccomandati

allora, tre cose:

1) il codice php va scritto andando a capo dopo ogni istruzione e non tutto di seguito come hai fatto tu, in particolare se una linea costituisce un commento (riga che inizia con // )

quindi, non:

//Lettura di dati da un file e creazione di un ciclo per la loro visualizzazione if(file_exists($datafile)) { ****$read_data = file($datafile);

ma:

//Lettura di dati da un file e creazione di un ciclo per la loro visualizzazione

if(file_exists($datafile)) {

$read_data = file($datafile);

eccetera

2) togli tutti quegli asterischi all'inizio di ogni istruzione perché genererebbero un errore di php

3) per generare pagine web, MAI MA PROPRIO MAI usare Word e il suo convertitore html..... :ciao:

Serve aiuto? Posso darti una mano in

Webmasters - Aiuto Software - Da Windows a Mac

Mappa Utenti ItaliaMac

[[miao]]

Link al commento
Condividi su altri siti

Continua a non funzionare, se ti passo il php me lo modifichi tu?

<?php

// Lettura e scritturaura su file - Esempio-26-5

//-----------------------------------------------

$datafile = "data.txt";

if(isset($_POST[submit]))

{

****$name = $_POST[name];

****$comments = $_POST[comments];

****$new_content = "$name::$comments\n";

****$fp = fopen($datafile, "a");

****$fw = fwrite($fp, $new_content);

****$fc = fclose($fp);

}

?>

<html xmlns:v="urn:schemas-microsoft-com:vml"

xmlns:o="urn:schemas-microsoft-com:office:office"

xmlns:w="urn:schemas-microsoft-com:office:word"

xmlns="http://www.w3.org/TR/REC-html40">

<head>

<meta name=Titolo content="">

<meta name="Parole chiave" content="">

<meta http-equiv=Content-Type content="text/html; charset=utf-8">

<meta name=ProgId content=Word.Document>

<meta name=Generator content="Microsoft Word 11">

<meta name=Originator content="Microsoft Word 11">

<link rel=File-List href="guestbook_file/filelist.xml">

<link rel=Edit-Time-Data href="guestbook_file/editdata.mso">

<!--[if !mso]>

<style>

v\:* {behavior:url(#default#VML);}

o\:* {behavior:url(#default#VML);}

w\:* {behavior:url(#default#VML);}

.shape {behavior:url(#default#VML);}

</style>

<![endif]--><!--[if gte mso 9]><xml>

<o:DocumentProperties>

<o:Template>Normal</o:Template>

<o:LastAuthor>Denny Boccuzzi</o:LastAuthor>

<o:Revision>2</o:Revision>

<o:TotalTime>0</o:TotalTime>

<o:Created>2006-08-22T13:01:00Z</o:Created>

<o:LastSaved>2006-08-22T13:01:00Z</o:LastSaved>

<o:Pages>1</o:Pages>

<o:Words>93</o:Words>

<o:Characters>532</o:Characters>

<o:Lines>4</o:Lines>

<o:Paragraphs>1</o:Paragraphs>

<o:CharactersWithSpaces>653</o:CharactersWithSpaces>

<o:Version>11.518</o:Version>

</o:DocumentProperties>

<o:OfficeDocumentSettings>

<o:AllowPNG/>

</o:OfficeDocumentSettings>

</xml><![endif]--><!--[if gte mso 9]><xml>

<w:WordDocument>

<w:HyphenationZone>14</w:HyphenationZone>

</w:WordDocument>

</xml><![endif]-->

<style>

<!--

/* Font Definitions */

@font-face

{font-family:"Times New Roman";

panose-1:0 2 2 6 3 5 4 5 2 3;

mso-font-charset:0;

mso-generic-font-family:auto;

mso-font-pitch:variable;

mso-font-signature:50331648 0 0 0 1 0;}

@font-face

{font-family:Arial;

panose-1:0 2 11 6 4 2 2 2 2 2;

mso-font-charset:0;

mso-generic-font-family:auto;

mso-font-pitch:variable;

mso-font-signature:50331648 0 0 0 1 0;}

/* Style Definitions */

p.MsoNormal, li.MsoNormal, div.MsoNormal

{mso-style-parent:"";

margin-right:0cm;

mso-margin-top-alt:auto;

mso-margin-bottom-alt:auto;

margin-left:0cm;

mso-pagination:widow-orphan;

font-size:10.0pt;

font-family:Times;

color:black;}

table.MsoNormalTable

{mso-style-parent:"";

font-size:10.0pt;

font-family:"Times New Roman";}

@page Section1

{size:595.3pt 841.9pt;

margin:70.85pt 2.0cm 2.0cm 2.0cm;

mso-header-margin:35.4pt;

mso-footer-margin:35.4pt;

mso-paper-source:0;}

div.Section1

{page:Section1;}

-->

</style>

<!--[if gte mso 9]><xml>

<o:shapedefaults v:ext="edit" spidmax="1027"/>

</xml><![endif]--><!--[if gte mso 9]><xml>

<o:shapelayout v:ext="edit">

<o:idmap v:ext="edit" data="1"/>

</o:shapelayout></xml><![endif]-->

</head>

<body bgcolor=white lang=IT style='tab-interval:35.4pt'>

<div class=Section1>

<p class=MsoNormal align=center style='margin:0cm;margin-bottom:.0001pt;

text-align:center'><span style='font-size:14.0pt;font-family:Arial'><b>GUESTBOOK<o:p></o:p></b></span></p>

<form>

<p class=MsoNormal style='margin:0cm;margin-bottom:.0001pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>

<table border=0 cellspacing=0 cellpadding=0 width="30%" style='width:30.0%;

mso-cellspacing:0cm;margin-left:231.5pt;mso-padding-alt:0cm 0cm 0cm 0cm'

height=50>

<tr>

<td width="30%" style='width:30.98%;padding:0cm 0cm 0cm 0cm'>

<p class=MsoNormal style='margin:0cm;margin-bottom:.0001pt'>Nome:</p>

</td>

<td width="69%" style='width:69.02%;padding:0cm 0cm 0cm 0cm'>

<p class=MsoNormal style='margin:0cm;margin-bottom:.0001pt'><INPUT

TYPE="text" NAME="name"> <span style="mso-spacerun: yes">  </span></p>

</td>

</tr>

<tr>

<td width="30%" style='width:30.98%;padding:0cm 0cm 0cm 0cm'>

<p class=MsoNormal style='margin:0cm;margin-bottom:.0001pt'><span

style="mso-spacerun: yes"> </span></p>

<p class=MsoNormal style='margin:0cm;margin-bottom:.0001pt'>Commenti</p>

</td>

<td width="69%" style='width:69.02%;padding:0cm 0cm 0cm 0cm'>

<p class=MsoNormal style='margin:0cm;margin-bottom:.0001pt'><TEXTAREA

NAME="comments" ROWS="3"></TEXTAREA> <span style="mso-spacerun: yes"> 

</span></p>

</td>

</tr>

</table>

<p class=MsoNormal style='margin:0cm;margin-bottom:.0001pt'><span

style="mso-spacerun: yes"> </span><span style="mso-spacerun:

yes">  

</span><INPUT TYPE="submit" NAME="submit" VALUE="Invia commento"> <span

style="mso-spacerun: yes"> </span><INPUT TYPE="reset" NAME="Reset"

VALUE="Reimposta"> <span style="mso-spacerun: yes">  </span></p>

</form>

<div class=MsoNormal align=center style='margin:0cm;margin-bottom:.0001pt;

text-align:center'>

<hr size=2 width="100%" align=center>

</div>

<p class=MsoNormal style='margin:0cm;margin-bottom:.0001pt'><?php //Lettura di dati da un file e creazione di un ciclo per la loro visualizzazione if(file_exists($datafile)) { ****$read_data = file($datafile); ****$num_comment = count($read_data); **** ****for($c=0;$c><=$num_comment-1;$c++)

****{ ********$content = explode("::", $read_data[$c]); ********echo

"Nome: $content[0]"; ********echo " "; ********echo

"Commento $content[1]"; ********echo " "; ****} } ?> </p>

<div class=MsoNormal align=center style='margin:0cm;margin-bottom:.0001pt;

text-align:center'>

<hr size=2 width="100%" align=center>

</div>

</div>

</body>

</html>

Link al commento
Condividi su altri siti

Andiamo per ordine

Errore bloccante no. 1 (errore gravissimo che già di per sé rende inutilizzabile il tutto):

Hai usato Word per generare la pagina HTML, per di più inserendo direttamente il codice php sotto forma di tag nel documento Word stesso. Word però è un pessimo generatore di HTML e ha preso la sezione di codice php e l'ha rielaborata come fosse un testo - rendendola quindi totalmente inutilizzabile lato server. Se vuoi generare delle pagine web in fretta usando un editor visuale, ti suggerisco di NON USARE MAI WORD ma piuttosto di ricorrere a programmi freeware tipo NVU (Mozilla) e in ogni caso con questi strumenti l' inserimento del codice php va fatto a mano sempre sul codice html risultante tramite un editor di testo di base (tipo TextEdit o il Notepad di Windows, giusto per intenderci).

Errore bloccante no. 2:

Nel tag del codice <form> non hai messo nessuna indicazione su quale azione deve essere richiamata quando si preme il tasto "Invia commento" né hai indicato il metodo per inviare i dati del modulo elettronico. Dato che la gestione del form viene eseguita dal file guestbook.html stesso, il codice va modificato come segue:

<form action="guestbook.html" method="post">

Errore bloccante no. 3:

Il codice php all'inizio del file è stato brutalmente copiato e incollato così come era - presumo tu non sia un grossissimo esperto di php sennò ti saresti accorto che in primo luogo gli **** dovevano essere eliminati e in secondo luogo la sintassi della variabile $_POST andava corretta (notare gli apicini attorno a submit, name e comments).

Il codice php corretto è il seguente (importantissimo rispettare anche gli a capo):

<?php

// Lettura e scritturaura su file - Esempio-26-5

//-----------------------------------------------

$datafile = "data.txt";

if(isset($_POST['submit']))

{

$name = $_POST['name'];

$comments = $_POST['comments'];

$new_content = "$name::$comments\n";

$fp = fopen($datafile, "a");

$fw = fwrite($fp, $new_content);

$fc = fclose($fp);

}

?>

Errore bloccante no. 4:

Il codice "sputtanato" da Word deve essere rielaborato come segue (idem come sopra per quanto riguarda gli a capo):

<?php

//Lettura di dati da un file e creazione di un ciclo per la loro visualizzazione

if(file_exists($datafile)) {

$read_data = file($datafile);

$num_comment = count($read_data);

for($c=0; $c<$num_comment; $c++) {

$content = explode("::", $read_data[$c]);

echo "Nome: $content[0]\n";

echo "<br>\n";

echo "Commento $content[1]\n";

echo " <br>\n";

}

}

?>

Potenziale errore bloccante no. 5:

Il fornitore del tuo server ti consente di scrivere sul suo file system tramite un programma tipo php? Questa operazione è necessaria per poter gestire il file "data.txt" che viene generato e aggiornato automaticamente sul server che ospita il tuo sito web. Se il tuo provider non ti consente di farlo non puoi farci niente (cosa possibilissima per un banalissimo discorso di security e di protezione dagli "smanettoni" :( ).

E mi raccomando, per inserire il codice php NON USARE WORD!!!!! :(

Serve aiuto? Posso darti una mano in

Webmasters - Aiuto Software - Da Windows a Mac

Mappa Utenti ItaliaMac

[[miao]]

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...