/ 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
Problemmer med at læse variable
Fra : Jan


Dato : 29-09-06 22:28

Hej
<form id="form1" name="form1" method="post" action="addguestbook.php">
<td>
<table width="400" border="0" cellpadding="3" cellspacing="1"
bgcolor="#FFFFFF">
<tr>
<td width="117">Name</td>
<td width="14">:</td>
<td width="357"><input name="name" type="text" id="name" size="40" /></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input name="email" type="text" id="email" size="40" /></td>
</tr>
<tr>
<td valign="top">Comment</td>
<td valign="top">:</td>
<td><textarea name="comment" cols="40" rows="3"
id="comment"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Submit" /> <input type="reset"
name="Submit2" value="Reset" /></td>
</tr>
</table>
</td>
</form>
variablernes værdi ved Submit er blanke, selv om der er skrevet noget i dem,
når addguestbook.php kører. er der nogen der kan sige hvorfor?

......
......
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect
server ");
mysql_select_db("$db_name")or die("cannot select DB");

$datetime=date("y-m-d h:i:s"); //date time

$sql="INSERT INTO $tbl_name(name, email, comment, datetime)VALUES('$name',
'$email', '$comment', '$datetime')";
$result=mysql_query($sql);


//check if query successful
if($result){
echo "Successful";
echo "$name";
echo "<BR>";
echo "<a href='viewguestbook.php'>View guestbook</a>"; // link to view
guestbook page
}

else {
echo "ERROR";
}

mysql_close();

Mvh Jan

--------------------------------------------------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 2841 spam-mails
Betalende brugere får ikke denne besked i deres e-mails.
Hent en gratis SPAMfighter her.



 
 
Bertel Lund Hansen (29-09-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 29-09-06 23:18

Jan skrev:

> <form id="form1" name="form1" method="post" action="addguestbook.php">

> <td><input name="email" type="text" id="email" size="40" /></td>

> variablernes værdi ved Submit er blanke, selv om der er skrevet noget i dem,
> når addguestbook.php kører. er der nogen der kan sige hvorfor?

Det kan skyldes at register_globals er sat til off som den helst
skal være. I så fald skal du bruge

   $_POST['email']

hvis du skal aflæse hvad der er skrevet i feltet med
name="email".

> Jeg beskyttes af den gratis SPAMfighter til privatbrugere.

Til gengæld bliver vi andre sønderbombet med dens reklamespam.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Jan (30-09-2006)
Kommentar
Fra : Jan


Dato : 30-09-06 07:13


"Bertel Lund Hansen" <nospamfilius@lundhansen.dk> skrev i en meddelelse
news:451d9b8c$0$4159$ba624c82@nntp02.dk.telia.net...
> Jan skrev:
>
>> <form id="form1" name="form1" method="post" action="addguestbook.php">
>
>> <td><input name="email" type="text" id="email" size="40" /></td>
>
>> variablernes værdi ved Submit er blanke, selv om der er skrevet noget i
>> dem,
>> når addguestbook.php kører. er der nogen der kan sige hvorfor?
>
> Det kan skyldes at register_globals er sat til off som den helst
> skal være. I så fald skal du bruge
>
> $_POST['email']
ok, men hvor skal $_POST['email'] sættes ind i koden ??

>
> hvis du skal aflæse hvad der er skrevet i feltet med
> name="email".
>
Mvh Jan

--------------------------------------------------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 2842 spam-mails
Betalende brugere får ikke denne besked i deres e-mails.
Hent en gratis SPAMfighter her.



Bertel Lund Hansen (30-09-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 30-09-06 15:21

Jan skrev:

>> Det kan skyldes at register_globals er sat til off som den helst
>> skal være. I så fald skal du bruge

>> $_POST['email']

> ok, men hvor skal $_POST['email'] sættes ind i koden ?

Den afsendende formside sætter automatisk $_POST-variable for
alle de felter der har fået sat parameteren "name". Det betyder
at du kan/skal behandle disse variable i det modtagende program.

Det kan gøres på to måder der hver har nogle små fortrin:

1
Referer til disse variable med $_POST-navnet hele tiden. Eksempel:

   if ($_POST['email']=='') echo "Husk at skrive mailadressen!";
   if (!strpos($_POST['email'],'@')) echo "Der er fejl i mailadressen!";
   osv.

2.
Indlæs $_POST-variablen i en global variabel. Eksempel:

   $email=$_POST['email'];
   if ($email=='') echo "Husk at skrive mailadressen!";
   if (!strpos($email,'@')) echo "Der er fejl i mailadressen!";
   osv.

Jeg har tidligere brugt metode 2, men er nu tilbøjelig til at
anbefale metode 1. Jeg har ændret mening efter at jeg havde
nogle luskede fejl der skyldtes at jeg brugte $email, men havde
glemt at få POST-variablen indlæst deri. Koden var jo 'korrekt'
nok, men havde bare ikke de nødvendige variabel-data at arbejde
med.

Derudover kan man med den metode hele tiden i koden se at det er
et brugerinput der arbejdes med.

Fordelen ved metode 2 er den 'pænere' kode, men det er nok en
vanesag.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Jan (30-09-2006)
Kommentar
Fra : Jan


Dato : 30-09-06 16:03




--------------------------------------------------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 2850 spam-mails
Betalende brugere får ikke denne besked i deres e-mails.
Hent en gratis SPAMfighter her.



ib petersen (30-09-2006)
Kommentar
Fra : ib petersen


Dato : 30-09-06 10:09

Jan wrote in dk.edb.internet.webdesign.serverside.php:
> Hej
> <form id="form1" name="form1" method="post" action="addguestbook.php">
> <td>
>>
> Mvh Jan
>

Hej Jan

Du skal angive alle dine variabler i toppen af dine fil. før evt. <head>
så det kommer til at indeholde værdien af variablerne.
$mail = $_POST['mail'];
dette skal gøre for alt der skal modtages fra "form1"

god fornøjelse
ib


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jan (30-09-2006)
Kommentar
Fra : Jan


Dato : 30-09-06 16:03




--------------------------------------------------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 2850 spam-mails
Betalende brugere får ikke denne besked i deres e-mails.
Hent en gratis SPAMfighter her.



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

Månedens bedste
Årets bedste
Sidste års bedste