/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Skrivning til txt fil
Fra : Ryan Jeppesen


Dato : 03-03-01 21:58

Hejsa

Halløj i NGen

Jeg har et lille problem, med at få php til at skrive til en txt fil,
dette er første gang jeg bruger php, da jeg normalt bruger asp.

Fejl meddelse:
Parse error: parse error in
/net/users/a29/098/swingingeuropdk/www/addguest.php on line 29

Hvad er en parse error?

Min linje 29, ser sådan her ud
<form method=POST action="addguest.php">

Hvad er der galt med den?, jeg kan ikke se der skulle være noget galt,
eller hva?

Min kode:

<?
if ($navn)($comments);
{
echo "Hi $navn, thanks for signing our guestbook";

$fil=fopen("txt/guestbook.txt", "w");
fwrite($fil, "Name: ($navn) E-mail: ($email) Homepage: ($url) City:
($city) Country: (&country) Comments: ($comments);
fclose($fil);

}
else
{
?>
<center>
<p>Fill in the blanks below to add to our guestbook. The only blanks
that you
have to fill in are the comments and name section. Thanks!</p>
</center>
<form method=POST action="addguest.php">
<table width="50%" border="1" cellspacing="0" cellpadding="2"
align="center" bordercolor="3333FF">
<tr>
<td width="24%">
<p>Your Name:</p>
</td>
<td width="76%">
<input type=text name=navn size=30>
</td>
</tr>
<tr>
<td width="24%">
<p>E-Mail: </p>
</td>
<td width="76%">
<input type=text name=email size=30>
</td>
</tr>
<tr>
<td width="24%">
<p>Homepage:</p>
</td>
<td width="76%">
<input type=text name=url size=30>
</td>
</tr>
<tr>
<td width="24%">
<p>City: </p>
</td>
<td width="76%">
<input type=text name=city size=15>
</td>
</tr>
<tr>
<td width="24%">
<p>Country: </p>
</td>
<td width="76%">
<input type=text name=country size=15>
</td>
</tr>
<tr>
<td width="24%">
<p>Comments:</p>
</td>
<td width="76%">
<textarea name=comments cols=60 rows=4></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type=submit name="submit">
<input type=reset name="reset">
</td>
</tr>
</table>
<?
}
?>

Håber virkelig der er nogen der kan hjælpe mig

mvh Ryan

 
 
Niels Andersen (03-03-2001)
Kommentar
Fra : Niels Andersen


Dato : 03-03-01 23:47

"Ryan Jeppesen" <paradise@worldonline.dk> skrev i en meddelelse
news:3aa15a01.18676044@news.image.dk...
> Fejl meddelse:
> Parse error: parse error in
> /net/users/a29/098/swingingeuropdk/www/addguest.php on line 29
>
> Hvad er en parse error?

"parse error" = "syntax error" = "jeg fatter ikke hvad du har gang i". :)

> Min linje 29, ser sådan her ud
> <form method=POST action="addguest.php">
>
> Hvad er der galt med den?, jeg kan ikke se der skulle være noget galt,
> eller hva?

