Avatar billede bravida Nybegynder
24. oktober 2006 - 20:38 Der er 28 kommentarer og
2 løsninger

Ikke gyldig email

I min mailformel vil jeg gerne havde det sådan, at hvis der ikke blev indtastet en gyldig mailadresse kunne man sende mailen.
Hvordan indsætter jeg dette i min formel.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Kontakt os</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/styles.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {
    color: #666666;
    font-weight: bold;
    font-size: 12px;
}
.style3 {font-size: 24px}
-->
</style>
</head>

<body>
<table width="100%"  border="0" class="layout">
  <tr>
    <td colspan="2" class="top style1"><div align="center"><br>
        <span class="style3">Kontakt os</span> </div></td>
  </tr>
  <tr>
    <td class="top1">&nbsp;</td>
    <td class="top1"><a href="index.php"><strong>FORSIDEN</strong></a></td>
  </tr>
  <tr>
    <td class="left">&nbsp;</td>
    <td class="middle"><p>&nbsp;</p>      <blockquote>
      <form action="" method="post" name="kontakt_os" id="kontakt_os">
        <table width="700" border="0" cellspacing="0" cellpadding="2">
          <tr>
            <td width="112"><strong>Fulde navn: </strong></td>
            <td width="380"><input name="Navn" type="text" id="Navn" size="30"></td>
          </tr>
          <tr>
            <td><strong>E-Mail Adresse: </strong></td>
            <td><input name="adresse" type="text" id="adresse" size="30"></td>
          </tr>
          <tr>
            <td><strong>Besked:</strong></td>
            <td><textarea name="besked" cols="50" rows="15" id="besked"></textarea></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="send" type="submit" id="send" value="Send">                <input name="Reset" type="reset" id="Reset" value="Reset"></td>
          </tr>
        </table>
      </form>
    </blockquote>      <p>&nbsp;</p>      <p>&nbsp;</p></td>
  </tr>
</table>
<?php
$bruger = "root";
$pass = "dreamweaver";
$db = "cms";
$host = "localhost";
$connection = mysql_connect("$host","$bruger","$pass");
mysql_select_db("$db", $connection);

if($_POST['send']){
$result = mysql_query("SELECT * FROM email LIMIT 0,1");
$row = mysql_fetch_array($result);
$din_mail = $row[email];
$subject = "Besked fra hjemmesiden";
$header = "From: ".$_POST['Navn']." <".$_POST['adresse'].">";
$besked = $_POST['besked'];
mail($din_mail, $subject, $_POST['besked'], $header);
echo "Din mail er nu sendt";
}
?>
</body>
</html>
Avatar billede udvikler Nybegynder
24. oktober 2006 - 21:16 #1
if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $din_mail)) {
    echo "Ugyldig mail";
}
Avatar billede bravida Nybegynder
24. oktober 2006 - 21:33 #2
Har prøvet at indsætte din kode som vis, måske forkert men dur ikke.

}
if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $din_mail)) {
    echo "Ugyldig mail";
}
?>
</body>
</html>
Avatar billede bravida Nybegynder
24. oktober 2006 - 21:36 #3
PS: Har set i mit spørgsmål at det ikke er korrekt formuleret.

Hvis man ikke indtaster en gyldig mail i formlen, kan man ikke få lov at sende den.
Avatar billede udvikler Nybegynder
24. oktober 2006 - 21:55 #4
den skal jo se således ud:

<?php
$bruger = "root";
$pass = "dreamweaver";
$db = "cms";
$host = "localhost";
$connection = mysql_connect("$host","$bruger","$pass");
mysql_select_db("$db", $connection);

if($_POST['send']){
$result = mysql_query("SELECT * FROM email LIMIT 0,1");
$row = mysql_fetch_array($result);
$din_mail = $row[email];
$subject = "Besked fra hjemmesiden";
$header = "From: ".$_POST['Navn']." <".$_POST['adresse'].">";
$besked = $_POST['besked'];

if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $din_mail)) {
    echo "Ugyldig mail";
}else{
mail($din_mail, $subject, $_POST['besked'], $header);
echo "Din mail er nu sendt";
}
}
?>
Avatar billede bravida Nybegynder
24. oktober 2006 - 22:07 #5
aco: har indsat efter din henvisning. Men den sender stadig mail uden at jeg har indtastet noget i feltet emailadresse
Avatar billede udvikler Nybegynder
24. oktober 2006 - 22:10 #6
prøv med

