Avatar billede bgo Nybegynder
25. juli 2005 - 12:48 Der er 11 kommentarer og
2 løsninger

Data fra en FORM

Et simpelt lille spørgsmål, fra en der er vant til ASP ;)

Hvordan henter jeg data fra en FORM? Eksempel:
<form name="eksempel" method="post" action="modtag.php">
  <input type="text" name="noget">
  <input type="checkbox" name="okellerikke" value="checkbox">
  <select name="valg">
  </select>
  <input type="text" name="andet">
</form>

Hvad skal der stå i modtag.php for at jeg får dataene fra felterne noget, okellerikke, valg og andet?

Og nu jeg er igang, hvad svarer i PHP til ASP's response.redirect("side.asp")?
Avatar billede jaw Nybegynder
25. juli 2005 - 12:50 #1
$_POST['text'];
$_POST['okellerikke'];

osv. osv.
Avatar billede jaw Nybegynder
25. juli 2005 - 12:51 #2
Hov, og dit andet spørgsmål tror jeg må være:

header("Location: side.php");
Avatar billede bgo Nybegynder
25. juli 2005 - 13:02 #3
Det første virker bare ok :)

Det andet: Er det ikke at tilføje noget til headeren? Målet er, eksempelvis hvis nogle submitter data via en form, så foretager scriptet i action nogle handlinger for bagefter at sende folk videre til en anden side (eller tilbage hvis der er opstået en fejl). Hvis det tilføjes til headeren, er jeg ikke sikker på at handlingerne bliver gennemført
Avatar billede jaw Nybegynder
25. juli 2005 - 13:10 #4
Du kan jo prøve, men det er metoden i php, eks:

if($variabel == "noget_den_skal_være") {
  //godkendt send til godkend.php
  header("Location: godkend.php");
} else {
  //ikke godkendt, send til fejl.php
  header("Location: fejl.php");
}

Løsningen kræver bare, at der ikke er noget HTML-ouput til browseren overhovedet, men udover den kender jeg ikke til nogen måde at sende brugere rundt med PHP - og mener bestemt heller ikke at der er andre. Så skal man ud og fuske med javascript, meta-tags og hvad der ellers er...
Avatar billede mr_chaos Praktikant
25. juli 2005 - 13:25 #5
Du kan vælge at gøre det igennem javascript.

Nedenstående script redirecter efter 1000 milisekunder,
<script language="JAVASCRIPT">
window.setTimeout("Redirect();", 1000);
function Redirect() {
  location.href="somewhere"
}
</script>

Man kunne så vælge at lave nedenstående i php.

function redirect($url, $text, $timeout) {
    $timeoutsecs = $timeout/1000;
    printf('<div class="fulltextbox" align="center"><b>%s</b><br><br>Du bliver automatisk sendt videre om %s sekunder, hvis ikke så klik <a href="%s">HER</a></div>',$text, $timeoutsecs, $url);
    printf('<script language="JAVASCRIPT">window.setTimeout("Redirect()", %s);function Redirect() {location.href="%s"}</script>', $timeout, $url);
  }
Avatar billede bgo Nybegynder
25. juli 2005 - 14:08 #6
jaw:

jeg kan prøve at se om det gør som forventet, men lidt irriterende hvis der ikke er noget der svarer til response.redirect. Det er iøvrigt heller ikke meningen der skal noget som helst output til browseren når jeg skal bruge det. Et eksempel på brug:

opret.php - viser en form, hvor bruger indtaster data. Submit sender bruger til insert.php

insert.php - checker at alle felter fra opret.php er fyldt ud, og indsætter data i database. Hvis felter mangler udfyldelse, sendes bruger tilbage til opret. Er alt ok sendes bruger til oprettet.php

oprettet.php - fortæller bruger at oprettelsen er foretaget, samt yderligere instruktioner.


mr. chaos:

Som du sikkert kan se af ovenstående, er det ikke brugbart med en tidsbestemt redirection ;) Men ellers tak for dit foreslag :)
Avatar billede bgo Nybegynder
25. juli 2005 - 14:12 #7
åh, iøvrigt et spørgsmål til jaw, omkring header("Location.."): vil det blive udført sekventielt? altså, kan jeg være 100% sikker på at linier i mit script der står før linien med header-instruktionen bliver udført først?
Avatar billede mr_chaos Praktikant
25. juli 2005 - 14:49 #8
Ja, et PHP script udføres sekventielt, så du kan være 100% sikker på at tingene bliver udført i den rækkefølge du skriver dem i.
Efter din redirect header kan det være smart at have en die eller exit for at sikre at scriptet ikke kører videre.
Avatar billede bgo Nybegynder
25. juli 2005 - 15:07 #9
ok, tak mr chaos :)

Hvis I lige smider et svar, får I point :)
Avatar billede mr_chaos Praktikant
25. juli 2005 - 15:11 #10
Argh, fedt.
Nu fatter jeg så hvorfor jeg aldrig før har fået nogle point :p.
Avatar billede bgo Nybegynder
25. juli 2005 - 15:19 #11
hehe ja, jeg får ikke mulighed for at give point før et indlæg er markeret som et svar ;) Venter lige på svar fra jaw så deler I pointene :)
Avatar billede jaw Nybegynder
25. juli 2005 - 20:07 #12
Åh ja, at dele 15 point kan jo næsten være lige meget, men her er da et svar...
Avatar billede jaw Nybegynder
25. juli 2005 - 20:35 #13
Takker :)
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