Avatar billede Slettet bruger
22. juli 2004 - 10:43 Der er 52 kommentarer og
2 løsninger

Flere handlinger via en formular

Hej.

Jeg har en formular hvor der indtastes en del oplysninger. Specielt i det ene felt har jeg lidt problemer med at få ind under håret hvordan det kan gøres. Jeg ved meget lidt om javascript, så jeg vil gerne give en del point for en hel løsning.

Der indtastes en email adresse i et af felterne. Den skal selvfølgelig checkes for at den er ok, så godt man nu kan gøre det.

Når den er ok, skal der genereres en MD5 checksum med 5 tal pillet ud af summen fra email adressen. Men ikke nok med det, den skal samtidig sende den genererede kode til den indtastede email adresse. Det er for at være sikker på at vedkommende bruger en gyldig email adresse. Så kan brugeren hente koden i sin mailbox og derefter indtaste den i det næste felt, og man kan derefter komme videre i formularen.

Går det godt skal et lille vindue åbne og skrive at koden er sendt til ders postbox.

Går det galt skal den så åbne det lille vindue og fortælle hvad der er galt.

Desuden skal den give en fejl eller udføre checket, hvis brugeren trykker i næste felt med musen, det har jeg set en del gøre. De bruger ikke TAB til at skifte linie med.

Kan man alt det på een gang ? Jeg starter med 60 point, men forhøjer meget gerne hvis der kommer noget rigtig brugbart ud af spørgsmålet. Og jeg her intet i mod selv at lave noget, bare jeg kan finde ud af det :-)

På forhånd mange tak.
Avatar billede yellow Nybegynder
22. juli 2004 - 10:53 #1
Du bliver nødt til at få serveren til at sende emailen - det kan du ikke i clientside javascript.
Hvilke serverside sprog har du adgang til?
Avatar billede Slettet bruger
22. juli 2004 - 11:03 #2
Jeg bruger php til det, og har vist også noget af det lavet i php. Jeg har ihvertfald et php script hvor der også sendes en mail når hele formularen er udfyldt korrekt.
Avatar billede Slettet bruger
22. juli 2004 - 11:06 #3
På denne side har jeg en test opstilling af det hele: http://biograf.uups.dk/

Hvis du trykker på en by på kortet og derefter på en film i venstre side, der ikke er gul, så får du bestillingsformularen frem. Der kan du/I så se hvad det er jeg vil.
Avatar billede yellow Nybegynder
22. juli 2004 - 11:39 #4
ok, jeg vil foreslå dette:
Du har en knap et sted ved "e-mail kode" feltet. Denne knap hedder "hent kode" el.lign.
Ved tryk på denne knap åbner du en popup til en php side (emailkode.php) og du sender den indtastede email med til denne php side.
Php-siden skal så køre emailen gennem en MD5 algoritme og sende koden til email-adressen. I samme popup kan den så udskrive "at koden er sendt til ders postbox" eller "fortælle hvad der er galt".

Du kan så i javascript køre samme md5 algoritme og så sammenligne resultaterne.

Problemet er dog, at så snart du anvender client-side til at lave sammenligningen, er det forholdsvis nemt for en bruger at se hvad der foregår og "hacke" sig igennem ved selv at lave MD5 beregningen...
Avatar billede Slettet bruger
22. juli 2004 - 12:06 #5
Der er jo sådan set check på alle felterne som det er nu, undtaget det felt med kode.

Problemet er, at i nogle postsystemer kan brugerne bare skrive deres navn og ikke email adressen. De skriver så deres navn @postsystem.dk :-) og det virker for det meste ikke, men bliver ikke sorteret fra som en fejl. Derfor skulle der lige en kode på.

Om folk selv kan udregne koden er ligegyldigt, for de får jo ikke en bekræftelse på deres bestilling, hvis ikke postkassen virker.

Det var for at undgå at skulle vente på at udfylde alle felter før fejlmeddelsernekommer. Sådan er det nu. Jeg ville gerne gøre det lidt smartere, men det kan man så ikke, hvis man ikke kan sende den mail uden at skulle lave extra krykknapper. Kan man ikke kalde mailsiden.php med javascriptet og overføre mail variablen dertil ? så det popper op automatisk når man skifter til næste felt.

