Avatar billede mc.lucifer Praktikant
14. november 2003 - 21:13 Der er 20 kommentarer og
1 løsning

validere user inden <form>

Kan man ikke gøre dette
<?
If ($adduser)
{
If ($submitrule==1)
{echo "<form action=\"http://www.domæne.dk/index.php?Side=createuser.php\" method=\"post\">";}
else
{echo "<script language=\"javascript\">alert('bla bla bla')</script>";}
}
?>

Jeg vil gerne validere om brugeren har accepteret reglerne unden han bliver oprettet, men har han ikke det skal han kunne trykke ok og gå tilbage og sætte hak i chek boxen oh trykke på formen igen.

Gider i lige kaste et blik på den ?

MC
Avatar billede rackbox Nybegynder
15. november 2003 - 11:22 #1
Jeg tror at du skal poste under script/javascript... Ikke at det ikke kan laves i PHP, men du kommer alligevel ikke udenom at bruge lidt javascript..
Avatar billede mc.lucifer Praktikant
15. november 2003 - 21:58 #2
Jo men det er jo php, Syntes jeg

Jeg skal jo have den til at chekke en var i php, at den i en if sætning så excekvere noget java script har jo ikke meget med javascipt at gøre

ellelr tager jeg helt fejl ?

MC
Avatar billede rackbox Nybegynder
15. november 2003 - 22:05 #3
i Javascript kan du gøre følgende (og det er nok den letteste metode):
<script>
function validate(){
  if (!this.document.forms[0].accept_rules.checked()){
        alert("Du har ikke accepteret reglerne");
        return false;
  } else {
        return true;
  }
}
</script>

og i din HTML skriver du

<input type=submit onClick='java script:validate()'>

På denne måde får brugeren ikke lov til at forlade siden, før den er accepteret. Tilgiv mig for eventuelle syntax-fejl, jeg er lidt rusten i javascript. Men det her kan vel klassificeres som et svar ;-)
Avatar billede mc.lucifer Praktikant
15. november 2003 - 22:08 #4
Jeg takker mange gange, du skriver at du er rusten i Javascript men jeg vil lige tilføje at jeg ikke en gang er rusten jeg har aldrig prøvet javascript sååå jeg kan ikke andet end kopiere det ind og se om det virker.

Men har du taget højde for mine varialber ?

MC
Avatar billede Slettet bruger
15. november 2003 - 22:08 #5
Husk at du stadig bør validere med PHP bagefter, da JavaScript er let at slå fra.
Avatar billede rackbox Nybegynder
15. november 2003 - 22:09 #6
Jeg har ikke taget højde for dine variabler...
Avatar billede mc.lucifer Praktikant
15. november 2003 - 22:10 #7
ja så er jeg jo lige så lost som moses ved det røde hav *S*

Gider du forsøge sådanne at jeg bare kan paste det ind, jeg er php mand og desværre ikke Javascipt

MC
Avatar billede rackbox Nybegynder
15. november 2003 - 22:12 #8
Hvordan ser din form ud, så?
Avatar billede mc.lucifer Praktikant
15. november 2003 - 22:13 #9
Paster lige hele siden ind

<?
If ($adduser)
{
If ($submitrule==1)
{echo "<form action=\"http://www.bogofan.dk/index.php?Side=createuser.php\" method=\"post\">";}
else
{echo "<script language=\"javascript\">alert('bla bla bla')</script>";}
}
?>


<table cellspacing="0" cellpadding="0" border="0">
<tr>
    <td
    style="background-color: white;
    border : 1px solid Black;
    font : bold 12px Verdana;
    color: #4169E1;
    width: 456px;
    text-align: left;
    padding-left: 5px;
    ">Opret ny bruger</td>
</tr>
</table>
<?echo $opretmsg;?>
<table cellspacing="0" cellpadding="0" border="0" style="width: 463px;">
<tr>
    <td
    style="
    border-left : 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    ">Brugernavn</td>
    <td
    style="border-right: 1px solid Black;
    border-right : 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    "><input type="text" name="Brugernavn"></td>
</tr>
<tr>
    <td
    style="
    border-left : 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    ">Password</td>
    <td
    style="border-right: 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    "><input type="text" name="Password"></td>
</tr>
<tr>
    <td
    style="
    border-left : 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    ">Rigtigt navn</td>
    <td
    style="border-right: 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    "><input type="text" name="Rigtigtnavn"></td>
