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/