Når du på formularen som den er nu trykker send og ikke har udfyldt et felt eller forkert mail, så kommer der en fejlmeddelse, så det er ikke rigtig en ændring du foreslår :-) KOden kan jo så også valideres der ved tryk på send.

Jeg vil have noget smartere ;-)
Avatar billede roenving Novice
22. juli 2004 - 12:43 #6
-- det farlige yellow skriver om, er at andre nd den aktuelle og dermed uønskede kan se koden, hvis du sender den fladt ...

Så du skal lave al din kontrol af rigtigheden server-side, og så generere en kode af (ret få) tilfældige tal og bogstaver, som skal indtastes som kontrol af, at det i virkeligheden er den rigtige, som har fået bekræftelsen ...

Så det smartere kan du kun ved genbrug af dine email-adresser og koder, så man ikke ved senere bestillinger skal igennem samme nummer, evt. vha. en cookie, som du kan bruge til at forudfylde felter for brugeren !-)
Avatar billede Slettet bruger
22. juli 2004 - 13:18 #7
Den kode der genereres kan KUN brugesd med lige netop den ene mail adresse. Til gængæld skal man ikke hente koden mere end en gang, med mindre men bruger en anden mail adresse. Kontrol checket er over mail adressen igen. Så det er vist ikke farligt ;-) Men tak  fordi I gør opmærksom på det. I andre tilfælde ville det måske være farligt. Er er det KUN for at sikre sig at mail adressen virkelig virker og ikke andet.
Avatar billede roenving Novice
22. juli 2004 - 13:22 #8
Lad være med at sende md5-koden, send en simpelt genereret f.eks. 6- eller 8-'cifret' kode med en blanding af tilfældige tal og bogstaver ...
Avatar billede Slettet bruger
22. juli 2004 - 13:22 #9
Kan man lave en javascript popup der henter en *.php fil ? Hvis man kan, hvordan gør man så ? Så kan jeg måske finde ud af at lege videre derfra, sikkert ved at bede om mere hjælp hen ad vejen :) Jeg ved altså for lidt om det java script til rigtig at kunne lave noget selv.
Avatar billede Slettet bruger
22. juli 2004 - 13:26 #10
Det er et udtag ad den lange streng der kommer - f. eks. 3,5 - der betyder gå 3 pladser frem og udtag de næste 5 tegn af md5 sum-tallet.

Og det er altså kun for at få folk til at gå i postkassen og hente koden. Sidste år havde vi ikke det på, og der var bare så mange fejl på grund af forkert mail adresse, eller fuld mailboks. Nogen af alle de fejl ville vi gerne undgå i år. Og det kan man jo netop på denne måde. Koden vil altid være den samme på den pågældende mail adresse. Det er ikke som sådan en sikkerheds foranstaltning, men for at spare os selv for en masse arbejde med at finde frem til en bestilling de ikke har fået tilsendt :-)
Avatar billede roenving Novice
22. juli 2004 - 13:27 #11
Du laver bare et alm. link med target="_blank" så kommer det som nyt vindue ...
Avatar billede roenving Novice
22. juli 2004 - 13:29 #12
-- evt. window.open("ditLink.php","nytVindue","width=400,height=300,scrollbars=yes")
Avatar billede Slettet bruger
22. juli 2004 - 13:29 #13
Hmmm, jeg skal da bruge noget script for at få den til at starte den link, ikk' ? Altså noget javascript. Det skal jo ske når man trykker på tab.
Avatar billede Slettet bruger
22. juli 2004 - 13:31 #14
nytVindue er det bare et navn, som kan være hvad som helst ?
Avatar billede yellow Nybegynder
22. juli 2004 - 13:32 #15
Jo, du kan...men det er efter min mening ikke særlig pænt at lave en masse ting og popups når brugeren ikke "forventer det"