</tr>
<tr>
    <td
    style="
    border-left : 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    ">Mailadresse</td>
    <td
    style="border-right: 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    "><input type="text" name="Mailadresse"></td>
</tr>
<tr>
    <td
    style="
    border-left : 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    ">Jeg ønsker at modtage nyhedsmails</td>
    <td
    style="border-right: 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    "><input type="checkbox" checked name="submitmail" value=""></td>
</tr>
<tr>
    <td
    style="
    border-left : 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    ">Jeg har læst og acceptere reglerne på B &amp; O Fan</td>
    <td
    style="border-right: 1px solid Black;
    border-bottom : 1px solid Black;
    background-color: #DCDCDC;
    font : normal 10px Verdana;
    color: black;
    padding: 5px;
    "><input type="checkbox" name="submitrule" value="1"></td>
    <input type="hidden" name="Status" value="1">
<?
$Rand=md5(uniqid(rand(), true));
echo "
<input type=\"hidden\" name=\"Unikid\" value=\"$Rand;\">
";
?>
</tr>
</table>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
    <td
    style="background-color: white;
    width: 463px;
    text-align: left;
    "><input type="submit" name="adduser" value="Opret mig som bruger" style="background-color: white; heigh:8px; font : 10px Verdana; width: 463px; color: #4169E1;"></td>
</tr>
</table>
</form>

Det er submitrule der skal være = 1 hvis den er accepteret

MC
Avatar billede rackbox Nybegynder
15. november 2003 - 22:14 #10
Nejtak.. Ikke hele siden... Bare din form.. Nå - kigger lige på det og vender tilbage om lidt..
Avatar billede mc.lucifer Praktikant
15. november 2003 - 22:15 #11
1000000000 tak

venter spændt

MC
Avatar billede rackbox Nybegynder
15. november 2003 - 22:18 #12
Humm.. Det er jo den side, folk ser, når de har trykket på knappen, ikke?
det er for sent at validere der. Det skal gøres før submit.. However:

echo "<script language=\"javascript\">alert('bla bla bla');history.back();</script>";

Virker måske i stedet for den du har skrevet oppe i toppen...
Avatar billede mc.lucifer Praktikant
15. november 2003 - 22:21 #13
Jo men min plan var at <form > ikke blev udført hvis reglerne ikke er accepteret

en løsning kunne jo selvfølgelig være at lave en createuser2.php og så der checke om den er accepteret og er den ikke så står inputtet stadig i formen men det var det jeg gerne ville undgå ved bare at chekke det på den side som folk ser

Jeg vil gerne have at hvis de ikke har accepteret kan de rette deres informationer

Håber at du / i forstå mig

MC
Avatar billede mc.lucifer Praktikant
15. november 2003 - 22:22 #14
Og det er den allerførste side folk ser når de vil oprette sig.
Avatar billede rackbox Nybegynder
15. november 2003 - 22:26 #15
Jeg plejer at lave en switch, der viser en form, hvis det er første gang du går ind på siden, og validerer input, hvis der er postet noget...
Avatar billede rackbox Nybegynder
15. november 2003 - 22:28 #16
eks
<?php
$postet_data = $_POST['postet_data'];

switch ($postet_data){
  case "yes":
      //validate data
      break;
  default:
      //do the form
}
Avatar billede mc.lucifer Praktikant
15. november 2003 - 22:31 #17
Det fatter jeg ikke meget af

Troede at det var let at lave noget med

If adduser where submitrules != 1
kør javascript
elers kør form

kan detr ikke lade sig gøre på samme side elelr skal man have fat i 2 sider

MC
Avatar billede rackbox Nybegynder
15. november 2003 - 22:33 #18
Hvornår præsenteres folk for submitrules?
Avatar billede mc.lucifer Praktikant
15. november 2003 - 22:34 #19
Ja så langt er jeg ikke kommet endnu *SS*

Men nu hvor du siger det så kunne man jo lave en side med reglerne som de så skal acceptere for at komme ind på opret bruger siden

Det var måske slet ikke så tosset en ide

Hvis det er dig lige meget vil jeg gerne bruge den ide dvs jeg lukker og slukker Bukker og skraber herfra og acceptere lige dit svar

MC
Avatar billede mc.lucifer Praktikant
15. november 2003 - 22:39 #20
takker for hjælpen

MC
Avatar billede rackbox Nybegynder
15. november 2003 - 22:43 #21
Det er jo en bragende idé;-) det er sådan jeg ville gøre! Held og lykke!
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