Avatar billede matfri Nybegynder
11. februar 2005 - 18:45 Der er 10 kommentarer

Gå tilbage og bevar felters indhold.

Jeg er ved at lave en hjemmeside, med et tilmeldingssystem til et stævne, men jeg har et problem. Jeg vil gerne have det sådan at når folk opretter sig, skal der et script tjekke om dataerne er i felterne, og hvis de ikke er det skal man komme tilbage til siden hvor man indtastede oplysningerne, hvor feltet bliver makeret. Jeg har fundet frem til hvordan felterne skal markeres. Men mit problem er hvordan jeg går tilbage, uden datane forsvinder, og stadig, fremhæve feltet, som mangler at blive udfyldt! Håber i forstår mig...:o)
Avatar billede jakobdo Ekspert
11. februar 2005 - 19:03 #1
Du kan evt benytte denne metode (har jeg selv brugt)

<form action="<? echo $_SERVER['PHP_SELF']"; ?>" method="POST">
Fornavn:<input type="text" name="fornavn" value="<? echo $_POST['fornavn']?>">
<input type="submit" name="opret" value="Opret bruger">
</form>
Avatar billede voyager_dfs Nybegynder
11. februar 2005 - 19:29 #2
TIP:
<?=$_POST['fornavn'];?>
virker også og minder at skriver ;)
Avatar billede Slettet bruger
11. februar 2005 - 20:34 #3
Det er en god ide enten at gemme i en SESSION eller sende brugeren tilbage med en masse GET variabler.
Jeg mener selv at SESSIONS er nemmest.
Avatar billede jakobdo Ekspert
11. februar 2005 - 20:37 #4
Hvorfor ikke bruge POST og så PHP_SELF?
Avatar billede voyager_dfs Nybegynder
11. februar 2005 - 22:46 #5
øv ser ikke ud til han svare lige nu.. gad jeg ellers godt ha hørt hvorfor ikke :)
Avatar billede matfri Nybegynder
12. februar 2005 - 01:51 #6
Sorry, har ikke været hjemme...men jeg kunne godt tænke mig at vide hvordan man vil putte 10 variabler ind i en session? Gerne eksempel!
Avatar billede matfri Nybegynder
12. februar 2005 - 01:53 #7
hvilket script vi i bruge tilat gå tilbage med? jeg har brugt: java script: history.go(-1); Kan det bruges?
Avatar billede olebole Juniormester
12. februar 2005 - 06:45 #8
<ole>

Du kan gemme mange variabler i en session:

<?
  session_start();

  print "<xmp>";
  var_dump($_SESSION);
  print "</xmp>";

  $_SESSION["value A"] = "val a";
  $_SESSION["value B"] = "val b";
  $_SESSION["value C"] = "val c";
?>

- eller måske endnu bedre i et array:

<?
  session_start();

  print "<xmp>";
  var_dump($_SESSION);
  print "</xmp>";

  $myArr = array("val a", "val b", "val c");
  $_SESSION["sessArr"] = $myArr;
?>

Load en af filerne - og reload siden, så du kan se resultatet af den session, du har fået sat.

