Avatar billede starter Praktikant
05. maj 2004 - 17:19 Der er 8 kommentarer og
1 løsning

Felt i formular skal udfyldes

Hej med jer

Jeg har nedenstående formular, som næsten virker perfekt. Jeg kunne dog god tænke mig, at nogle af felterne SKAL være udfyldt for at brugeren kan få lov at sende beskeden. Jeg kender intet til php og har derfor behov for hjælpe til at skrive koden samt information om hvor jeg skal sætte den ind... Derudover kunne jeg godt tænke mig at advarslen "E-mail adressen "$email" er ikke en korrekt e-mail adresse, prøv venligst igen..." kom i en dialogbox og ikke på siden.

Håber der er nogen som kan/vil hjælpe mig :o)

koden ser sådan ud:

<?php

include 'header.php';

if($email != "") {
    if(eregi("([[:alnum:]\.\-]+)(\@[[:alnum:]\.\-]+\.+)", $email)) {
    print $head;
?>
    Hej <?php echo $name ?>.<br><br>Tak for nedenstående besked - vi vender tilbage snarest muligt.<br><br>
    Nave: <?php echo $name ?><br>
    Adresse: <?php echo $adresse ?><br>
    Post nr.: <?php echo $post_nr ?><br>
    By: <?php echo $by ?><br><br>
    E-mail: <?php echo $email ?><br><br>
    Besked: <?php echo $besked ?><br><br><br>
    <a href="kontakt.php">Retur</a>
<?php

    $subject = "xxx";
    $sendto = "min@mail.dk";
    $header = "From: $email";
mail($sendto,$subject,"Fra: $name\nAdresse: $adresse\nPost nr.: $post_nr\nBy: $by\nE-mail: $email\n\nBesked: $besked\n");

    print "";
    print "<p><left><form>
</form></left><p><p>";
    print $tail;
    exit();
    } else { print"<left><font color=AC2A3C><h2>E-mail adressen &quot;$email&quot; er ikke en korrekt e-mail adresse, prøv venligst igen...</h2></font></left>";
    }
}
echo $head;
?>

<blockquote>
<form action="<?php echo $PHP_SELF ?>" method="POST">
<table align="left" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>
<td width="104">Navn :</td><td colspan="3" width="386">
<input type="text" name="name" size="48" tabindex="1"></td>
<td width="386" rowspan="5" valign="top">
<b>Adresse:</b><p><b>XXX</b><br>
Adresse<br>
post nr. By<br>
Tlf.<br>
e-mail: <a href="mailto:min@mail.dk">min@mail.dk</a><p>
<a href="http://kort.eniro.dk">Sådan finder du frem til os.</a></td></tr><tr>
<td width="104">Adresse :</td><td colspan="3" width="386">
<input type="text" name="adresse" size="48" tabindex="2"></td></tr><tr>
<td width="104">Postnr. :</td><td width="61">
<input type="text" name="post_nr" size="4" tabindex="3"></td><td width="40">
<p align="left">By :</td><td width="282">
<input type="text" name="by" size="33" tabindex="4"></td></tr><tr>
<td width="104">e-mail :</td><td colspan="3" width="386">
<input type="text" name="email" size="48" tabindex="5"></td></tr><tr>
<td valign="top" width="104">Besked :</td><td colspan="3" width="386">
<textarea name="besked" cols=48 rows="12" tabindex="6"></textarea></td></tr>

</tr><tr>
<td></td><td valign="top" width="876" colspan="5">
<input type="submit" value="Send" tabindex="7"><input type="reset" value="Reset" tabindex="8"></td></tr>

</table>

</form></blockquote>
<?php
echo $tail
?>
Avatar billede starter Praktikant
05. maj 2004 - 19:18 #1
Nu skal I endelig ikke råbe i munden på hinanden :o)

Vil I ikke fortælle mig hvorfor ingen svarer på mit spørgsmål?
Avatar billede roenving Novice
05. maj 2004 - 19:56 #2
Der er jo nok ikke så mange herinde ...

-- og så er det jo hammernemt at løse et javascript-spørgsmål, hvis javascript er noget man er ekspert på, men det er man jo ikke nødvendigvis, når man kigger i php-kategorien !-)
Avatar billede starter Praktikant
05. maj 2004 - 20:01 #3
OK, sorry! Det var ikke for at fornærme nogen, blot et - mislykket - forsøg på at være lidt morsom :o)

Du mener altså, at jeg skal flytte spørgsmålet til javascripts?
Avatar billede roenving Novice
05. maj 2004 - 20:06 #4
Sådan kan du lave en client-side validering ...

-- bemærk, at jeg har ændret navnefeltets navn, da jeg ellers skulle længere omkring for at finde indholdet !-)

...

<blockquote>

<script type="text/javascript">
function valider(f){
  var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
  var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.["+t+"]{2}["+t+"]*$","i");
  if(!f.email.value.match(regexp)){
    alert('E-mail adressen "'+ f.email.value + '" er ikke en korrekt e-mail adresse, prøv venligst igen...');
    f.email.focus();
    return false;
  }
/*Denne blok kan du kopiere det antal gange du har behov for, feltnavne skal bare erstattes*/
  if(f.navn.value==""){
    alert('Du skal udfylde navnefeltet');
    f.navn.focus();
    return false;
  }
/*Blok slut*/
}
</script>

<form action="<?php echo $PHP_SELF ?>" method="POST" onsubmit="return valider(this);">
<table align="left" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>
<td width="104">Navn :</td><td colspan="3" width="386">
<input type="text" name="navn" size="48" tabindex="1"></td>

...
Avatar billede starter Praktikant
05. maj 2004 - 20:17 #5
HURRA! Du kunne jo godt, selvom jeg havde klokket lidt i det.... Tusind tak og det virker perfekt ;o)
Avatar billede starter Praktikant
05. maj 2004 - 20:18 #6
Gider du sende et svar?
Avatar billede roenving Novice
05. maj 2004 - 20:33 #7
Ja, det var et tilfælde, at jeg kiggede på dit spørgsmål, jeg kan nemlig intet php, men er rimeligt hjemme i javascript !-)

-- og velbekomme '-)
Avatar billede roenving Novice
05. maj 2004 - 20:55 #8
-- og tak for point ;~}
Avatar billede starter Praktikant
05. maj 2004 - 20:57 #9
Velbekomme og endnu engang tak for hjælpen :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