<input type="text" name="email" onblur="window.open('blablabla');">
Avatar billede Slettet bruger
22. juli 2004 - 13:34 #16
Nej det har du ret i, men hvad dælen gør man, når folk ikke læser hvad de får at vide, og så gør noget de ikke skal. Altså - de er absolut ikke sikre på at deres postboks virker. Hvis de overholdt betingelserne, var der slet ingen problemer ;-)
Avatar billede roenving Novice
22. juli 2004 - 13:41 #17
nytVindue er 'bare' et navn, men altså også en html-identifier, som du ikke kan se nogensomhelst steder, så den skal overholde regler for den slags, hvilket bl.a. betyder, at window.open fejler, hvis der er et mellemrum i !-)
Avatar billede Slettet bruger
22. juli 2004 - 13:47 #18
Nu har jeg sat dette ind:

      <td nowrap align="right">Lærers e-mail:</td>
      <td><input type="text" name="email" onblur="window.open("phpinfo.php","nytVindue","width=250,height=150,scrollbars=yes") value="<?php echo $_SESSION['email']; ?>" size="50">
      </td>

i den eksisterende linie. Altså har jeg sat onblur="window.open("phpinfo.php","nytVindue","width=250,height=150,scrollbars=yes")  ind der.

Men det giver nogle fejl om jeg vil debug og en header alredy sendt. Og den popper ikke op, så der må mangle noget til at få den frem når jeg trykker på TAB for linie skift.
Avatar billede Slettet bruger
22. juli 2004 - 13:48 #19
jeg har set jeg havde glemt ;  -men det hjalp ikke.
Avatar billede roenving Novice
22. juli 2004 - 13:50 #20
onblur='window.open("phpinfo.php","nytVindue","width=250,height=150,scrollbars=yes");'
Avatar billede Slettet bruger
22. juli 2004 - 13:57 #21
Yep,det virkede. Jeg blev helt forskrækket :-) Kan man tilføje en luk vindue i det nye vindue, så dem der har fået kode bare kan lukke det ved flere bestillinger.

Og nu må i hellere lave et svar hver, så jeg kan komme ud af det når jeg er tilfreds :-) Men nu er det jo først jeg kan komme til at rode. Jeg skal jo have den mailsend del pillet ud af en større fil for at bruge den for sig selv. Desværre havde/har jeg ikke lært at lave pip i funktioner, så det er lidt noget rod.
Avatar billede Slettet bruger
22. juli 2004 - 14:14 #22
Det der window.open er det ikke en windows eller IE ting ? Det virker nemlig ikke i Firefox, og så virker det sikkert heller ikke på andre browsere. Det var ikke så godt.
Avatar billede yellow Nybegynder
22. juli 2004 - 15:10 #23
window.open burde også virke i firefox.

Jeg sad og legede lidt mere med selve valideringen.
I eksemplet bliver koden bare udskrevet i stedet for email'et. Du skal så i din bestil.php hente "validatedEmail" feltet i stedet for "Email".

***test.html***
<script type="text/javascript">
  function validateEmail( myForm ){
    window.open("test.php?email="+myForm.email.value,"nytVindue","width=250,height=150,scrollbars=yes");
  }
</script>
<form>
  <input type="hidden" name="validatedEmail">
  <input type="text" name="email" onblur="validateEmail(this.form);">
  <input type="submit" name="btnSubmit" value="submit form" disabled>
</form>
***/test.html***

***test.php***
<?php
session_start();
if( $emailcode != "" ){
  if( $HTTP_SESSION_VARS['md5Code'] != md5($emailcode) ){
    echo "Forkert kode";
  }
  else{
    ?>
    <script type="text/javascript">
        window.opener.document.forms[0].validatedEmail.value = "<?echo $HTTP_SESSION_VARS['email']?>";
        window.opener.document.forms[0].btnSubmit.disabled = false;
        window.close();
    </script>
    <?
  }
}
else{
  $code = $random_password = makeRandomPassword();
  $md5Code = md5( $code );
  $HTTP_SESSION_VARS['md5Code'] = $md5Code;
  $HTTP_SESSION_VARS['email'] = $_GET['email'];
   
  //email $code variablen, her er den bare echo'et i stedet
  //*******************************************************
  echo "Her er din kode: " . $code;
  //*******************************************************
   
  ?>
    <form method="post">
      Indtast din kode fra din email: <input type="text" name="emailcode"><br>
      <input type="submit" value="Valider">   
    </form> 
  <?
}
 
