Avatar billede panikspreder Nybegynder
27. juni 2003 - 21:36 Der er 21 kommentarer og
1 løsning

Forms og PHP

Hejsa!
Jeg har et lille problem jeg ikke kan finde ud af.
Jeg har lavet en form hvor man kan indtaste forskellige informationer. Nederst vil jeg så gerne havde 2 knapper. En man kan submite med og en man kan se et preview af det man har indtastet. Men hvordan skal jeg få det til at virke så hvergang at man trykker på Submit skal det gå til siden admin.php?action=nynyhedexe og når man klikker på Preview skal den gå til siden admin.php?action=previewnyhed ??? Håber der er en som kan svare på mit spørgsmål...

Det virker fint nok med en knap (submit) hvor jeg indtaster <form action=admin.php?action=nynyhedexe method=post name=nyhed> men hvordan får man den anden til at virke! Det kan jo ikke være en Submit knap, men skal nok derimod være en almindelig Button. Det er min teori indtil videre, men kan bare ikke kringle den :-/

Det hele skal ligge i en enkelt php fil som I nok har regnet ud. Altså 2 dele man kan vælge ud fra hvilken knap man trykker på:

<?php
if($action=nynyhedexe) {
  blablabla...
}
?>

<?php
if($action=previewnyhed) {
  blablabla...
}
?>

På forhånd tak!
Avatar billede hmortensen Nybegynder
27. juni 2003 - 21:44 #1
Mener man kan lave det i et javascript link...
Avatar billede panikspreder Nybegynder
27. juni 2003 - 21:47 #2
Men hvordan?
Jeg vil meget gerne hvis der er en som kan vise mig præcis hvordan man gør!
Avatar billede hmortensen Nybegynder
27. juni 2003 - 21:50 #3
Ellers lav en alm href.
......
<input type='submit' value='submit'>
<a href='admin.php?action=previewnyhed'>Preview</a>
</form>
Avatar billede panikspreder Nybegynder
27. juni 2003 - 21:51 #4
Ja, men på den måde kommer dataen fra formet jo ikke med over på den nye side, vel? Eller er der noget smart gejl jeg skal skrive under den del? :-)
Avatar billede ahv Nybegynder
27. juni 2003 - 21:58 #5
Eksempel ->

<form method='post' name='form'>
<textarea wrap='virtual' name='text' rows='20' cols='60'></textarea>
<input type='submit' value='Preview' onClick=\"document.form.action='preview.php?s=$i';target='_blank';\">
<input type='submit' value='Send' name='tekst' onClick=\"document.form.action='finish.php';target='_top';\"></form>
Avatar billede hmortensen Nybegynder
27. juni 2003 - 21:58 #6
Ja, DOH !
Det var mig der lige glemte at tænke ;)
Avatar billede ahv Nybegynder
27. juni 2003 - 21:58 #7
<form method='post' name='form'>
<textarea wrap='virtual' name='text' rows='20' cols='60'></textarea>
<input type='submit' value='Preview' onClick=\"document.form.action='preview.php';target='_blank';\">
<input type='submit' value='Send' name='tekst' onClick=\"document.form.action='finish.php';target='_top';\"></form>
Avatar billede tipsen Nybegynder
27. juni 2003 - 21:58 #8
Du laver bare to submit knapper:

<input name="preview" value="Preview" type="submit" />
<input name="submit" value="Send Message" type="submit" />

og så laver du et check i din kode:

if(isset($_POST['preview'])) {
  //generer preview
} elseif (isset($_POST['submit'])) {
  //behandl formdata
}

Jeg har selv lavet noget tilsvarende i en ny gæstebog som endnu ikke er på nettet - jeg laver så preview og gengiver formularen nedenfor i stedet for at folk skal til at vælge tilbage, klikke på et "Rediger besked" link eller noget i den retning.
Avatar billede hmortensen Nybegynder
27. juni 2003 - 21:59 #9
ja det var noget i den retning jeg mente...
Avatar billede ahv Nybegynder
27. juni 2003 - 22:05 #10
Ideen i mit ekspempel er at når der trykkes på preview submitter i formen til et vindue via target _blank, på den måde bevarer vi dataerne i formen selvom vi har set preview når vi så ønsker at submitte trykker man på Send og formen submittes nu i "hoved" vinduet.
Avatar billede panikspreder Nybegynder
27. juni 2003 - 22:06 #11
Tipsen -> Hvor skal den kode være henne? Jeg er lidt n00b til den her! ;-)

Der skal stadig være form koden, ikk? Altså <form> og alt det? Hvis du har et eksempel du kan undvære ville det være guld værd... du kan sende det til panikspr@worldonline.dk
Avatar billede ahv Nybegynder
27. juni 2003 - 22:09 #12
http://www.ahv.starthotel.dk/test.php
Skulle illustrer min ide.
Avatar billede ahv Nybegynder
27. juni 2003 - 22:10 #13
Formen er ->