/mvh
</bole>
Avatar billede jakobdo Ekspert
12. februar 2005 - 08:30 #9
Matfri, det kommer også meget an på hvad du vil!
Snakker vi flere siden som skal udfyldes med data, så er sessions nok vejen frem.
Snakker vi en side, hvor brugeren så submitter, og er der fejl, så skal de rettes inden det er ok, så kan du "nøjes" med POST og PHP_SELF!
Avatar billede matfri Nybegynder
13. februar 2005 - 02:00 #10
Det er bare en side, men hele php coden ligger i en fil. for så når man submmitter, går den til den samme side bare med ?mode=ok efter i url'en, men hvordan kommer jeg tilbage, altså til urlen, uden ?mode=ok, og stadig bevare variablernes værdi? jeg har noget kode her...:
<?php
include("../config.php");
include("password.php");
mysql_connect($host, $user, $pass);
mysql_select_db($db);
if(!$lang){
if(!$mode) { ?>

<table>
<form action="opret.php?mode=ok" method="post">
<tr>
<td>Gruppe:</td>
<td><select name="kategori" class="input2" onchange="location.href='?valg='+this.value;;">
    <option value="0" <? if($valg == "0"){echo"selected";}?>>V&aelig;lg -></option>
    <option value="1" <? if($valg == "1"){echo"selected";}?>>Optimist: A</option>
    <option value="2" <? if($valg == "2"){echo"selected";}?>>Optimist: B</option>
    <option value="3" <? if($valg == "3"){echo"selected";}?>>Optimist: C</option>
    <option value="4" <? if($valg == "4"){echo"selected";}?>>Europajolle</option>
    <option value="5" <? if($valg == "5"){echo"selected";}?>>405'er</option>
    <option value="6" <? if($valg == "6"){echo"selected";}?>>F&oslash;lgeb&aring;d</option>
</select>
</td></tr>

<tr>
<td>Kodeord:</td>
<td><input type="password" name="kodeord" size="25" maxlength="25" class="input2"></td>
</tr>
<tr>
<td><b>Skipper:</b></td>
</tr>
<tr>
<td>Fornavn:</td>
<td><input type="text" name="fornavn" value="" size="25" maxlength="25" class="input2"></td>
</tr>
<tr>
<td>Efternavn:</td>
<td><input type="text" name="efternavn" value="" size="25" maxlength="25" class="input2"></td>
</tr>

<td>Adresse:</td>
<td><input type="text" name="adresse" value="" size="25" maxlength="25" class="input2"></td>
</tr>
<tr>
<td>Postnr:</td>
<td colspan="1"><input type='text' name='postnr' value='' size='6' class="input2">
By:
<input type='text' name='bynavn' value='' size='13' class="input2"></td>
</tr>
<tr>
<td>Email:</td>
<td><input type='text' name='email' value='' size='25' class="input2"></td>
</tr>
<tr>
<td>Forsikrings nummer::</td>
<td><input type='text' name='fornr' value='' size='25' class="input2"></td>
</tr>
<tr>
<td>Forsikrings selskab:</td>
<td><input type='text' name='selskab' value='' size='25' class="input2"></td>
</tr>
<tr>
<td>K&oslash;n:</td>
<td><select size="1" name="kon" class="input2">
<option selected>v&aelig;lg k&oslash;n</option>
<option value="dreng">Dreng</option>
<option value="pige">Pige</option>
</select></td>
</tr>
<tr>
<td>Sejl nr.(eks. DEN xxxx):</td>
<td><input type="text" name="sejlnr" size="25" class="input2"></td>
</tr>
<tr>
<td>F&oslash;dselsdag (DDMM&Aring;&Aring;):</td>
<td><input type="text" name="foedear" size="25" maxlength="10" class="input2"></td>
</tr>
<tr>
<td>Sejlklub:</td>
<td><input type="text" name="sejlklub" size="25" class="input2"></td>
</tr>
<? if($valg=="5"){?>
<tr><td><b>Gast:</b></td>
</tr>
<tr>
<td>Fornavn:</td>
<td><input type="text" name="gfornavn" value="" size="25" class="input2"></td>
</tr>
<tr>
<td>Efternavn:</td>
<td><input type="text" name="gefternavn" value="" size="25" class="input2"></td>
</tr><? } ?>
<tr>
<tr>
<td><input type="submit" value="Tilmeld" class="knap" mig="YES">&nbsp;&nbsp;<input type="reset" value="Slet" class="knap"></td>
<td></form></td></tr>
</table>
<? }?>
<?if($mode == "ok") {

$a = mysql_query("SELECT * FROM cup WHERE mail='$email'");
$a1 = mysql_num_rows($a);
$b = mysql_query("SELECT * FROM cup WHERE sejlnr LIKE '$sejlnr'");
$b1 = mysql_num_rows($b);
// mktime(time, minut, sekund, måned, dag, år))
if (mktime() >= mktime(14, 00, 00, 6, 16, 2005)){

?>Det er forsent at tilmelde sig! Kontakt: webmaster@jdm2005.dk<?
}elseif(!$kodeord){

echo"Du glemte at skrive kodeordet!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$fornavn and $kategori < "6"){

echo"Husk fornavnet!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$efternavn and $kategori < "6"){

echo"Husk efternavnet!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$adresse and $kategori < "6"){

echo"Skriv din adresse!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$postnr and $kategori < "6"){

echo"Skriv dit postnr.!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$bynavn and $kategori < "6"){

echo"Skriv din byes navn!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif($a1 == 1 and $kategori < "6"){

echo"Mail adressen eksistere i forvejen";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif($b1 == 1 and $kategori < "6"){

echo"Sejlnummeret eksistere i forvejen!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$email and $kategori < "6"){

echo"Du skal skrive en email adresse!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$fornr and $kategori < "6"){

echo"Husk forsikringsnr!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$selskab and $kategori < "6"){

echo"Husk forsikrings selskab!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif($kon == "" and $kategori < "6"){

echo"V&aelig;lg et K&oslash;n!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$sejlnr and $kategori < "6"){

echo"Du glemte at skrive dit sejlnr!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$foedear and $kategori < "6"){

echo"Du glemte at skrive dit f&oslash;dsels &aring;r!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$gfornavn and $kategori=="5"){

echo"Husk gastens fornavn!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$gefternavn and $kategori=="5"){

echo"Husk gastens efternavn!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}elseif(!$sejlklub){

echo"Du glemte at skrive din sejlklubs navn!";
?><br><a href="java script: history.go(-1);">Klik her for at gå tilbage</a><?
}else{
$id = md5(time());
$kryp = md5($kodeord);
$time = time();
$dato = date("d.m.Y");
mysql_query("INSERT INTO cup (`id`, `kategori` , `kode` , `fornavn` , `sejlnr` , `foedselsdag` , `dato` , `time` , `sejlklub` , `efternavn` , `adresse` , `postnr` , `byen` , `kon` , `mail`, `gfornavn`, `gefternavn`, `fornr`, `selskab`)
VALUES('$id', '$kategori', '$kryp','$fornavn','$sejlnr','$foedear','$dato','$time','$sejlklub','$efternavn','$adresse','$postnr','$bynavn','$kon','$email','$gfornavn','$gefternavn','$fornr','$selskab')")or die (mysql_error());
?><META http-equiv="REFRESH" content="0; url=deltagerliste.php"><?

}}

PS. synes det er lidt svært at forklare! men prøver:o)
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