<?php
$bruger = "root";
$pass = "dreamweaver";
$db = "cms";
$host = "localhost";
$connection = mysql_connect("$host","$bruger","$pass");
mysql_select_db("$db", $connection);

if($_POST['send']){
$result = mysql_query("SELECT * FROM email LIMIT 0,1");
$row = mysql_fetch_array($result);
$din_mail = $row[email];
$subject = "Besked fra hjemmesiden";
$header = "From: ".$_POST['Navn']." <".$_POST['adresse'].">";
$besked = $_POST['besked'];

if (eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $din_mail)) {
    mail($din_mail, $subject, $_POST['besked'], $header);
    echo "Din mail er nu sendt";
}else{
    echo "Ugyldig mail";
}
}
?>
Avatar billede bravida Nybegynder
24. oktober 2006 - 22:20 #7
sender stadigvæk uden at jeg har indtastet noget
Avatar billede bravida Nybegynder
25. oktober 2006 - 09:59 #8
-aco- tror du har misfårstået mit spørgsmål. I min formel er der 3 felter hvor man indtaster: Fulde navn - E-mail adresse - Besked
Hvis man så ikke har udfyldt en gyldig emailadresse, bliver beskeden ikke sendt.
I nogle formler er der en rød stjerne ud for hvad der skal udfyldes.

Det har ikke noget at gøre med den emailadresse som beskeden skal sendes til.
Avatar billede sw_red_6 Nybegynder
25. oktober 2006 - 10:04 #9
så kan du vel bruge $_POST['adresse'] i stedet for $din_mail i den eregi?
sadan her:
if (eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $_POST['adresse']))
Avatar billede bravida Nybegynder
25. oktober 2006 - 10:16 #10
sw_red_6: Har lige prøvet at udskifte med dit script. Kan sende mail uden at der er indtastet noget i formlen emailadresse, men modtager så ingen mail
Avatar billede sw_red_6 Nybegynder
25. oktober 2006 - 10:24 #11
øhh hvis ikke du modtager nogen mail så har den vel heller ikke sendt nogen.
Kan du ikke lige komme med den kode du har nu så vi kan se hvordan det ser du nu?
Avatar billede bravida Nybegynder
25. oktober 2006 - 10:33 #12
Her er hele koden. Den sender mail, selvom jeg ikke har indtastet emailadresse i formlen.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Kontakt os</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/styles.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {
    color: #666666;
    font-weight: bold;
    font-size: 12px;
}
.style3 {font-size: 24px}
-->
</style>
</head>

<body>
<table width="100%"  border="0" class="layout">
  <tr>
    <td colspan="2" class="top style1"><div align="center"><br>
        <span class="style3">Kontakt os</span> </div></td>
  </tr>
  <tr>
    <td class="top1">&nbsp;</td>
    <td class="top1"><a href="index.php"><strong>FORSIDEN</strong></a></td>
  </tr>
  <tr>
    <td class="left">&nbsp;</td>
    <td class="middle"><p>&nbsp;</p>      <blockquote>
      <form action="" method="post" name="kontakt_os" id="kontakt_os">
        <table width="700" border="0" cellspacing="0" cellpadding="2">
          <tr>
            <td width="112"><strong>Fulde navn: </strong></td>
            <td width="380"><input name="Navn" type="text" id="Navn" size="30"></td>
          </tr>
          <tr>
            <td><strong>E-Mail Adresse: </strong></td>
            <td><input name="adresse" type="text" id="adresse" size="30"></td>
          </tr>
          <tr>
            <td><strong>Besked:</strong></td>
            <td><textarea name="besked" cols="50" rows="15" id="besked"></textarea></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="send" type="submit" id="send" value="Send">                <input name="Reset" type="reset" id="Reset" value="Reset"></td>
          </tr>
        </table>
      </form>
    </blockquote>      <p>&nbsp;</p>      <p>
      <?php
$bruger = "duo2_dk";
$pass = "Musphxdm";
$db = "duo2_dk";
$host = "localhost";
$connection = mysql_connect("$host","$bruger","$pass");
mysql_select_db("$db", $connection);

if($_POST['send']){
$result = mysql_query("SELECT * FROM email LIMIT 0,1");
$row = mysql_fetch_array($result);
$din_mail = $row[email];
$subject = "Besked fra hjemmesiden";
$header = "From: ".$_POST['Navn']." <".$_POST['adresse'].">";
$besked = $_POST['besked'];

if (eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $din_mail)) {
    mail($din_mail, $subject, $_POST['besked'], $header);
    echo "Din mail er nu sendt";
}else{
    echo "Ugyldig mail";
}
}
?>
    </p></td>
  </tr>
