/ 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
Kontaktformular - vis / skjul formular
Fra : Martin Ploug


Dato : 14-03-10 11:02

Hej

Hvordan er det nu det er?
Jeg er ved at lave en simpel kontaktformular
i ren php-syntaks og i en og samme fil.
Jeg vil gerne have det sådan at formularen
ikke længere vises, hvis alle felter er udfyldt
korrekt, og der er trykket på submit.

Hvis et eller flere felter ikke er udfyldt korrekt,
vil jeg gerne have vist fejlbeskeden ovenover
formularen.

Øverst har jeg defineret mine variabler.
Så har jeg et tjek for, om der er blevet
trykket på submit med if (isset($_POST['submit']))

For hvert felt har jeg et tjek for, om det er tomt.
Hvis det er tomt, kommer der en echo med Indtast
venligst ..osv.

Efter det sidste felttjek har jeg, som det er lige nu,
selve formularen. Men den står for sig selv og er ikke
i en if, elseif eller else-statement (eller hvad det hedder).

Til sidst har jeg en else statement der sørger for at
sende indholdet i formularen vha. mail() og så en echo
med Din besked er blevet sendt.

Jeg mener, at felttjekene og visningen af formularen må
skulle "pakkes sammen" i én if-statement på en eller anden
måde eller hvad?

Venlig hilsen
Martin




 
 
Birger Sørensen (14-03-2010)
Kommentar
Fra : Birger Sørensen


Dato : 14-03-10 12:54

Martin Ploug forklarede den 14-03-2010:
> Hej
8X
> Jeg mener, at felttjekene og visningen af formularen må
> skulle "pakkes sammen" i én if-statement på en eller anden
> måde eller hvad?
8X

Det ville jeg gøre...

if ( "udfyldt korrekt") { send_mail(); }
else {
echo "Udfyld venligst...";
echo formen med alleredeindtastede data - eller default
}

Der er vel omkring ½ million måder at styre det på.
Direkte i if sætninger eller via midlertidige variable.
Lidt svært at rådgive, uden at vide hvad du allerede har...

$err_txt = '';
if ( submit) {
if ( check værdi) { $err_txt = 'Udfyld venligst...'; }
else if ( næste check) { $err_txt = '...'; }
...
else {
$err_txt = 'Tak';
send mail }
}
if ( $err_txt != '') { echo $err_txt; }
if ( $err_txt != 'Tak') {
echo formen
}

Ville måske virke...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Martin Ploug (14-03-2010)
Kommentar
Fra : Martin Ploug


Dato : 14-03-10 17:30

Den 14-03-2010 12:54, Birger Sørensen skrev:
> Martin Ploug forklarede den 14-03-2010:
>> Hej
> 8X
>> Jeg mener, at felttjekene og visningen af formularen må
>> skulle "pakkes sammen" i én if-statement på en eller anden
>> måde eller hvad?
> 8X
>
> Det ville jeg gøre...
>
> if ( "udfyldt korrekt") { send_mail(); }
> else {
> echo "Udfyld venligst...";
> echo formen med alleredeindtastede data - eller default
> }
>
> Der er vel omkring ½ million måder at styre det på.
> Direkte i if sætninger eller via midlertidige variable.
> Lidt svært at rådgive, uden at vide hvad du allerede har...
>
> $err_txt = '';
> if ( submit) {
> if ( check værdi) { $err_txt = 'Udfyld venligst...'; }
> else if ( næste check) { $err_txt = '...'; }
> ...
> else {
> $err_txt = 'Tak';
> send mail }
> }
> if ( $err_txt != '') { echo $err_txt; }
> if ( $err_txt != 'Tak') {
> echo formen
> }
>
> Ville måske virke...
>
> Birger
>
Hej Birger

Tak for dine kommentarer.
Jeg kan ikke få vendt tingene rigtigt i mit hoved, så
jeg tror, at jeg indtil videre bare gør, så formularen
bliver vist hele tiden.

Venlig hilsen
Martin



Ukendt (15-03-2010)
Kommentar
Fra : Ukendt


Dato : 15-03-10 17:34

"Martin Ploug" <mploug@pc.dk> skrev i meddelelsen
news:4b9d0f0b$0$281$14726298@news.sunsite.dk...
> Den 14-03-2010 12:54, Birger Sørensen skrev:
>> Martin Ploug forklarede den 14-03-2010:
>>> Hej
>> 8X
>>> Jeg mener, at felttjekene og visningen af formularen må
>>> skulle "pakkes sammen" i én if-statement på en eller anden
>>> måde eller hvad?
>> 8X
>>
>> Det ville jeg gøre...
>>
>> if ( "udfyldt korrekt") { send_mail(); }
>> else {
>> echo "Udfyld venligst...";
>> echo formen med alleredeindtastede data - eller default
>> }
>>
>> Der er vel omkring ½ million måder at styre det på.
>> Direkte i if sætninger eller via midlertidige variable.
>> Lidt svært at rådgive, uden at vide hvad du allerede har...
>>
>> $err_txt = '';
>> if ( submit) {
>> if ( check værdi) { $err_txt = 'Udfyld venligst...'; }
>> else if ( næste check) { $err_txt = '...'; }
>> ...
>> else {
>> $err_txt = 'Tak';
>> send mail }
>> }
>> if ( $err_txt != '') { echo $err_txt; }
>> if ( $err_txt != 'Tak') {
>> echo formen
>> }
>>
>> Ville måske virke...
>>
>> Birger
>>
> Hej Birger
>
> Tak for dine kommentarer.
> Jeg kan ikke få vendt tingene rigtigt i mit hoved, så
> jeg tror, at jeg indtil videre bare gør, så formularen
> bliver vist hele tiden.
>
> Venlig hilsen
> Martin
>

Brug javasript til at validere (selvfølgelig med php bagefter) og ajax til
at vise beskeden når den er sendt.

Mvh Anders


Birger Sørensen (15-03-2010)
Kommentar
Fra : Birger Sørensen


Dato : 15-03-10 17:57

Anders Mikkelsen formulerede spørgsmålet:
> "Martin Ploug" <mploug@pc.dk> skrev i meddelelsen
> news:4b9d0f0b$0$281$14726298@news.sunsite.dk...
>> Den 14-03-2010 12:54, Birger Sørensen skrev:
>>> Martin Ploug forklarede den 14-03-2010:
>>>> Hej
>>> 8X
>>>> Jeg mener, at felttjekene og visningen af formularen må
>>>> skulle "pakkes sammen" i én if-statement på en eller anden
>>>> måde eller hvad?
>>> 8X
>>>
>>> Det ville jeg gøre...
>>>
>>> if ( "udfyldt korrekt") { send_mail(); }
>>> else {
>>> echo "Udfyld venligst...";
>>> echo formen med alleredeindtastede data - eller default
>>> }
>>>
>>> Der er vel omkring ½ million måder at styre det på.
>>> Direkte i if sætninger eller via midlertidige variable.
>>> Lidt svært at rådgive, uden at vide hvad du allerede har...
>>>
>>> $err_txt = '';
>>> if ( submit) {
>>> if ( check værdi) { $err_txt = 'Udfyld venligst...'; }
>>> else if ( næste check) { $err_txt = '...'; }
>>> ...
>>> else {
>>> $err_txt = 'Tak';
>>> send mail }
>>> }
>>> if ( $err_txt != '') { echo $err_txt; }
>>> if ( $err_txt != 'Tak') {
>>> echo formen
>>> }
>>>
>>> Ville måske virke...
>>>
>>> Birger
>>>
>> Hej Birger
>>
>> Tak for dine kommentarer.
>> Jeg kan ikke få vendt tingene rigtigt i mit hoved, så
>> jeg tror, at jeg indtil videre bare gør, så formularen
>> bliver vist hele tiden.
>>
>> Venlig hilsen
>> Martin
>>
>
> Brug javasript til at validere (selvfølgelig med php bagefter) og ajax til at
> vise beskeden når den er sendt.
>
> Mvh Anders

Hvis input valideres med php, hvorfor så validere det hos brugeren?
Hvordan vil det virke uden js?
Så vidt jeg forstod Martin, var pointen, ikke at vise formen efter
afsendelse - og det er der vist ikke nogen grund til at rode ajax ind
i.
Man kunne bygge hele formen om en ajax - så den indsender data, checker
serverside, og returnerer et resultat. På baggrund af resultatt, kan
man vise/skjule formen, give fejlmeddelelser og fokusere felter med
fejl.
Men det er vist ikke det Martin er ude efter.
Hans løsning står på een side - hvilket er elegant, men selvfølgelig
også har ulemper som alt andet...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Ukendt (15-03-2010)
Kommentar
Fra : Ukendt


Dato : 15-03-10 19:19

"Birger Sørensen" <sdc@bbsorensen.com> skrev i meddelelsen
news:4b9e66d8$0$275$14726298@news.sunsite.dk...
> Anders Mikkelsen formulerede spørgsmålet:
>> "Martin Ploug" <mploug@pc.dk> skrev i meddelelsen
>> news:4b9d0f0b$0$281$14726298@news.sunsite.dk...
>>> Den 14-03-2010 12:54, Birger Sørensen skrev:
>>>> Martin Ploug forklarede den 14-03-2010:
>>>>> Hej
>>>> 8X
>>>>> Jeg mener, at felttjekene og visningen af formularen må
>>>>> skulle "pakkes sammen" i én if-statement på en eller anden
>>>>> måde eller hvad?
>>>> 8X
>>>>
>>>> Det ville jeg gøre...
>>>>
>>>> if ( "udfyldt korrekt") { send_mail(); }
>>>> else {
>>>> echo "Udfyld venligst...";
>>>> echo formen med alleredeindtastede data - eller default
>>>> }
>>>>
>>>> Der er vel omkring ½ million måder at styre det på.
>>>> Direkte i if sætninger eller via midlertidige variable.
>>>> Lidt svært at rådgive, uden at vide hvad du allerede har...
>>>>
>>>> $err_txt = '';
>>>> if ( submit) {
>>>> if ( check værdi) { $err_txt = 'Udfyld venligst...'; }
>>>> else if ( næste check) { $err_txt = '...'; }
>>>> ...
>>>> else {
>>>> $err_txt = 'Tak';
>>>> send mail }
>>>> }
>>>> if ( $err_txt != '') { echo $err_txt; }
>>>> if ( $err_txt != 'Tak') {
>>>> echo formen
>>>> }
>>>>
>>>> Ville måske virke...
>>>>
>>>> Birger
>>>>
>>> Hej Birger
>>>
>>> Tak for dine kommentarer.
>>> Jeg kan ikke få vendt tingene rigtigt i mit hoved, så
>>> jeg tror, at jeg indtil videre bare gør, så formularen
>>> bliver vist hele tiden.
>>>
>>> Venlig hilsen
>>> Martin
>>>
>>
>> Brug javasript til at validere (selvfølgelig med php bagefter) og ajax
>> til at vise beskeden når den er sendt.
>>
>> Mvh Anders
>
> Hvis input valideres med php, hvorfor så validere det hos brugeren?

For at validere det med php skal der jo sendes en request, så det tager
båndbredde. Med js ville browseren jo så selv validere fejl..

> Hvordan vil det virke uden js?
> Så vidt jeg forstod Martin, var pointen, ikke at vise formen efter
> afsendelse - og det er der vist ikke nogen grund til at rode ajax ind i.
Uenig. Du kan jo poste dataene til en ajax fil og så i den skrive success
eller fail, og hvis success kan du jo skjule formen.

> Man kunne bygge hele formen om en ajax - så den indsender data, checker
> serverside, og returnerer et resultat. På baggrund af resultatt, kan man
> vise/skjule formen, give fejlmeddelelser og fokusere felter med fejl.
> Men det er vist ikke det Martin er ude efter.
> Hans løsning står på een side - hvilket er elegant, men selvfølgelig også
> har ulemper som alt andet...

Bevars, men så skal siden jo genindlæses, og så kunne du ligeså godt oprette
en helt ny side.

> Birger
>
> --
> http://varmeretter.dk - billig, sund og hurtig mad
> http://bbsorensen.dk
>
>

Mvh Anders


Birger Sørensen (15-03-2010)
Kommentar
Fra : Birger Sørensen


Dato : 15-03-10 19:42

Anders Mikkelsen formulerede spørgsmålet:
> "Birger Sørensen" <sdc@bbsorensen.com> skrev i meddelelsen
> news:4b9e66d8$0$275$14726298@news.sunsite.dk...
8X
>
> For at validere det med php skal der jo sendes en request, så det tager
> båndbredde. Med js ville browseren jo så selv validere fejl..
>
>> Hvordan vil det virke uden js?
>> Så vidt jeg forstod Martin, var pointen, ikke at vise formen efter
>> afsendelse - og det er der vist ikke nogen grund til at rode ajax ind i.
> Uenig. Du kan jo poste dataene til en ajax fil og så i den skrive success
> eller fail, og hvis success kan du jo skjule formen.
>
>> Man kunne bygge hele formen om en ajax - så den indsender data, checker
>> serverside, og returnerer et resultat. På baggrund af resultatt, kan man
>> vise/skjule formen, give fejlmeddelelser og fokusere felter med fejl.
>> Men det er vist ikke det Martin er ude efter.
>> Hans løsning står på een side - hvilket er elegant, men selvfølgelig også
>> har ulemper som alt andet...
>
> Bevars, men så skal siden jo genindlæses, og så kunne du ligeså godt oprette
> en helt ny side.
>
>> Birger
>>
>> -- http://varmeretter.dk - billig, sund og hurtig mad
>> http://bbsorensen.dk
>>
>>
>
> Mvh Anders

Ajax tager også båndbredde. Og resultatet medfører ændringer i
visningen. Så der er ikke den store forskel, i brug af båndbredde. Den
største forskel ligge i, at med AJAX, kan det ikke lade sig gøre uden
js.
Det kan Martins løsning..

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Ukendt (15-03-2010)
Kommentar
Fra : Ukendt


Dato : 15-03-10 19:49



--
Anders Mikkelsen
www.agmweb.dk
"Birger Sørensen" <sdc@bbsorensen.com> skrev i meddelelsen
news:4b9e7f8c$0$284$14726298@news.sunsite.dk...
> Anders Mikkelsen formulerede spørgsmålet:
>> "Birger Sørensen" <sdc@bbsorensen.com> skrev i meddelelsen
>> news:4b9e66d8$0$275$14726298@news.sunsite.dk...
> 8X
>>
>> For at validere det med php skal der jo sendes en request, så det tager
>> båndbredde. Med js ville browseren jo så selv validere fejl..
>>
>>> Hvordan vil det virke uden js?
>>> Så vidt jeg forstod Martin, var pointen, ikke at vise formen efter
>>> afsendelse - og det er der vist ikke nogen grund til at rode ajax ind i.
>> Uenig. Du kan jo poste dataene til en ajax fil og så i den skrive success
>> eller fail, og hvis success kan du jo skjule formen.
>>
>>> Man kunne bygge hele formen om en ajax - så den indsender data, checker
>>> serverside, og returnerer et resultat. På baggrund af resultatt, kan man
>>> vise/skjule formen, give fejlmeddelelser og fokusere felter med fejl.
>>> Men det er vist ikke det Martin er ude efter.
>>> Hans løsning står på een side - hvilket er elegant, men selvfølgelig
>>> også har ulemper som alt andet...
>>
>> Bevars, men så skal siden jo genindlæses, og så kunne du ligeså godt
>> oprette en helt ny side.
>>
>>> Birger
>>>
>>> -- http://varmeretter.dk - billig, sund og hurtig mad
>>> http://bbsorensen.dk
>>>
>>>
>>
>> Mvh Anders
>
> Ajax tager også båndbredde. Og resultatet medfører ændringer i visningen.
> Så der er ikke den store forskel, i brug af båndbredde. Den største
> forskel ligge i, at med AJAX, kan det ikke lade sig gøre uden js.
> Det kan Martins løsning..
Fik formuleret mig dårligt; så bliver der ikke brugt båndbredde på
valideringen.

> Birger
>
> --
> http://varmeretter.dk - billig, sund og hurtig mad
> http://bbsorensen.dk
>
>

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste