Avatar billede snigeren Nybegynder
12. oktober 2007 - 13:18 Der er 9 kommentarer og
1 løsning

php forståelse

uhm en lille en =)

1. jeg har en form hvori feltet "juhuu" er
2. jeg submitter den form og åbner en anden side der tester om "juhuu" er udfyldt
3. "juhuu" er udfyldt og efter testen vil jeg sende indholdet af "juhuu" videre til en side 3...

For at gøre det skal jeg så have inholdet af "juhuu" ind i en ny form eller kan jeg bruge noget andet på side to?
Avatar billede Slater Ekspert
12. oktober 2007 - 13:28 #1
Du kan sende den videre via querystring, altså i url-baren, efter sidens sti, hvis det ikke gør noget folk kan se den.

Men det virkelige spørgsmål er vel: Hvorfor tester du ikke bare for om den er udfyldt og viser den på samme side? Altså springer side 2 over, og går direkte til side 3, hvor du først tester for om den er udfyldt, og hvis den er, udskriver den.
Det er normal praksis, og det andet er unødigt besværligt.
Avatar billede snigeren Nybegynder
12. oktober 2007 - 13:57 #2
uhm det gør jeg for så vidt også.

Jeg har min form på side 1, der kan jeg så "submit" eller "hent oplysninger" (fordi man kan skrive tlf nr ind og hente alle oplysninger derudfra).

Trykker man submit loader den samme side igen hvor den så gør følgende:

if(hentoplysninger){ script der henter oplysninger, derefter viser inholdet på siden};
else if(submit){tester om form er udfyldt korrekt, hvis "ja", sender data viddere til en post.php der sender data med mail};
else {vis siden som default};
Avatar billede snigeren Nybegynder
12. oktober 2007 - 14:16 #3
for at tjecke på samme side skal man så bare i form skrive action="tjeck" og så kører den automatisk bare videre ned ad siden? eller hvordan vil du gøre det?
Avatar billede Slater Ekspert
12. oktober 2007 - 14:28 #4
Jeg ville lave noget i denne stil (sig til hvis der er noget der kræver uddybelse):

Side 1:
  Indeholder formen, og videresender til side 2.

Side 2:
<?php
$juhuu = $_POST['juhuu'];

if ($juhuu) {
  mail(bla bla, bla, bla);
  echo '<div>E-mail afsendt!</div>';
} else {
  echo 'Vis normal side';
}
?>

Der findes ikke nogen post.php - mailen bliver afsendt på Side 2, og det er derfor på intet tidspunkt nødvendigt at sende data videre via php.
Avatar billede snigeren Nybegynder
12. oktober 2007 - 14:38 #5
nej ok det kan jeg godt se... grunden til at jeg har lavet en post.php er fordi det er lidt mere overskueligt så der ikke kommer 400 linier kode =)

Men du vil mene det er bedst sådan?

Bare for en god ordens skyld kan man ikke sende data videre til side 3 som jeg skrev først uden at putte det hele i adresse linien,.. for der er nok 9-10 ting der skal med og det er jo lidt vildt og ser skørt ud =)
Avatar billede snigeren Nybegynder
12. oktober 2007 - 15:37 #6
men jeg har nu valgt at bruge din løsning med at putte mail koderne ind på side 2 også =)

så bare smid et svar,.. men hvis du har en anden måde man kan sende data videre uden at smide dem i adresselinien vil jeg stadig gerne høre =)
Avatar billede Slater Ekspert
12. oktober 2007 - 16:31 #7
Hvis det er fordi mail-koden fylder for meget, kan du godt have den liggende i en anden fil, og så bare inkludere den på siden.

if ($juhuu) {
  include("mail.php");
  funktion_der_ligger_i_mail_php("parameter");
  echo '<div>E-mail afsendt!</div>';
}

Ellers kan du gemme tingene i en session, og hente dem igen på den næste side.
Men det er dårlig praksis - specielt fordi dine brugere jo så skal vise en ekstra side, og dem med langsomt net skal vente længere tid.

Altid holde det til så få sideskift som muligt, uden at miste overskuelighed :)
Avatar billede snigeren Nybegynder
14. oktober 2007 - 13:31 #8
ja ok det kan jeg jo godt se =)  well det går nok med mail koden på samme side har faktisk allerede lavet det...

Men tak for hjælpen og værsgo =)
Avatar billede snigeren Nybegynder
14. oktober 2007 - 13:32 #9
var i øvrigt lige i kbh derfor det lidt sene svar :D
Avatar billede Slater Ekspert
14. oktober 2007 - 14:04 #10
Fair, fair. Det sker også nogle gange for mig. Specielt fordi jeg bor på Østerbro.

Men held og lykke med det :)
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