function makeRandomPassword(){
  $salt = "abchefghjkmnpqrstuvwxyz0123456789";
  srand((double)microtime()*1000000);
  $i = 0;
  while ($i <= 5) {
          $num = rand() % 33;
          $tmp = substr($salt, $num, 1);
          $pass = $pass . $tmp;
          $i++;
  }
  return $pass;

?>
***/test.php***
Avatar billede Slettet bruger
22. juli 2004 - 15:25 #24
Ahemm, nu ligger den på siden som test.html og jeg har fået første del til at virke. Når jeg så kopierer koden over i det nye felt, så laver den en ny kode. Det er vist ikke meningen, eller ? Den skal vel sige ok eller forkert, men det er ´måske ikke lagt ind.
Avatar billede Slettet bruger
22. juli 2004 - 15:28 #25
Den laver også en NY kode hvergang. Når det er md5 sum af samme email, vil den altid være den samme. Hvorfor laver den en ny kode hvergang ?
Avatar billede Slettet bruger
22. juli 2004 - 15:30 #26
Det er nok det her der gør det:

function makeRandomPassword(){
  $salt = "abchefghjkmnpqrstuvwxyz0123456789";
  srand((double)microtime()*1000000);
Avatar billede yellow Nybegynder
22. juli 2004 - 15:57 #27
ja, det var bare et eksempel hvor email'en skal valideres hver gang.
Avatar billede Slettet bruger
22. juli 2004 - 16:15 #28
Nu har jeg fået lavet koden, men jeg mangler lige at få check til at virke på det. Gider du lige se på det ? Og igen, lav nogle svar begge to, så jeg kan komme herfra igen når jeg er færdig :-)

Her er det jeg bruger til at lave koden - også hvis andre vil lege:

først indtastet i test.html

<?php
  $code = generate_pincode($_GET['email']);

  echo "Her er din kode: " . $code;
?>

og funktionen:

<?php
function generate_pincode($str) {
list($user,$host) = explode("@",$str);
if (!$str) return false;
elseif (!ereg("@",$str)) exit("Email fejl");
elseif (!$user) return false;
elseif (eregi("[^a-z0-9.-_]",$user)) exit("Email fejl");
elseif (!getmxrr($host, $mx)) exit("Email fejl");
else {
$str = substr(md5($str),3,5);
}
    return $str;
}
?>

Den laver den rigtige kode som jeg vil have den. Jeg kan bare ikke lige hitte ud af at validere.
Avatar billede yellow Nybegynder
22. juli 2004 - 16:38 #29
Ok, hvis du nu bruger samme test.html som jeg postede før, så modificer test.php med din nye pincode funktion og lav en knap som brugeren kan trykke på for at få tilsendt koden. Hvis han allerede har koden fra en tidligere mail kan han bare bruge den.

<?php
session_start();


if( $emailcode != "" ){
  if( $HTTP_SESSION_VARS['md5Code'] != md5($emailcode) ){
    echo "Forkert kode";
  }
  else{
    ?>
    <script type="text/javascript">
        window.opener.document.forms[0].validatedEmail.value = "<?echo $HTTP_SESSION_VARS['email']?>";
        window.opener.document.forms[0].btnSubmit.disabled = false;
        window.close();
    </script>
    <?
  }
}
else{
  $code = generate_pincode($_GET['email']);

  $md5Code = md5( $code );
  $HTTP_SESSION_VARS['md5Code'] = $md5Code;
  $HTTP_SESSION_VARS['email'] = $_GET['email'];
   
  if($_GET['action']=="sendmail"){
    //email $code variablen, her er den bare echo'et i stedet
    //*******************************************************
    echo "Her er din kode: " . $code;
    //******************************************************* 
  }
   
  ?>
    <form method="post">
      Indtast din kode fra din email: <input type="text" name="emailcode"><br>
      <input type="submit" value="Valider">   
    </form> 
    <form method="get" action="test.php">
      <input type="hidden" name="action" value="sendmail">
      <input type="hidden" name="email" value="<?echo $HTTP_SESSION_VARS['email']?>">
      <input type="submit" value="Send mig koden"
    </form>
  <?
}
 
  function generate_pincode($str) {
    list($user,$host) = explode("@",$str);
    if (!$str) return false;
    elseif (!ereg("@",$str)) exit("Email fejl");
    elseif (!$user) return false;
    elseif (eregi("[^a-z0-9.-_]",$user)) exit("Email fejl");
    elseif (!getmxrr($host, $mx)) exit("Email fejl");
    else {
      $str = substr(md5($str),3,5);
    }
    return $str;
  }

?>
Avatar billede Slettet bruger
22. juli 2004 - 18:47 #30
roenving - lav lige et svar.
Avatar billede Slettet bruger
23. juli 2004 - 08:02 #31
Hmm, jeg har lidt problemer:

I bestillingsformularen står dette:

<input type="text" name="email" onblur='window.open("SendKode.php","BeskedVindue","width=500,height=300,scrollbars=yes");' value="<?php echo $_SESSION['email']; ?>" size="50">

Men hvordan får jeg det over i den fil SendKode ?

Jeg har prøvet at udskrive variablen således:

session_start();
echo "email session " . $_SESSION['email'] . "\n\n";
echo "email post " . $_POST['email'] . "\n\n";
echo "email get " . $_GET['email'] . "\n\n";
echo "email Sessions VAR " . $HTTP_SESSION_VARS['email'];

men den skriver ingenting. Altså får jeg ikke email adressen over i SendKode.php

Hvordan gør man det så det virker hvergang ?
Avatar billede Slettet bruger
23. juli 2004 - 09:15 #32
Aha. Jeg opdagede lige at der overhovedet ikke står noget i felterne før man har trykket på næste i bunden. Derfor er der selvfølgelig ingenting i email variablen.

Hvordan kan man så få puttet emailvariablen ind med det samme, så den kan overføres til .php filen ?
Avatar billede roenving Novice
23. juli 2004 - 09:16 #33
Hvis du starter en ny session, vil den have et nyt id, så den vil ikke finde en gamle email-adresse ...

Men hvis du nu slår den op i den database-tabel, du opbevarer dine data i, vil du jo kunne finde data frem fra den !-)

-- og window.open dur i alle javascript-versioner jeg kender !-)

Velbekomme '-)
Avatar billede Slettet bruger
23. juli 2004 - 09:20 #34
Det forstår jeg ikke. Jeg har ikke brugerens email adresse i databasen. Efter at have trykket på næste og så gå tilbage med browserens tilbageknap, så er variablerne der og email bliver så overført til SendKode.php, men det skulle jo gerne ske noget før, inden man trykker på næste.
Avatar billede yellow Nybegynder
23. juli 2004 - 09:22 #35
****************
I bestillingsformularen står dette:
<input type="text" name="email" onblur='window.open("SendKode.php","BeskedVindue","width=500,height=300,scrollbars=yes");' value="<?php echo $_SESSION['email']; ?>" size="50">
Men hvordan får jeg det over i den fil SendKode ?
****************

<input type="text" name="email" onblur='window.open("SendKode.php?email=" + this.value ,"BeskedVindue","width=1200,height=300,scrollbars=yes");' value="<?php echo $_SESSION['email']; ?>" size="50">
Avatar billede Slettet bruger
23. juli 2004 - 09:24 #36
Det er dæleme bare iorden :-) Tusind tak til jer begge.
Avatar billede roenving Novice
23. juli 2004 - 09:30 #37
Tak for point ;~}
Avatar billede Slettet bruger
23. juli 2004 - 11:26 #38
Jeg lukkede vist for tidligt :-) Nå, men jeg opretter gerne et nyt med points, hvis I gider hjælpe med følgende:

Nu virker det med at sende koden til mailboksen.

Så skal jeg jo have valideret den, og nu har jeg samme problem igen med at få variablen ind så den kan checkes fra denne linie:

<input type="text" name="kode" value="<?php echo $_SESSION['kode']; ?>" size="50">

Her skal der jo ikke åbnes et visnue men kaldes en funktion med check_pincode($email, $kode)  - men det kan jeg ikke få til at samarbejde. Den kommer med debug muligheder, ligemeget hvad jeg prøver.

Hvis du sender en løsning, så skriv hav du skal have for det i points, så opretter jeg fluks et :)
Avatar billede yellow Nybegynder
23. juli 2004 - 12:45 #39
Ok, hvis du på ser mit svar fra 22/07-2004 16:38:29 - har du prøvet at køre det eksempel? I den indgår valideringen allerede.

Den udskriver koden (det du skal erstatte med din mail-del) og beder om bruger input (koden der er sendt).

Hvis den indtastede kode matcher, aktiverer den submit-knappen i hoved-formen, samt sætter feltet "validatedEmail" til den validerede email-adresse.

Når du så kommer videre til din bestil.php fil skal du læse emailen fra "validatedEmail" feltet. Hvis dette felt er tomt, er den ikke blevet valideret.
Hvis feltet indeholder en email, er den blevet valideret med den rigtige kode.

Tilpas selv efter behov...
Avatar billede Slettet bruger
23. juli 2004 - 12:48 #40
Den har altid været tom, så derfor har jeg aldrig kunne se om valideringen virkede.

Det var altså i dit test.htm og test.php

Når jeg kopierede koden ind som blev sendt, fjernede denbare koden og den anden side var der heller ikke skrevet noget i. Så det forstår jeg ikke rigtigt.
Avatar billede Slettet bruger
23. juli 2004 - 12:52 #41
Det passer ikke helt. Den fjerner ikke email adressen og man kan ikke fjerne den, så forsvinder koden også :) Men selvom jeg skriver en forkert kode sker der ikke noget, så jeg kan altså ikke lige gennemskue det.
Avatar billede Slettet bruger
23. juli 2004 - 12:53 #42
Du kan prøve det af selv her:  http://biograf.uups.dk/test.html
Avatar billede yellow Nybegynder
23. juli 2004 - 13:59 #43
Ja, kunne godt se, der gik noget galt.

Din kode funktion laver nogle return false og exits som åbenbart laver rod i det.
Prøv at fjerne din validering og så teste scriptet igen:

  function generate_pincode($str) {
//    list($user,$host) = explode("@",$str);
//    if (!$str) return false;
//    elseif (!ereg("@",$str)) exit("Email fejl");
//    elseif (!$user) return false;
//    elseif (eregi("[^a-z0-9.-_]",$user)) exit("Email fejl");
//    elseif (!getmxrr($host, $mx)) exit("Email fejl");
//    else {
      $str = substr(md5($str),3,5);
//    }
      return $str;
  }
Avatar billede yellow Nybegynder
23. juli 2004 - 14:01 #44
( eller prøv med en test@test.com - din validering godtager ikke.dk )
Avatar billede Slettet bruger
23. juli 2004 - 14:06 #45
Ok, nu har jeg prøvet at kommentere de linier ud, og jeg kan ikke se nogen forskel her. Der sker stadig ikke noget, heller ikke med .com domæner som email.
Avatar billede yellow Nybegynder
23. juli 2004 - 14:09 #46
OK! der er også noget andet galt i din version kan jeg se.
http://www.psconsult.dk/test.html
Den virker efter hensigten, right?

Koden som den ligger der er:

***test.html***
<script type="text/javascript">
  function validateEmail( email ){
      window.open("test.php?email="+email,"nytVindue","width=350,height=300,scrollbars=yes");
  }
</script>
<form>
  <input type="hidden" name="validatedEmail">
  <input type="text" name="email" onblur="validateEmail(this.value);">
  <input type="submit" name="btnSubmit" value="submit form" disabled>
</form>
***/test.html***

***test.php***
<?php
session_start();

