Avatar billede munken2 Nybegynder
15. december 2003 - 20:13 Der er 6 kommentarer

Fylde forms igen efter fejlmeddelelse

Hvordan fylder jeg mine forms igen efter jeg har skrevet en fejlmeddelse med javascript til brugeren?

Jeg må skulle definere nogle variabler og anvende session_start()
Men hvordan?
Er der nogen der har et lille eksempel?
Avatar billede thesurfer Nybegynder
15. december 2003 - 20:26 #1
kan du finde ud af at hente værdier fra form felter?
Avatar billede googolplex Novice
15. december 2003 - 20:27 #2
<input type="text" name="fornavn" value="<?php $_POST['fornavn']; ?>" />

Er det det du mener ?
Avatar billede ultragames Nybegynder
15. december 2003 - 22:09 #3
du kan også bare bruge javascript ;)...

<a href="javascript.history.go(-1)">der opstod en fejl, tilbage</a>
Avatar billede exp Juniormester
16. december 2003 - 17:59 #4
Den side der behandler post-data og finder fejlen:

<?php
  session_start();

  $_SESSION['var1'] = $_POST['var1'];
  $_SESSION['var2'] = $_POST['var2'];
  $_SESSION['var3'] = $_POST['var3'];

  //udfør hvad der skal udføres

  if($noget == true) {
    //udfør kommando
    $_SESSION['fejl'] = 0;
  } else {
    $_SESSION['fejl'] = 1;
    header('location:".$_SERVER['HTTP_REFERER']);
  }
?>


Den side der indtastes data på OG skal opsnappe de tidligere indtastede data:

<?php
  session_start();

  if(isset($_SESSION['fejl']) && $_SESSION['fejl'] == 1) {
    $var1 = $_SESSION['var1'];
    $var2 = $_SESSION['var2'];
    $var3 = $_SESSION['var3'];
  } else {
    $var1 = '';
    $var2 = '';
    $var3 = '';
  }
?>

<form method="post" action="din_fil.php">
<input type="text" id="var1" name="var1" value="<?php echo $var1; ?>" /><br />
<input type="text" id="var2" name="var2" value="<?php echo $var2; ?>" /><br />
<input type="text" id="var3" name="var3" value="<?php echo $var3; ?>" /><br />
<input type="submit" id="submit" value="Submit" />
</form>
Avatar billede thesurfer Nybegynder
16. december 2003 - 18:12 #5
hmm.. hvorfor begynd at arbejde med sessions og en ekstra side?
Jeg ville nok gøre det som googolplex skrev..

---
I ASP:

Hvis ingen af felterne må være tomme:
<%
dim fejl, item
fejl = "nej"
for each item in request.form
  if request.form(item) = "" then fejl = "ja"
next

if fejl = "ja" then %>

<form name="etellerandet">
<input type="text" name="fornavn" value="<%=request.form("fornavn")%>" />
<input type="text" name="email" value="<%=request.form("email")%>" />
</form>

<script type="text/JavaScript">
alert('Der er fejl! Du skal skrive i alle fejlter!');
</script>

<%
else
%>

Det er helt i orden.. oplysninger er gemt, blah blah blah

<% end if %>

---

Det kan ikke være meget anderledes i php.. man kan også bare nøjes med små "checks".. f.eks. checker man bare om feltet er tomt..

Pseudo eksempel:

hvis der er tomme felter
  vis formen: <input type="text" name="fornavn" value="<?php $_POST['fornavn']; ?>" />
ellers
  vis "alt ok
slut hvis
Avatar billede thesurfer Nybegynder
16. december 2003 - 18:14 #6
fejlter = felter.. men det vidste I godt :)
rettelse:

vis formen:
  <input type="text" name="fornavn" value="<?php $_POST['fornavn']; ?>" />
  <input type="text" name="email" value="<?php $_POST['email']; ?>" />
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