Avatar billede Slettet bruger
14. april 2012 - 12:07 Der er 13 kommentarer og
1 løsning

Tjekke tom felt i kontaktformular

Hvad skal "z" skiftes ud med hvis den skal tjekke om fejltet er tomt?

if(strpos($navn,'z')!==false ||


/Jonas
Avatar billede olsensweb.dk Ekspert
14. april 2012 - 12:24 #1
hvad med at bruge empty i stedet ??
eller strlen hvis du vil arbejde med string functionerne
utested
if (strlen($navn)==0)
Avatar billede Slettet bruger
14. april 2012 - 12:34 #2
det ser sådan ud:

if(strpos($navn,'z')!==false || strpos($epost,'\\')!==false || strpos($emne,'\\')!==false || strpos($navn,'\\')!==false)
{
  echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen.";
  exit();

Hvordan smider jeg det ind? Kan ikke lige få det til at virke..
Avatar billede olebole Juniormester
14. april 2012 - 16:54 #3
<ole>

Hvad skal stakkels Heinz Gunzenhauser dog gøre? Og hvorfor tjekker du for backslashes?

/mvh
</bole>
Avatar billede Slettet bruger
14. april 2012 - 18:03 #4
Jamen det er en kontaktformular jeg har fundet her på siden.. Men ja, hvorfor tjekke for \.. Jo også derfor jeg gerne vil have det ændret :)
Avatar billede olebole Juniormester
14. april 2012 - 18:12 #5
Ud af snart 1.000.000 tråde kan du sagtens finde noget hø her på Eksperten. Hvad er det, du vil opnå?
Avatar billede olebole Juniormester
14. april 2012 - 18:14 #6
Udfra teksten i spørgsmålet at dømme, gør du bare, som ronols viste i #1
Avatar billede Slettet bruger
14. april 2012 - 18:27 #7
hvordan skal det præsis sættes ind?
Avatar billede olebole Juniormester
14. april 2012 - 19:08 #8
if (!empty($navn)) {
  // Fejl
}

- eller:

if (strlen($navn)!=0) {
  // Fejl
}
Avatar billede olsensweb.dk Ekspert
14. april 2012 - 19:08 #9
>Jamen det er en kontaktformular jeg har fundet her på siden
er det denne http://www.eksperten.dk/spm/952954 #8 du har kopieret ??
det er meget rart at se coden i sammenhæng, specielt når den skal rettes til
Avatar billede olebole Juniormester
14. april 2012 - 19:08 #10
Ooops!

if (!empty($navn)) {
  // Fejl
}

- eller:

if (strlen($navn)==0) {
  // Fejl
}
Avatar billede Slettet bruger
15. april 2012 - 10:18 #11
if(strpos($navn,'z')!==false || strpos($epost,'\\')!==false || strpos($emne,'\\')!==false || strpos($navn,'\\')!==false)
{
  echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen.";
  exit();


Hvordan skal det sættes ind? Er ikke særlig god til HTML og kan ikke få det til at virke.
Avatar billede olsensweb.dk Ekspert
15. april 2012 - 11:17 #12
#11 du har lige fået svaret i #10
dette
if(strpos($navn,'z')!==false || strpos($epost,'\\')!==false || strpos($emne,'\\')!==false || strpos($navn,'\\')!==false)
{
  echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen.";
  exit();
}


erstattes med 1 af de 2 løsninger det er angivet

enten
if (!empty($navn)) {
  echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen.";
  exit();
}


eller
if (strlen($navn)==0) {
  echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen.";
  exit();
}


brug den løsning du syntes er nemmest at forstå

er der behov for det, så udvid testen til, at teste for ulovlige karaktere, hvis det er nødvendigt.
nedenstående tester for om navne feltet er tomt, eller indeholder en backslash
if ( strlen($navn)==0 || strpos($navn,'\\')!==false ) {
  echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen.";
  exit();
}


du kan ikke bruge strpos til at teste for om en string er tom, kun om den indeholder en bestemt string
Avatar billede Slettet bruger
15. april 2012 - 13:04 #13
Tak. Ronols smid svar
Avatar billede olsensweb.dk Ekspert
15. april 2012 - 14:12 #14
får du her
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