<form method='post' name='form'>
<textarea wrap='virtual' name='text' rows='20' cols='60'></textarea>
<input type='submit' value='Preview' onClick="document.form.action='test1.php';target='_blank';">
<input type='submit' value='Send' name='tekst' onClick="document.form.action='test2.php';target='_top';">
</form>

Preview siden (test1.php) er simplet ->
<?php
echo $_POST['text'];
?>

og test2 er jo bare der du skal håndtere inputtet.
Avatar billede tipsen Nybegynder
27. juni 2003 - 22:10 #14
panikspreder: Mit "eksempel" (min egen gæstebog) er pakket ind i diverse klasser og en masse andet gejl, så jeg tror ikke du vil få meget ud af den - men ideen er at du sætter to submit-knapper ind i formularen og så i selve din php-kode tester for hvilken af de to der blev trykket på - og afhængig af om det var nr. 1 eller nr. 2 bliver der udført forskellige handlinger.
Avatar billede ahv Nybegynder
27. juni 2003 - 22:12 #15
I preview kan du også skrive ->

<?php
echo nl2br($_POST['text']);
?>

For at få lavet rigtigt linieskift.
Avatar billede panikspreder Nybegynder
27. juni 2003 - 22:23 #16
Tak, gutter! Har fundet ud af det nu :-)

Besøg lige www.blastzone.dk sådan for sjov! ;-)
Avatar billede tipsen Nybegynder
27. juni 2003 - 22:34 #17
panikspreder: Det ser ikke super-godt ud i hverken mozilla eller opera - du har vist nogle problemer med enten html eller css-koderne...

Bemærk forøvrigt at ahvs svar ovenfor er (unødvendigt) afhængig af om klienten understøtter og har aktiveret javascript.
Avatar billede panikspreder Nybegynder
27. juni 2003 - 23:59 #18
Har lige downloadet Opera for tjekke hvordan det ser ud... det er faktisk kun den almindelig tekst der er scewed up. Jeg bruger også JavaScript på min side til at vise billeder med... jeg har valgt som udgangspunkt at kode til Internet Explorer og JavaScript som de fleste har installeret på deres comp...

Det er for stort et arbejde at tage hensyn til alle... kommer nok senere ;-)
Avatar billede tipsen Nybegynder
28. juni 2003 - 00:53 #19
Ofte er det bare et spørgsmål om at holde sig til standarderne...
Avatar billede roenving Novice
28. juni 2003 - 01:52 #20
>>tipsen

Kan ikke lade være med at spørge, fordi den lige var oppe i et andet spm tidligere i dag (går?):

Kender du nogen, som har en browser, som ikke kender javascript ?-)

-- hvis du gør, skal man vel kalde dig heldig -- ingen browser efter 1996 kender IKKE javascript ...

-- hvilke kender du, som har javascript deaktiveret ?-)

-- min 'erfaring' peger på, at visse sikkerhedschefer i firmaer, som ikke ved hvad det handler om, får sådan noget slået fra, fordi de (fejlagtigt) tror, at M$ giver alle rettigheder, som de selv (sikkerhedscheferne) vil have ...
Avatar billede tipsen Nybegynder
28. juni 2003 - 18:20 #21
roenving: Jeg tror ikke der er (nyere) browsere uden kendskab til javascript, men jeg tror/ved, at der er variationer i objekt-modellen, hvilket kan give problemer for en programmør uden overblik på dette område! Derudover kender jeg faktisk nogle privatpersoner som har disablet javascript for at undgå pop-up vinduer!

Dette betyder alt i alt, at jeg ved brug af javascript forsøger at begrænse mig til funktioner som ikke er væsentlige for brugen af websiden, men udelukkende kan tjene til at gøre livet nemmere og/eller smartere! Dvs. kode der gør, at hvis jeg har lavet noget som ikke fungerer i "browser-x" så er det stadig muligt for brugeren at benytte websiden, men måske bare lidt langsommere!
Avatar billede roenving Novice
29. juni 2003 - 03:21 #22
>>tipsen

Vi kan åbenbart hurtigt blive enige ...

-- jeg har selv ganske ofte problemet med min popup-stopper *g*, som må disables mens jeg besvarer (/tester til besvarelse) et spm ...

-- men jeg må så også indrømme, at jeg har en historie, som gør, at jeg helt automatisk forsøger at finde løsninger, som kræver mindre overførsel og derfor tænker udenom serverside, når vi lige skal (en eller anden småting) ...

Jeg sidder selv bag en 10 Mb opkobling og oplever sjældent problemer, men jeg kan huske for 10 år siden, hvor bare det at etablere en forbindelse (og der var vi allerede oppe på 9.6-forbindelser !-) kunne koste en krig i telefon-penge ...

Min religiøsitet i denne sammenhæng er mest at være a-religiøs som princip !o]

-- men det kan selvfølgelig ikke undgås, at jeg holder mig til noget jeg ved noget om -- og jeg ved (næsten) intet om server-side scripting ,-)
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