> fwrite($fil, "Name: ($navn) E-mail: ($email) Homepage: ($url) City:
> ($city) Country: (&country) Comments: ($comments);

Her starter du en streng:

"Name: ...

Men du slutter den ikke før på linje 29:

> <form method=POST action="addguest.php">

Det der "addguest.php" der kommer efter strengen fatter den ikke.

Ret din fwrite-linje så den slutter med:

Comments: ($comments)";


Mvh.

Niels Andersen



Nezar Nielsen (04-03-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 04-03-01 00:37

"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:Aveo6.4664$fK3.197438@news000.worldonline.dk...
>
> > fwrite($fil, "Name: ($navn) E-mail: ($email) Homepage: ($url) City:
> > ($city) Country: (&country) Comments: ($comments);
>
> Her starter du en streng:
>
> Men du slutter den ikke før på linje 29:
>
> > <form method=POST action="addguest.php">
>
> Det der "addguest.php" der kommer efter strengen fatter den ikke.
>
> Ret din fwrite-linje så den slutter med:
>
> Comments: ($comments)";

Hej Ryan,

lige en ekstra note, eftersom du starter med fwrite(... skal du også
afslutte med ); - derfor afslut med:

Comments: ($comments)");


--
Mvh. Nezar Nielsen
http://fez.dk/




Jonas Häggqvist (04-03-2001)
Kommentar
Fra : Jonas Häggqvist


Dato : 04-03-01 00:36

On Sat, 03 Mar 2001 20:58:29 GMT, paradise@worldonline.dk (Ryan
Jeppesen) wrote:

>Hejsa
>
>Halløj i NGen

Hej da.

<klip

>Hvad er en parse error?

Det er såmænd php's forsøg på at fortælle at der er noget galt med din
kode, der umuliggør videre fremfærd.

>Min linje 29, ser sådan her ud
><form method=POST action="addguest.php">
>
>Hvad er der galt med den?, jeg kan ikke se der skulle være noget galt,
>eller hva?

Det luskede er, at det kan være fejl i andre linjer, der så gør at den
linje får php til at klæjs i det. Hvis linjen, der giver parse error
er ren html er det ofte anførselstegn den er galt med.

>$fil=fopen("txt/guestbook.txt", "w");
$fil=fopen("txt/guestbook.txt", "a+");

a+ er sandsynligvis det du vil. Check evt.
http://php.net/manual/en/function.fopen.php

>fwrite($fil, "Name: ($navn) E-mail: ($email) Homepage: ($url) City:
>($city) Country: (&country) Comments: ($comments);

fwrite($fil, "Name: ($navn) E-mail: ($email) Homepage: ($url) City:
($city) Country: (&country) Comments: ($comments)");

Her mangler du ") efter $comments, det var det, der gav dig parse
error.

<klip>

><form method=POST action="addguest.php">

Et lille tip: brug

action="<?php echo $PHP_SELF; ?>"

i stedet. Så er du fri for problemer hvis du flytter/omdøber filen.

Fra php-manualen:
>PHP_SELF
>The filename of the currently executing script, relative to the document
>root. If PHP is running as a command-line processor, this variable is
>not available.

<klip>

--
Jonas Häggqvist

Ryan Jeppesen (04-03-2001)
Kommentar
Fra : Ryan Jeppesen


Dato : 04-03-01 01:39

>Det luskede er, at det kan være fejl i andre linjer, der så gør at den
>linje får php til at klæjs i det. Hvis linjen, der giver parse error
>er ren html er det ofte anførselstegn den er galt med.

Ok, er der ikke mulighed for at få en lidt mere detaljeret fejl
meddelse som man f.eks får med IIS/ASP ?

>
>>$fil=fopen("txt/guestbook.txt", "w");
>$fil=fopen("txt/guestbook.txt", "a+");

Nej det er "w" jeg skal bruge, har undersøgt det :)

>
>a+ er sandsynligvis det du vil. Check evt.
>http://php.net/manual/en/function.fopen.php
>
>>fwrite($fil, "Name: ($navn) E-mail: ($email) Homepage: ($url) City:
>>($city) Country: (&country) Comments: ($comments);
>
>fwrite($fil, "Name: ($navn) E-mail: ($email) Homepage: ($url) City:
>($city) Country: (&country) Comments: ($comments)");
>
>Her mangler du ") efter $comments, det var det, der gav dig parse
>error.
>
><klip>
>
>><form method=POST action="addguest.php">
>
>Et lille tip: brug
>
>action="<?php echo $PHP_SELF; ?>"

Dette vidste jeg godt, men valgte alligevel den anden løsning, men du
har ret, det er mere bekvemt.

Men jeg er desværre stødt ind i et andet problem, jeg får nu en parse
fejl i linje 22

}    - Linje 21
else   - Linje 22
{

Efter jeg har fået af vide fra jer at det kan være fejl tidligere i
filen, så er jeg kommet lidt itvivl om denne linje

if ($navn)($comments);

Er den korrekt, skal derf.eks ikke en and imellem ligesom i asp??

mvh Ryan

Ghashûl (04-03-2001)
Kommentar
Fra : Ghashûl


Dato : 04-03-01 01:42

On Sun, 04 Mar 2001 00:38:55 GMT, paradise@worldonline.dk (Ryan
Jeppesen) wrote:

>if ($navn)($comments);

Jeg gætter på at du vil tjekke om begge felter findes.

if ($navn && $comments) {
udfør noget kode
}

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7223629
E-mail: stefan@bruhn.to
URL: http://www.ghashul.dk

Ryan Jeppesen (04-03-2001)
Kommentar
Fra : Ryan Jeppesen


Dato : 04-03-01 04:47

>Jeg gætter på at du vil tjekke om begge felter findes.
>
>if ($navn && $comments) {
>udfør noget kode
>}

Takker, men jeg får stadigvæk parse fejl i linje 22

Linje 22 er "else"

Ghashûl (04-03-2001)
Kommentar
Fra : Ghashûl


Dato : 04-03-01 10:20

On Sun, 04 Mar 2001 03:46:30 GMT, paradise@worldonline.dk (Ryan
Jeppesen) wrote:

>>Jeg gætter på at du vil tjekke om begge felter findes.
>>
>>if ($navn && $comments) {
>>udfør noget kode
>>}
>
>Takker, men jeg får stadigvæk parse fejl i linje 22
>
>Linje 22 er "else"

prøv med

if ($navn && $comments) {
blabla
} else {
bla bla
}

Sådan mener jeg det skal se ud, men hæng mig ikke op på det ;)

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7223629
E-mail: stefan@bruhn.to
URL: http://www.ghashul.dk

Ryan Jeppesen (05-03-2001)
Kommentar
Fra : Ryan Jeppesen


Dato : 05-03-01 07:53

On Sun, 04 Mar 2001 10:19:41 +0100, Ghashûl <ghashul@ghashul.dk>
wrote:

>On Sun, 04 Mar 2001 03:46:30 GMT, paradise@worldonline.dk (Ryan
>Jeppesen) wrote:
>
>>>Jeg gætter på at du vil tjekke om begge felter findes.
>>>
>>>if ($navn && $comments) {
>>>udfør noget kode
>>>}
>>
>>Takker, men jeg får stadigvæk parse fejl i linje 22
>>
>>Linje 22 er "else"
>
>prøv med
>
>if ($navn && $comments) {
>blabla
>} else {
>bla bla
>}
>
>Sådan mener jeg det skal se ud, men hæng mig ikke op på det ;)

Med ovenstående tjecker, den så ikke om bla bla er skrevet i felterne,
hvordan tjecker man om det er kommet noget imput, lige meget hvad det
er?

mvh Ryan

Ghashûl (05-03-2001)
Kommentar
Fra : Ghashûl


Dato : 05-03-01 15:13

On Mon, 05 Mar 2001 06:53:15 GMT, paradise@worldonline.dk (Ryan
Jeppesen) wrote:

>On Sun, 04 Mar 2001 10:19:41 +0100, Ghashûl <ghashul@ghashul.dk>
>wrote:
>
>>On Sun, 04 Mar 2001 03:46:30 GMT, paradise@worldonline.dk (Ryan
>>Jeppesen) wrote:
>>
>>>>Jeg gætter på at du vil tjekke om begge felter findes.
>>>>
>>>>if ($navn && $comments) {
>>>>udfør noget kode
>>>>}
>>>
>>>Takker, men jeg får stadigvæk parse fejl i linje 22
>>>
>>>Linje 22 er "else"
>>
>>prøv med
>>
>>if ($navn && $comments) {
>>blabla
>>} else {
>>bla bla
>>}
>>
>>Sådan mener jeg det skal se ud, men hæng mig ikke op på det ;)
>
>Med ovenstående tjecker, den så ikke om bla bla er skrevet i felterne,
>hvordan tjecker man om det er kommet noget imput, lige meget hvad det
>er?
>
>mvh Ryan

Nej. Det i paranteserne () er det den tjekker for. Den tjekker bare om
begge to har indhold. Hvis de har bliver det mellem { og } udført.

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7223629
E-mail: stefan@bruhn.to
URL: http://www.ghashul.dk

Ryan Jeppesen (05-03-2001)
Kommentar
Fra : Ryan Jeppesen


Dato : 05-03-01 20:30

On Mon, 05 Mar 2001 15:12:30 +0100, Ghashûl <ghashul@ghashul.dk>
wrote:

>On Mon, 05 Mar 2001 06:53:15 GMT, paradise@worldonline.dk (Ryan
>Jeppesen) wrote:
>
>>On Sun, 04 Mar 2001 10:19:41 +0100, Ghashûl <ghashul@ghashul.dk>
>>wrote:
>>
>>>On Sun, 04 Mar 2001 03:46:30 GMT, paradise@worldonline.dk (Ryan
>>>Jeppesen) wrote:
>>>
>>>>>Jeg gætter på at du vil tjekke om begge felter findes.
>>>>>
>>>>>if ($navn && $comments) {
>>>>>udfør noget kode
>>>>>}
>>>>
>>>>Takker, men jeg får stadigvæk parse fejl i linje 22
>>>>
>>>>Linje 22 er "else"
>>>
>>>prøv med
>>>
>>>if ($navn && $comments) {
>>>blabla
>>>} else {
>>>bla bla
>>>}

Jeg får stadigvæk parse fejl i "else" linjen

Koden:

<?
if ($navn && $comments);{

$fil=fopen("txt/guestbook.txt", "w");
fwrite($fil, " Name: ($navn) E-mail: ($email) Homepage: ($url) City:
($city) Country: (&country) Comments: ($comments) ");
fclose($fil);

}
else
{
?>

FORMULAREN........

<?
}
?>

Er det ikke som det skal være, jeg kan ikke se nogen fejl

mvh Ryan

Ghashûl (05-03-2001)
Kommentar
Fra : Ghashûl


Dato : 05-03-01 21:08

On Mon, 05 Mar 2001 19:30:09 GMT, paradise@worldonline.dk (Ryan
Jeppesen) wrote:

>if ($navn && $comments);{

Der skal da vist ikke være en ; der.

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7two23six29
E-mail: stefan at bruhn dot to
URL: http://www.ghashul.dk

Ryan Jeppesen (06-03-2001)
Kommentar
Fra : Ryan Jeppesen


Dato : 06-03-01 08:22

On Mon, 05 Mar 2001 21:08:28 +0100, Ghashûl <look@my-sig.ghashul.dk>
wrote:

>On Mon, 05 Mar 2001 19:30:09 GMT, paradise@worldonline.dk (Ryan
>Jeppesen) wrote:
>
>>if ($navn && $comments);{
>
>Der skal da vist ikke være en ; der.
>
Takker, det var fejlen

Jonas Häggqvist (06-03-2001)
Kommentar
Fra : Jonas Häggqvist


Dato : 06-03-01 20:31

On Mon, 05 Mar 2001 15:12:30 +0100, Ghashûl <ghashul@ghashul.dk>
wrote:

>On Mon, 05 Mar 2001 06:53:15 GMT, paradise@worldonline.dk (Ryan
>Jeppesen) wrote:
>
>>On Sun, 04 Mar 2001 10:19:41 +0100, Ghashûl <ghashul@ghashul.dk>
>>wrote:
>>
<klip>
>>>if ($navn && $comments) {
<klip>
>>Med ovenstående tjecker, den så ikke om bla bla er skrevet i felterne,
>>hvordan tjecker man om det er kommet noget imput, lige meget hvad det
>>er?

>Nej. Det i paranteserne () er det den tjekker for. Den tjekker bare om
>begge to har indhold. Hvis de har bliver det mellem { og } udført.

<flueknepperi>
Det er blevet nævnt før, men here goes again:
Der bliver ikke tjekket om begge har indhold derimod om udsagnet er
sandt. Hvis udsagnet gav 0 (altså, $navn er 0 og $comments er 0) ville
det også evaluere til falsk. Det har ikke nogen betydning her -
faktisk forhindrer det at folk ved navn 0 skriver 0 i din gæstebog -
men keep in mind at hvis du skal tjecke om en variabel har en værdi så
brug isset($variable).
</flueknepperi>

--
Jonas Häggqvist
DISCLAIMER: "My opinions are not necessarily the same as those of the
rest of the universe"

Ghashûl (06-03-2001)
Kommentar
Fra : Ghashûl


Dato : 06-03-01 22:46

On Tue, 06 Mar 2001 20:31:25 +0100, Jonas Häggqvist <jfh@adr.dk>
wrote:

>
><flueknepperi>
>Det er blevet nævnt før, men here goes again:
>Der bliver ikke tjekket om begge har indhold derimod om udsagnet er
>sandt. Hvis udsagnet gav 0 (altså, $navn er 0 og $comments er 0) ville
>det også evaluere til falsk. Det har ikke nogen betydning her -
>faktisk forhindrer det at folk ved navn 0 skriver 0 i din gæstebog -
>men keep in mind at hvis du skal tjecke om en variabel har en værdi så
>brug isset($variable).
></flueknepperi>

Ok, det er meget rart at vide.
Jeg har mest brugt det til If ($conn) sætninger og den har enten en
værdi eller også har den ikke ;)

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7two23six29
E-mail: stefan at bruhn dot to
URL: http://www.ghashul.dk

Søg
Reklame
Statistik
Spørgsmål : 177523
Tips : 31968
Nyheder : 719565
Indlæg : 6408677
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste