Avatar billede mortenbock Nybegynder
23. oktober 2004 - 17:09 Der er 7 kommentarer og
1 løsning

Hente oplysninger fra Form via Post

Jeg har lavet en form med 8 felter hvoraf det kun er opligatorisk at udfylde de 4.

Det bliver så sendt til min php fil, der skal hente data fra formularen.

Men hvis et formularfelt er tomt, så kommer PHP med en notice om at denne variabel ikke findes.

Er der er måde hvorpå man kan teste om en variabel findes før man forsøger at kalde den?

Eller er det muligt at hente alle de $_POST variabler der er blevet sendt, så man ikke få nogen null værdier med i pakken?

/Morten
Avatar billede haren Nybegynder
23. oktober 2004 - 17:12 #1
Funktionen isset(); bruges til at teste om en variabel er sat..

www.php.net/isset
Avatar billede sitzz Nybegynder
23. oktober 2004 - 17:12 #2
$formnavn = "NULL";
if (isset($_POST['fejlnavn'])) {
  $formnavn = "'".$_POST['formnavn']."'";
}

hvis du har sat din tabel op til at klare NULL værdier, bliver der sat NULL ind, ellers værdien på dit formfejl.
Avatar billede hmortensen Nybegynder
23. oktober 2004 - 17:12 #3
du kan bruge isset() for at tjekke om en variabel er sat.

if (isset($_POST['var1'], $_POST['var2'], $_POST['var3']))
Avatar billede sitzz Nybegynder
23. oktober 2004 - 17:13 #4
sludder, skal jo hedde:
$formnavn = "NULL";
if (isset($_POST['formnavn'])) {
  $formnavn = "'".$_POST['formnavn']."'";
}
Avatar billede hmortensen Nybegynder
23. oktober 2004 - 17:15 #5
Og du kan envidere bruge empty() for at tjekke om en variabel er tom.

if (empty($_POST['var1']) AND empty($_POST['var2']))
Avatar billede haren Nybegynder
23. oktober 2004 - 17:27 #6
og så er der jo den sidste, du laver alle variabler om:

$form1 = $_POST['form1'];
$form2 = $_POST['form2'];
$form3 = $_POST['form3'];

osv.
Avatar billede mortenbock Nybegynder
23. oktober 2004 - 17:33 #7
Tak for hjælpen.

Min løsning blev at bruge dette for at forhindre fejl når der ikke er sat flueben i en checkbox:

if (!isset($_POST['Sendbrochure']))
$felt_sendbrochure = "Nej tak";

if (!isset($_POST['Ringmigop']))
$felt_ringmigop = "Nej tak";
Avatar billede mortenbock Nybegynder
07. december 2004 - 16:20 #8
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester