Den 18-03-2010 23:31, Birger Sørensen skrev:
> Martin Ploug skrev den 18-03-2010:
>> Den 18-03-2010 19:20, Birger Sørensen skrev:
>>> Martin Ploug skrev den 18-03-2010:
>>>> Hej
>>>>
>>>> Jeg er ved at lave en kontaktformular bestående af to filer.
>>>> Den første fil indeholder selve kontaktformularen, og den
>>>> anden fil behandler det indtastede.
>>>>
>>>> Som det er nu, kan man gå direkte til fil nummer 2, uden
>>>> først at have været omkring selve formularen og klikket
>>>> på submit, og man får altså en side, hvor der kun står en
>>>> overskrift i selve indholdsruden / indholdsområdet.
>>>>
>>>> Det vil jeg gerne undgå og tænker at man må kunne lave det
>>>> sådan, at man automatisk bliver sendt til kontaktformularen,
>>>> hvis der ikke er klikket på submit.Eller kan man gøre noget
>>>> smartere / mere rigtigt? Ja, man kan vel echo et link til
>>>> formularen, hvis submit ikke er sat.
>>>>
>>>> Som altid er det nok nemmeste og måske endda nødvendigt,
>>>> at jeg poster min kode, men jeg vil lige først høre, om der er
>>>> nogen, der umiddelbart kan fortælle, hvordan jeg kan løse det.
>>>>
>>>> Jeg har lige prøvet at skrive nedenstående øverst i fil nummer
>>>> 2, og jeg bliver da også fint sendt til kontaktformularen.
>>>> Men når jeg efterfølgende klikker på submit i formularen, bliver
>>>> jeg ikke sendt til fil nummer 2 - jeg bliver bare stående.
>>>>
>>>> Øverst i fil nummer 2:
>>>>
>>>> $send = $_POST['submit'];
>>>>
>>>> if (!isset($send)){
>>>> header('Location:
http://www.domæne.dk/fil1.php');
>>>> }
>>>>
>>>> Er det mon fordi det skal ind i en if - else - sætning?
>>>>
>>>> Hvis det er tilfældet er jeg ikke helt klar over, hvordan
>>>> jeg skal gøre det.
>>>>
>>>> Som jeg forstår det må der være en bestemt rækkefølge, som
>>>> må skulle overholdes:
>>>>
>>>> 1. If-sætningen med header location må skulle stå øverst sammen
>>>> med mine sessions, som jeg sætter for at huske brugerens indtastninger
>>>>
>>>> 2. Herefter har jeg noget HTML med head, title, body osv, og inden i
>>>> HTML'en
>>>> starter og slutter jeg den php, der validerer det indtastede og sender
>>>> mailen
>>>> osv.
>>>>
>>>> 3. Endeligt slutter jeg HTML'en
>>>>
>>>> Venlig hilsen
>>>> Martin
>>>
>>> if ( !isset( $_POST[ 'submit'])) { header( 'Location: ...); }
>>> hvis name="submit" i input i formen.
>>>
>>> Lidt bedre er
>>> HTML:
>>> <input type="submit" name="submit" value="Send">
>>> PHP:
>>> $subm = ( isset( $_POST[ 'submit'])) ? $_POST[ 'submit'] : '';
>>> if ( $subm != 'Send') { header( 'Location: ...); }
>>>
>>> Birger
>>>
>>
>> Hej Birger
>>
>> Tak for dit indlæg.
>>
>> Jeg har nu lagt filerne ud, så du og andre kan
>> se koderne i de to filer.
>>
>> Fil1:
>>
http://www.detour.dk/location/fil1.phps
>>
>> Fil2:
>>
http://www.detour.dk/location/fil2.phps
>>
>>
>> Hvor mener du, at....
>>
>> > $subm = ( isset( $_POST[ 'submit'])) ? $_POST[ 'submit'] : '';
>> > if ( $subm != 'Send') { header( 'Location: ...); }
>>
>> skal placeres henne?
>>
>> Hvad er det ? $_POST[ 'submit'] : ''; ?
>>
>> Det kunne være ret fedt, at få det til at spille
>>
>> Venlig hilsen
>> Martin
>
> Terney operator.
> Hvis det der står mellem = og ? er sandt, returneres det der står efter
> ?. Ellers returneres det der står efter :
> altså $subm = $_POST... hvis den er sat, ellers en tom streng.
> Lidt som en if() else - lidt hurtigere at skrive. Det sikrer så også at
> $subm er initialiseret.
>
> Det er et test på om der er tastet submit - altså til først i fil 2.
> Men det kan nu stadig omgås, hvis man ved hvad man skal skrive på
> adresselinien.
>
> Birger
>
Hej Birger
Mange tak, jeg er blevet en lille smule klogere.
Jeg forstår så bare stadigvæk ikke, hvor i min fil
jeg skal indsætte dette tjek. Jeg går ud fra, at dette submit-tjek
skal indsættes i fil 2 ?
Men hvor? For header location skal stå som det allerførste i filen,
som jeg forstår det.
Skal....
$subm = ( isset( $_POST[ 'submit'])) ? $_POST[ 'submit'] : '';
if ( $subm != 'Send') { header( 'Location: ...); }
dermed stå allerøverst i fil 2, og hvordan får jeg det i så fald koblet
sammen med mine øvrige PHP-forspørgsler længere nede i filen?
Som jeg skrev, om som det kan ses, har jeg jo skiftevis php og HTML
i filen, så hvordan laver jeg denne kobling?
Skal jeg iøvrigt skrive noget imellem apostrofferne efter kolonnet
i den linje med $subm, eller betyder det netop, at strengen er tom, hvis
der ikke er klikket på submit?
> Men det kan nu stadig omgås, hvis man ved hvad man skal skrive på
> adresselinien.
Ok, men i forhold til den almindelige bruger er det vel ikke det store
problem? Selvom man skulle komme ind på fil nummer 2, bliver der vel
ikke sendt noget fra formularen, så længe der ikke er klikket på submit.
Venlig hilsen
Martin