</table>
</body>
</html>
Avatar billede sw_red_6 Nybegynder
25. oktober 2006 - 10:43 #13
prøv det her:
if($_POST['send']){
$result = mysql_query("SELECT email FROM email LIMIT 0,1");
$row = mysql_fetch_array($result);
$din_mail = $row[email];
$fra_email = $_POST['adresse'];
$subject = "Besked fra hjemmesiden";
$header = "From: ".$_POST['Navn']." <".$fra_email.">";
$besked = $_POST['besked'];

if (eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $fra_email)) {
    mail($din_mail, $subject, $_POST['besked'], $header);
    echo "Din mail er nu sendt";
}else{
    echo "Ugyldig mail";
}
}

Du kan evt. prøve at lave en echo eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $fra_email) for at se hvad den skriver.
Avatar billede bravida Nybegynder
25. oktober 2006 - 10:46 #14
Skal lige havde opdateret, da jeg har måttet rette mine koder, det var en fejl at de var med.
Avatar billede bravida Nybegynder
25. oktober 2006 - 11:25 #15
Den gennemfører stadig send og jeg modtager også mail, selvom der ikke er skrevet noget.
Avatar billede sw_red_6 Nybegynder
25. oktober 2006 - 11:26 #16
hvad bliver der udskrevet hvis du prøver at lave den echo jeg foreslår?
Avatar billede bravida Nybegynder
25. oktober 2006 - 11:32 #17
Du kan evt. prøve at lave en echo eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $fra_email) for at se hvad den skriver.
Stadig det samme.
Avatar billede sw_red_6 Nybegynder
25. oktober 2006 - 11:34 #18
Prøv med det her:
if (eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$", $fra_email))
Avatar billede bravida Nybegynder
25. oktober 2006 - 11:48 #19
Den gennemfører stadig send og jeg modtager også mail, selvom der ikke er skrevet noget.
Avatar billede bravida Nybegynder
25. oktober 2006 - 12:11 #20
sw_red_6: Det virker. if($_POST['send']){
$result = mysql_query("SELECT email FROM email LIMIT 0,1");
$row = mysql_fetch_array($result);
$din_mail = $row[email];
$fra_email = $_POST['adresse'];
$subject = "Besked fra hjemmesiden";
$header = "From: ".$_POST['Navn']." <".$fra_email.">";
$besked = $_POST['besked'];

if (eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $fra_email)) {
    mail($din_mail, $subject, $_POST['besked'], $header);
    echo "Din mail er nu sendt";
}else{
    echo "Ugyldig mail";
}
}

Jeg havde glemt at rette koden i test som jeg afprøver med.
Tusind tak for hjælpen. Læg lige et svar.
PS: Hvis jeg gerne vil havde det til at stå med fed: "Ugyldig mail"; hvad skriver jeg.
Avatar billede bravida Nybegynder
25. oktober 2006 - 12:23 #21
Vedr. fed skrift er klaret.

sw_red_6:  Du lægger lige et svar.
Avatar billede sw_red_6 Nybegynder
25. oktober 2006 - 12:33 #22
vil sige at -aco- også skal have point. Det var hans løsning, jeg rettede bare lidt i den.
Avatar billede bravida Nybegynder
25. oktober 2006 - 12:38 #23
sw_red_6: jo han skal bare lige lægge et svar også, og jeg forhøjer mine point så i får lige meget.
Avatar billede bravida Nybegynder
25. oktober 2006 - 12:53 #24
-aco-: Læg lige igen et svar.
Avatar billede udvikler Nybegynder
25. oktober 2006 - 16:56 #25
ja jeg mente også at $din_mail skulle ændres til $_POST['adresse']
- så ville det virker

ok, her er et svar igen..
Avatar billede udvikler Nybegynder
25. oktober 2006 - 16:57 #26
ups, her
Avatar billede bravida Nybegynder
25. oktober 2006 - 17:22 #27
Takker mange gange for hjælpen.
Avatar billede bravida Nybegynder
25. oktober 2006 - 17:25 #28
Kunne ikke få det til at virke med at forhøre point, beklager.
Avatar billede udvikler Nybegynder
25. oktober 2006 - 17:34 #29
Det gør skam intet. Tak for point.
Avatar billede sw_red_6 Nybegynder
26. oktober 2006 - 10:17 #30
der var ingen der bad om flere point, så ingen grund til at undskylde mht det :o)
Tak for point.
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