if( $emailcode != "" ){
  if( $HTTP_SESSION_VARS['md5Code'] != md5($emailcode) ){
    echo "Forkert kode";
  }
  else{
    ?>
    <script type="text/javascript">
        window.opener.document.forms[0].validatedEmail.value = "<?echo $HTTP_SESSION_VARS['email']?>";
        window.opener.document.forms[0].btnSubmit.disabled = false;
    </script>
    Koden er godkendt<br>
    <a href="#" onclick="window.close();">Luk vinduet</a>
    <?
  }
}
else{
  $code = generate_pincode($_GET['email']);

  $md5Code = md5( $code );
  $HTTP_SESSION_VARS['md5Code'] = $md5Code;
  $HTTP_SESSION_VARS['email'] = $_GET['email'];
   
  if($_GET['action']=="sendmail"){
    //email $code variablen, her er den bare echo'et i stedet
    //*******************************************************
    echo "Her er din kode: " . $code;
    //******************************************************* 
  }
   
  ?>
    <form method="post">
      Indtast din kode fra din email: <input type="text" name="emailcode"><br>
      <input type="submit" value="Valider">   
    </form> 
    <form method="get" action="test.php">
      <input type="hidden" name="action" value="sendmail">
      <input type="hidden" name="email" value="<?echo $HTTP_SESSION_VARS['email']?>">
      <input type="submit" value="Send mig koden"
    </form>
  <?
}
 
  function generate_pincode($str) {
//    list($user,$host) = explode("@",$str);
//    if (!$str) return false;
//    elseif (!ereg("@",$str)) exit("Email fejl");
//    elseif (!$user) return false;
//    elseif (eregi("[^a-z0-9.-_]",$user)) exit("Email fejl");
//    elseif (!getmxrr($host, $mx)) exit("Email fejl");
//    else {
      $str = substr(md5($str),3,5);
//    }
      return $str;
  }

?>
***/test.php***
Avatar billede Slettet bruger
23. juli 2004 - 14:11 #47
Din link virker - det andet har jeg ikke set endnu. Ville lige glæde dig.

Jeg tror også helt sikkert på at der er fejl i mit. Det undrer ikke.

Men nu skal jeg jo ikke bruge dem på den måde, men i to inputfelter i en formular. Jeg ser på det om lidt, så hører du mere :-)
Avatar billede Slettet bruger
23. juli 2004 - 14:20 #48
Hmmmm, nu har jeg udskiftet begge filer med dine, og det virker ikke.

Jeg har simpelthen kopieret begge filer over og overskrevet de gamle, så det burde jo virke på samme måde. Det har vel ikke noget med servere at gøre ? Windows / Linux ?
Avatar billede Slettet bruger
23. juli 2004 - 14:31 #49
Jeg kører på den server:

Apache/2.0.48 (Linux/SuSE)
php 4.3.3

Men det har vel ikke noget at sige ?
Avatar billede yellow Nybegynder
23. juli 2004 - 14:40 #50
Prøv at lave en
$emailcode = $_POST['emailcode'];

helt i toppen af scriptet...
Avatar billede Slettet bruger
23. juli 2004 - 14:42 #51
Så virker den. Hvorfor skulle det være nødvendigt i min fil og ikke i din ?

Du havde måske glemt at få den med :)
Avatar billede Slettet bruger
23. juli 2004 - 14:44 #52
Tusind tak for hjælpen. Værsgod:

http://www.eksperten.dk/spm/522565

:)
Avatar billede yellow Nybegynder
23. juli 2004 - 14:47 #53
"Så virker den. Hvorfor skulle det være nødvendigt i min fil og ikke i din ?"

Hmm ved det faktisk ikke (er ikke php-haj). Må vere serveren eller noget.
Anyway, det er nok også pænere at hente den via $_POST['emailcode'] i stedet for bare at gå ud fra den er i $emailcode :-)
Avatar billede Slettet bruger
23. juli 2004 - 14:50 #54
Aha,jamen det er den jo netop ikke normalt, så det er nok derfor :-)

Nu skal jeg så se om jeg kan få det til at virke det rigtige sted. Der skal jo ikke poppe noget op. Gys :)
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