Avatar billede kimtheman Novice
11. oktober 2010 - 23:04 Der er 48 kommentarer og
1 løsning

Når 2 e-mails felter skal være ens?

Hej
Nogen der ved hvordan det skrives (Og ja selvfølgelig er der det), når og hvis man har 2 felter i sin formmail, hvorpå man vil tjekke, om der bliver skrevet 2 ens e-mails adresser.
(Er ikke php nørd (faktisk ikke ret god), så skær det gerne ud i pap fra a til z.
På forhånd tak.
Avatar billede DFH86 Nybegynder
11. oktober 2010 - 23:13 #1
Du bør nok overveje at kigge på noget JavaScript i stedet. Der er ingen grund til at lade serveren validere om to tekstfelter indeholder den samme streng. Det lader man derimod klienten om, og dertil skal du bruge JavaScript.

Her er et simpelt eksempel med JavaScript / HTML (Du skal så bare implementere det sammen med din php-kode):

<script type="text/javascript" language="JavaScript">
<!--
//--------------------------------
// This code compares two fields in a form and submit it
// if they're the same, or not if they're different.
//--------------------------------
function checkEmail(theForm) {
    if (theForm.EMAIL_1.value != theForm.EMAIL_2.value)
    {
        alert('Those emails don\'t match!');
        return false;
    } else {
        return true;
    }
}
//-->
</script>




<form action="../" onsubmit="return checkEmail(this);">
<p> Enter Your Email Address:<br>
<input type="TEXT" name="EMAIL_1" size="20" maxlength="20">
<br>
Please Confirm Your Email Address:
<br>
<input type="TEXT" name="EMAIL_2" size="20" maxlength="20">
<br>
<input type="SUBMIT" value="Send Address!"></p>
</form>
Avatar billede w13 Novice
11. oktober 2010 - 23:43 #2
Du kan teste i PHP på modtagersiden med koden:

if ($_POST['EMAIL_1'] != $_POST['EMAIL_2']) {
    // Nægt adgang el. giv en fejlmeddelelse el. redirect el. noget =)
}


Men som DFH86 skriver, så er det bedst at gøre det med JavaScript. Brugeren sendes ikke til en ny side og skal sendes tilbage igen hvis e-mailene ikke matcher. Kun hvis du virkelig vil sikre dig at ingen "snyder" og skriver 2 forskellige e-mails (for JavaScript kan jo slås fra), bør du bruge PHP.

Men det er vel mest for brugerens egen skyld, at du laver testen?
Avatar billede kimtheman Novice
12. oktober 2010 - 00:05 #3
Hvis min form så hedder fjernsupport og mine felter hedder mail og mail1
Hvad skal der så præcist stå? (bliver lidt forviret af
function checkEmail(theForm) {
    if (theForm.EMAIL_1.value != theForm.EMAIL_2.value)

Da jeg ikke ved hvor "theForm" passer ind? Eller om dette skal skiftes ud med min form navn?

Har også et <script type="text/javascript" language="JavaScript">

</script>

Foroven i forvejen (mellem <head> og </head> Skal det så flettes ind i der?

Php tjekker allerede nu felter osv og viser en side hvis tingene ikke bliver opfyldt, så det ville vel ikke være så værst at flette din kode ind
Det jeg vil bruge det til gør at det er vigtigt brugeren skriver den rigtige email da jeg ellers ikke kan komme i kontakt med vedkommende. Og derfor skal brugeren have mulighed for at tjekke at det nu også er skrevet rigtigt.

Php tjekker allerede nu og nogle krav bliver opfyldt ellers vises en besked osv.
Så det ville vel ikke være så værst at flette din kode ind w13?

Men hvorhenne i koden ca. skulle man smide den kode stum?
Avatar billede w13 Novice
12. oktober 2010 - 00:28 #4
Læg id="email1" og id="email2" på dine form-felter. Så kan du i JavaScripten rette:

if (theForm.EMAIL_1.value != theForm.EMAIL_2.value)


til:

if (document.getElementById('email1').value != document.getElementById('email2').value)


Du behøver ikke at flette dine 2 JavaScript-koder sammen. Du må dog gerne, hvis du synes, det bliver pænere. I øvrigt kan language="JavaScript" fjernes, da ingen browsere behøver det længere.

Du burde kunne smide min PHP-kode ind ca. hvorsomhelst i din egen PHP-kode. Men du må vise mig den, hvis jeg skal kunne sige noget mere præcist. :)
Avatar billede kimtheman Novice
12. oktober 2010 - 00:37 #5
Vil hellere bruge php for som du selv siger kan java være slået fra.

Min kode ser ud alla:

<?php
if (isset($_POST['submit']))
{
if (!empty($_POST['navn']) && // tjek, at der er skrevet et navn
!empty($_POST['vejnavn']) &&    // tjek, at der er skrevet et vejnavn
!empty($_POST['postnr']) &&    // tjek, at der er skrevet et postnr
!empty($_POST['email']) &&    // tjek, at der er skrevet en e-mail-adresse
!empty($_POST['tlf']) &&  // tjek, at der er skrevet et subject
!empty($_POST['besked']) &&  // tjek, at der er skrevet en besked
// her følger sikringen mod spambotter
!strpos($_POST['navn'], ".dk") &&  // tjek, at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['navn'], "@") && // tjek, at der ikke er et @ i "navn"
!strpos($_POST['email'], "mitdomæne.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
!eregi("\r",$_POST['navn']) &&  // tjek, at der ikke er "vogn-retur" i "navn"
!eregi("\n",$_POST['navn']) &&  // tjek, at der ikke er "linjeskift" i "navn"
!eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
!eregi("\n",$_POST['email']))  // tjek, at der ikke er "linjeskift" i "email"

// er alt ok, fortsættes med afsendelse af mailen
{
  $headers="From: ".$_POST['pc2']."<".$_POST['email'].">";
  if (@$_POST['customer_copy'])
  {
  $headers .= "\r\nBcc: ".$_POST['email'];
  }
$message = "Min besked\n\nDine Info:".strip_tags($_POST[''])."\n";
$message .= "Navn : ".strip_tags($_POST['navn'])."\n";
$message .= "Vejnavn : ".strip_tags($_POST['vejnavn'])."\n";
$message .= "Post,nr : ".strip_tags($_POST['postnr'])."\n";
$message .= "Tlf : ".strip_tags($_POST['tlf'])."\n";
$message .= "E-mail : ".strip_tags($_POST['email'])."\n\n";
$message .= "Ønsker Hjælp Til :\n".strip_tags($_POST['menu'])."\n\n";
$message .= "Din Besked:\n".strip_tags($_POST['besked'])."\n";

if (@mail("minemail.dk", strip_tags($_POST['emne']),
$message, $headers))
  {
  echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
  }
  else
  {
  echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
  }
}
else
{
  echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
}
}

?> <p><a href="/" target="_parent">Gå Tilbage Til Forsiden</a></p>
Avatar billede w13 Novice
12. oktober 2010 - 09:22 #6
I de kode henviser du til $_POST['email'] flere gange, men hedder det ikke $_POST['email_1'] og $_POST['email_2']?
Avatar billede kimtheman Novice
12. oktober 2010 - 16:43 #7
Jo det kommer det vel til når jeg får det lavet færdigt. Nu er det jo et der virker, men % den funktion der gør den tjekker email. Og den funktion savner jeg. Derfor.
Avatar billede w13 Novice
12. oktober 2010 - 16:54 #8
I see!

<?php
if (isset($_POST['submit']))
{
if (!empty($_POST['navn']) && // tjek, at der er skrevet et navn
!empty($_POST['vejnavn']) &&    // tjek, at der er skrevet et vejnavn
!empty($_POST['postnr']) &&    // tjek, at der er skrevet et postnr
!empty($_POST['email']) &&    // tjek, at der er skrevet en e-mail-adresse
!empty($_POST['tlf']) &&  // tjek, at der er skrevet et subject
!empty($_POST['besked']) &&  // tjek, at der er skrevet en besked
// her følger sikringen mod spambotter
!strpos($_POST['navn'], ".dk") &&  // tjek, at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['navn'], "@") && // tjek, at der ikke er et @ i "navn"
!strpos($_POST['email'], "mitdomæne.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
!eregi("\r",$_POST['navn']) &&  // tjek, at der ikke er "vogn-retur" i "navn"
!eregi("\n",$_POST['navn']) &&  // tjek, at der ikke er "linjeskift" i "navn"
!eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
!eregi("\n",$_POST['email']) && // tjek, at der ikke er "linjeskift" i "email"
$_POST['email_1'] == $_POST['email_2'])  // tjek, at de 2 e-mails er ens

// er alt ok, fortsættes med afsendelse af mailen
{
  $headers="From: ".$_POST['pc2']."<".$_POST['email'].">";
  if (@$_POST['customer_copy'])
  {
  $headers .= "\r\nBcc: ".$_POST['email'];
  }
$message = "Min besked\n\nDine Info:".strip_tags($_POST[''])."\n";
$message .= "Navn : ".strip_tags($_POST['navn'])."\n";
$message .= "Vejnavn : ".strip_tags($_POST['vejnavn'])."\n";
$message .= "Post,nr : ".strip_tags($_POST['postnr'])."\n";
$message .= "Tlf : ".strip_tags($_POST['tlf'])."\n";
$message .= "E-mail : ".strip_tags($_POST['email'])."\n\n";
$message .= "Ønsker Hjælp Til :\n".strip_tags($_POST['menu'])."\n\n";
$message .= "Din Besked:\n".strip_tags($_POST['besked'])."\n";

if (@mail("minemail.dk", strip_tags($_POST['emne']),
$message, $headers))
  {
  echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
  }
  else
  {
  echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
  }
}
else
{
  echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
}
}

?> <p><a href="/" target="_parent">Gå Tilbage Til Forsiden</a></p>
Avatar billede kimtheman Novice
12. oktober 2010 - 17:24 #9
De echo meddelser jeg har. Der ved jeg ikke helt hvornår denne ville fremkomme
"E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!"?
Den er vel til ingen nytte eller?

Derudover skulle jeg gerne have flettet det du skrev tidligere med, at hvis emails ikke er ens, skal den komme med en meddelse.

Som du kan se har jeg forsøgt lidt, men ved sgu ikke helt præcist, hvordan det skal skrives før det virker
(se nedenstående)

if (@mail("minemail.dk", strip_tags($_POST['emne']),
$message, $headers))

elseif ($_POST['email'] != $_POST['email1']) {
    // Nægt adgang el. giv en fejlmeddelelse el. redirect el. noget =)
echo "<p>Email forkert</p>";
}
else
  {
  echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
  }
  else
  {
  echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
  }
}
else
{
  echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
}
}
Avatar billede w13 Novice
12. oktober 2010 - 17:54 #10
Jo, den er meget god. E-mails kan til tider være lidt drilske, og så er det godt, at den informerer brugeren.

Og i den kode, jeg lige skrev til dig, havde jeg flettet det ind! :)
Det er linjen:

$_POST['email_1'] == $_POST['email_2'])  // tjek, at de 2 e-mails er ens
Avatar billede kimtheman Novice
12. oktober 2010 - 19:19 #11
Ja okay. Men vil have den præcis til at sige at f.eks. email er forkert. Men der hvor jeg har skrevet det i echo må stå forkert for det virker ikke.
Det med email er drilske der siger den jo "Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!"
Så kan ikke finde ud af hvornår den ville sige "E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!" Da den altid siger det andet. Det går den også nu hvis man skriver forkert email og der skal den jo sige email i de to felter er ikke ens.
Avatar billede w13 Novice
12. oktober 2010 - 20:23 #12
Du kan prøve med:

<?php
if (isset($_POST['submit'])) {
   
    // tjek, at der er skrevet et navn
    if (!empty($_POST['navn']) {
        $error = 'Du mangler at skrive et navn!';
    }
   
    // tjek, at der er skrevet et vejnavn
    if (!empty($_POST['vejnavn']) {
        $error = 'Du mangler at skrive et vejnavn!';
    }
   
    // tjek, at der er skrevet et postnr
    if (!empty($_POST['postnr']) {
        $error = 'Du mangler at skrive et postnr.!';
    }
   
    // tjek, at der er skrevet en e-mail-adresse
    if (!empty($_POST['email']) {
        $error = 'Du mangler at skrive en e-mail-adresse!';
    }
   
    // tjek, at der er skrevet et subject
    if (!empty($_POST['tlf']) {
        $error = 'Du mangler at skrive et telefonnr.!';
    }
   
    // tjek, at der er skrevet en besked
    if (!empty($_POST['besked']) {
        $error = 'Du mangler at skrive en besked!';
    }
   
    // tjek, at e-mail'en er skrevet korrekt
    if (!strpos($_POST['email'], ".dk" || !strpos($_POST['email'], "@") || !strpos($_POST['email'], "mitdomæne.dk")) {
        $error = 'Din e-mail er ikke korrekt!';
    }
   
    // tjek, at de 2 e-mails er ens
    if ($_POST['email_1'] != $_POST['email_2']) {
        $error = 'De 2 e-mails skal være ens!';
    }

// er alt ok, fortsættes med afsendelse af mailen
if (!isset($error)) {
    $headers="From: ".$_POST['pc2']."<".$_POST['email'].">";
    if (@$_POST['customer_copy']) {
        $headers .= "\r\nBcc: ".$_POST['email'];
    }
    $message  = "Min besked\n\nDine Info:".strip_tags($_POST[''])."\n";
    $message .= "Navn : ".strip_tags($_POST['navn'])."\n";
    $message .= "Vejnavn : ".strip_tags($_POST['vejnavn'])."\n";
    $message .= "Post,nr : ".strip_tags($_POST['postnr'])."\n";
    $message .= "Tlf : ".strip_tags($_POST['tlf'])."\n";
    $message .= "E-mail : ".strip_tags($_POST['email'])."\n\n";
    $message .= "Ønsker Hjælp Til :\n".strip_tags($_POST['menu'])."\n\n";
    $message .= "Din Besked:\n".strip_tags($_POST['besked'])."\n";
   
    if (@mail("minemail.dk", strip_tags($_POST['emne']), $message, $headers)) {
        $message = 'Tak for din henvendelse. Jeg svarer så hurtigt som muligt.';
    } else {
        $error  = 'E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!';
    }
}

if (isset($error)) {
    echo '<p class="error">' . $error . '</p>';
}
if (isset($message)) {
    echo '<p class="message">' . $message . '</p>';
}
?> <p><a href="/" target="_parent">Gå Tilbage Til Forsiden</a></p>
Avatar billede kimtheman Novice
12. oktober 2010 - 21:50 #13
Hvis jeg bruger det du skriver og sætter mine egne navne ind osv skriver den
"Parse error: syntax error, unexpected '{' in /customers/mitdomæne.dk/mitdomæne.dk/httpd.www/fjernsupportafsendes.php on line 20"
Avatar billede kimtheman Novice
12. oktober 2010 - 21:52 #14
Og dette er linje 19 og 20
"// tjek, at der er skrevet et navn
    if (!empty($_POST['navn']) {"
Avatar billede w13 Novice
12. oktober 2010 - 22:33 #15
Det er rigtigt, jeg missede en masse ')':

<?php
if (isset($_POST['submit'])) {
   
    // tjek, at der er skrevet et navn
    if (!empty($_POST['navn'])) {
        $error = 'Du mangler at skrive et navn!';
    }
   
    // tjek, at der er skrevet et vejnavn
    if (!empty($_POST['vejnavn'])) {
        $error = 'Du mangler at skrive et vejnavn!';
    }
   
    // tjek, at der er skrevet et postnr.
    if (!empty($_POST['postnr'])) {
        $error = 'Du mangler at skrive et postnr.!';
    }
   
    // tjek, at der er skrevet en e-mail-adresse
    if (!empty($_POST['email'])) {
        $error = 'Du mangler at skrive en e-mail-adresse!';
    }
   
    // tjek, at der er skrevet et subject
    if (!empty($_POST['tlf'])) {
        $error = 'Du mangler at skrive et telefonnr.!';
    }
   
    // tjek, at der er skrevet en besked
    if (!empty($_POST['besked'])) {
        $error = 'Du mangler at skrive en besked!';
    }
   
    // tjek, at e-mail'en er skrevet korrekt
    if (!strpos($_POST['email'], ".dk") || !strpos($_POST['email'], "@") || !strpos($_POST['email'], "mitdomæne.dk")) {
        $error = 'Din e-mail er ikke korrekt!';
    }
   
    // tjek, at de 2 e-mails er ens
    if ($_POST['email_1'] != $_POST['email_2']) {
        $error = 'De 2 e-mails skal være ens!';
    }

// er alt ok, fortsættes med afsendelse af mailen
if (!isset($error)) {
    $headers="From: ".$_POST['pc2']."<".$_POST['email'].">";
    if (@$_POST['customer_copy']) {
        $headers .= "\r\nBcc: ".$_POST['email'];
    }
    $message  = "Min besked\n\nDine Info:".strip_tags($_POST[''])."\n";
    $message .= "Navn : ".strip_tags($_POST['navn'])."\n";
    $message .= "Vejnavn : ".strip_tags($_POST['vejnavn'])."\n";
    $message .= "Post,nr : ".strip_tags($_POST['postnr'])."\n";
    $message .= "Tlf : ".strip_tags($_POST['tlf'])."\n";
    $message .= "E-mail : ".strip_tags($_POST['email'])."\n\n";
    $message .= "Ønsker Hjælp Til :\n".strip_tags($_POST['menu'])."\n\n";
    $message .= "Din Besked:\n".strip_tags($_POST['besked'])."\n";
   
    if (@mail("minemail.dk", strip_tags($_POST['emne']), $message, $headers)) {
        $message = 'Tak for din henvendelse. Jeg svarer så hurtigt som muligt.';
    } else {
        $error  = 'E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!';
    }
}

if (isset($error)) {
    echo '<p class="error">' . $error . '</p>';
}
if (isset($message)) {
    echo '<p class="message">' . $message . '</p>';
}
?> <p><a href="/" target="_parent">Gå Tilbage Til Forsiden</a></p>
Avatar billede kimtheman Novice
12. oktober 2010 - 22:54 #16
Nu skriver den:
"Parse error: syntax error, unexpected $end in /blablaosv.php on line 89

Og på Linje 89 står der
"</html>"
Så ved ik lige hvad der sker?
Avatar billede w13 Novice
12. oktober 2010 - 23:08 #17
Hvad står der i linjen før? Det tyder på, at der er lidt rod i } og )..
Avatar billede kimtheman Novice
12. oktober 2010 - 23:14 #18
if (isset($error)) {
    echo '<p class="error">' . $error . '</p>';
}
if (isset($message)) {
    echo '<p class="message">' . $message . '</p>';
}
?> <p><a href="/" target="_parent">Gå Tilbage Til Forsiden</a></p>
</body>
</html> (linje 89)
Avatar billede w13 Novice
12. oktober 2010 - 23:30 #19
Ah ja, der mangler bare en } lige før ?>
Avatar billede kimtheman Novice
12. oktober 2010 - 23:42 #20
Lader jeg alle felter være tomme pånær emails felter og skriver disse emails ens skriver den.
"Din e-mail er ikke korrekt!"

Og det samme gør den selv om jeg udfylder det hele.

Skal siges at jeg har ændret det til..Så det passer til mit felt navn
" // tjek, at e-mail'en er skrevet korrekt
    if (!strpos($_POST['email_1'], ".dk") || !strpos($_POST['email_1'], "@") || !strpos($_POST['email_1'], "mitdomæne.dk")) {
        $error = 'Din e-mail er ikke korrekt!';
Avatar billede kimtheman Novice
12. oktober 2010 - 23:43 #21
Den skulle vel også starte med at fortælle at
" // tjek, at der er skrevet et navn
    if (!empty($_POST['navn'])) {
        $error = 'Du mangler at skrive et navn!';
"?
Avatar billede w13 Novice
12. oktober 2010 - 23:57 #22
Således: :)

<?php
if (isset($_POST['submit'])) {
   
    // tjek, at der er skrevet et navn
    if (empty($_POST['navn'])) {
        $error = 'Du mangler at skrive et navn!';
    }
   
    // tjek, at der er skrevet et vejnavn
    else if (empty($_POST['vejnavn'])) {
        $error = 'Du mangler at skrive et vejnavn!';
    }
   
    // tjek, at der er skrevet et postnr.
    else if (empty($_POST['postnr'])) {
        $error = 'Du mangler at skrive et postnr.!';
    }
   
    // tjek, at der er skrevet en e-mail-adresse
    else if (empty($_POST['email_1'])) {
        $error = 'Du mangler at skrive en e-mail-adresse!';
    }
   
    // tjek, at e-mail'en er skrevet korrekt
    else if (!strpos($_POST['email_1'], ".") || !strpos($_POST['email_1'], "@") || strpos($_POST['email_1'], "mitdomæne.dk")) {
        $error = 'Din e-mail er ikke korrekt!';
    }
   
    // tjek, at de 2 e-mails er ens
    else if ($_POST['email_1'] != $_POST['email_2']) {
        $error = 'De 2 e-mails skal være ens!';
    }
   
    // tjek, at der er skrevet et subject
    else if (empty($_POST['tlf'])) {
        $error = 'Du mangler at skrive et telefonnr.!';
    }
   
    // tjek, at der er skrevet en besked
    else if (empty($_POST['besked'])) {
        $error = 'Du mangler at skrive en besked!';
    }
   
    // er alt ok, fortsættes med afsendelse af mailen
    if (!isset($error)) {
        $headers="From: ".$_POST['pc2']."<".$_POST['email'].">";
        if (@$_POST['customer_copy']) {
            $headers .= "\r\nBcc: ".$_POST['email'];
        }
        $message  = "Min besked\n\nDine Info:".strip_tags($_POST[''])."\n";
        $message .= "Navn : ".strip_tags($_POST['navn'])."\n";
        $message .= "Vejnavn : ".strip_tags($_POST['vejnavn'])."\n";
        $message .= "Post,nr : ".strip_tags($_POST['postnr'])."\n";
        $message .= "Tlf : ".strip_tags($_POST['tlf'])."\n";
        $message .= "E-mail : ".strip_tags($_POST['email'])."\n\n";
        $message .= "Ønsker Hjælp Til :\n".strip_tags($_POST['menu'])."\n\n";
        $message .= "Din Besked:\n".strip_tags($_POST['besked'])."\n";
       
        if (@mail("minemail.dk", strip_tags($_POST['emne']), $message, $headers)) {
            $message = 'Tak for din henvendelse. Jeg svarer så hurtigt som muligt.';
        } else {
            $error  = 'E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!';
        }
    }
   
    if (isset($error)) {
        echo '<p class="error">' . $error . '</p>';
    }
    if (isset($message)) {
        echo '<p class="message">' . $message . '</p>';
    }
}
?> <p><a href="/" target="_parent">Gå Tilbage Til Forsiden</a></p>
Avatar billede kimtheman Novice
13. oktober 2010 - 00:26 #23
Kanon nu ser det ud til at virke.
Synes sgu det er fedt du bare lige kan skrive sådan noget kode. Det ville jeg ønske jeg kunne. Men er ikke så skrap til Engelsk og alt derude står jo næsten på kun på engelsk.

Du får dine velfortjente point.

Nu vil jeg tilføjge nogle flere felter da der lige skal være nogle flere muligheder. Men mange tak for hjælp.
Avatar billede kimtheman Novice
13. oktober 2010 - 00:29 #24
Tænkte på om det kan lade sig gøre, og kan det betale sig, at i starten at indsætte noget JavaScript, der stor set gør det samme pånær, at sende en videre til anden side, der fortæller fejl osv.

Hvis brugerne så har slået java fra, så har man jo php til at tage over, eller kan det ikke lade sig gøre? Eller betale sig?
Avatar billede w13 Novice
13. oktober 2010 - 00:34 #25
Ja, det gør man tit på den måde! JavaScripten er for brugernes skyld. PHP'en for sidens sikkerheds skyld! :)
Avatar billede w13 Novice
13. oktober 2010 - 00:34 #26
Og tak for point! :)
Avatar billede kimtheman Novice
13. oktober 2010 - 00:37 #27
Nå okay.
Ja nu kan jeg lave hele siden færdig først i Php, så kan jeg jo altid derefter prøve at lege med det JavaScrip (Da det jo nok ikke bliver nemmere for mig end php..haha).

Kender du nogen gode sider hvor man kan selvlære sig selv til JavaScript, php osv?
Avatar billede w13 Novice
13. oktober 2010 - 00:59 #28
Naej, det er meget forskelligt, og der er overraskende få, der er rigtig gode. Men der er faktisk nogle meget gode lektioner under "Guides" her på E. Dem ku' du måske kigge lidt på. =)
Avatar billede kimtheman Novice
13. oktober 2010 - 03:12 #29
w13 har du et svar til denne.

Hvis jeg fjerner linjen "$message .= "Ønsker Hjælp Til:\n".strip_tags($_POST['menu'])."\n\n";"
Så får jeg en fejl meddelse (Linjen skal ikke bruges mere, derfor den skal væk)Og synes ikke jeg kan finde nogle andre steder hvor menu indgår.

Forbliver linjen virker det fint?

Koden"
$message .= "Min besked:".strip_tags($_POST[''])."\n";
        $message .= "Navn: ".strip_tags($_POST['navn'])."\n";
        $message .= "Vejnavn: ".strip_tags($_POST['vejnavn'])."\n";
        $message .= "Post,nr: ".strip_tags($_POST['postnr'])."\n";
        $message .= "Tlf: ".strip_tags($_POST['tlf'])."\n";
        $message .= "E-mail: ".strip_tags($_POST['email_1'])."\n\n";
        $message .= "Forslag 1: ".strip_tags($_POST['dag_forslag_1'])." kl. ".strip_tags($_POST['tid_forslag_1'])."\n\n";
        $message .= "Forslag 2: ".strip_tags($_POST['dag_forslag_2'])." kl. ".strip_tags($_POST['tid_forslag_2'])."\n\n";
        $message .= "Ønsker Hjælp Til:\n".strip_tags($_POST['menu'])."\n\n";
        $message .= "Din Besked:\n".strip_tags($_POST['besked'])."\n\n";
       
        if (@mail("minemail.dk", strip_tags($_POST['emne']), $message, $headers)) {
            $message = 'Tak for din henvendelse. Jeg svarer så hurtigt som muligt.';
        } else {
            $error  = 'E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!';
        }
    }
   
    if (isset($error)) {
        echo '<p class="error">' . $error . '</p>';
    }
    if (isset($message)) {
        echo '<p class="message">' . $message . '</p>';
    }
}
?> <p><a href="/fjernsupportkontakt.html" target="_parent">Gå tilbage og prøv igen.</a></p>
Avatar billede w13 Novice
13. oktober 2010 - 10:12 #30
Hvilken fejlmeddelelse?
Avatar billede kimtheman Novice
13. oktober 2010 - 11:18 #31
E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!

Din mail er modtaget. Du hører fra mig indenfor 24 timer. Med Venlig Hilsen : mitdomæne.dk - mit navn min adresse, mit post,nr osv. Dine Info: Navn: adsas Vejnavn: dd Post,nr: sd Tlf: d E-mail: minemail.dk Forslag 1: sd kl. sd Forslag 2: sd kl. sd Ønsker Hjælp Til: Din Besked: sdsd

Gå tilbage og prøv igen.
Avatar billede w13 Novice
13. oktober 2010 - 11:47 #32
Nå ja. Linjen:

$message = 'Tak for din henvendelse. Jeg svarer så hurtigt som muligt.';


skal være:

$msg = 'Tak for din henvendelse. Jeg svarer så hurtigt som muligt.';


Og:

if (isset($message)) {
        echo '<p class="message">' . $message . '</p>';
    }


skal være:

if (isset($msg)) {
        echo '<p class="message">' . $msg . '</p>';
    }


Jeg har rettet $message til $msg, da $message allerede var i brug i koden. Så kan vi lige se, hvad den nu siger.
Avatar billede kimtheman Novice
13. oktober 2010 - 11:54 #33
Nu skriver den
"E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!

Gå tilbage og prøv igen.
"
Avatar billede w13 Novice
13. oktober 2010 - 12:01 #34
Det betyder, at linjen:

if (@mail("minemail.dk", strip_tags($_POST['emne']), $message, $headers)) {


har nogle fejl.

Prøv at rette den til:

echo '<p>Emne: ' . strip_tags($_POST['emne']) . '</p>';
echo '<p>Message: ' . $message . '</p>';
echo '<p>Headers: ' . $headers . '</p>';

if (mail("minemail.dk", strip_tags($_POST['emne']), $message, $headers)) {


Jeg går ud fra, du indsætter en gyldig e-mail i stedet for "minemail.dk"?
Avatar billede kimtheman Novice
13. oktober 2010 - 12:20 #35
Ja indsætter gyldig email.

Nu skriver den:

Emne: MitEmne

Message: Din mail er modtaget. Du hører fra mig indenfor 24 timer. Med Venlig Hilsen : blablabl. Dine Info: Navn: test Vejnavn: test Post,nr: test Tlf: test E-mail: minemail.dk Forslag 1: test kl. test Forslag 2: test kl. test Din Besked: test.

Headers: From: mitdomænenavn Bcc: tildensendteemail.dk

E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!

Gå tilbage og prøv igen.
Avatar billede w13 Novice
13. oktober 2010 - 13:47 #36
Har du fjernet @ foran mail("...") ?
Avatar billede kimtheman Novice
13. oktober 2010 - 16:37 #37
Har både prøvet med og uden @ og stadig det samme.

"E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!

Gå tilbage og prøv igen."

Og skriver jeg
"echo '<p>Emne: ' . strip_tags($_POST['emne']) . '</p>';
echo '<p>Message: ' . $message . '</p>';
echo '<p>Headers: ' . $headers . '</p>';
" Med i så får jeg også resultat for Emne, Message og Headers. Og derefter ""E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!

Gå tilbage og prøv igen."
Avatar billede w13 Novice
13. oktober 2010 - 17:52 #38
Det var mærkeligt.

Prøv lige, i en helt ny PHP-fil, at indsætte:

<?php

mail('din@email.com', 'Test-emne', 'Test-besked');

?>


Og så ret lige 'din@email.com' til din e-mail. :) Jeg vil gerne lige se, om det virker for dig.
Avatar billede w13 Novice
13. oktober 2010 - 17:53 #39
Faktisk, gør sådan her i stedet:

<?php

if (mail('din@email.com', 'Test-emne', 'Test-besked')) {
  echo 'Det lykkedes! Din mail er blevet sendt.';
} else {
  echo 'Det mislykkedes desværre! :(';
}

?>
Avatar billede kimtheman Novice
13. oktober 2010 - 19:28 #40
Ved ikke hvad du mener med en helt ny php fil...Der skal jo noget formular osv til også før det kan afprøves?

Men php filen som jeg har kørt med hele tiden har virket fint (pånær jeg har ikke haft den funktion, at den tjekkede om 2 emails var ens)

Så ved ikke helt hvor du vil henaf?
Avatar billede kimtheman Novice
13. oktober 2010 - 19:32 #41
Tog formularfilen jeg havde i forvejen og lavede en ny fil med

"<?php

if (mail('din@email.com', 'Test-emne', 'Test-besked')) {
  echo 'Det lykkedes! Din mail er blevet sendt.';
} else {
  echo 'Det mislykkedes desværre! :(';
}

?>"
Hvor jeg rettede til med min email. Og den skrev

"Det lykkedes! Din mail er blevet sendt."
Avatar billede kimtheman Novice
13. oktober 2010 - 23:13 #42
Uhm sgu vist ikke have pillet ved det. For ved ikke hvad der lige er sket men nu virker det slet ikke. Og heller ikke det der før virkede...
Uhm har du en henvisning til en god formular?
Avatar billede w13 Novice
14. oktober 2010 - 10:06 #43
Nej, i min kode:

<?php

if (mail('din@email.com', 'Test-emne', 'Test-besked')) {
  echo 'Det lykkedes! Din mail er blevet sendt.';
} else {
  echo 'Det mislykkedes desværre! :(';
}

?>


bruges der ikke formular til noget, så med ny PHP-fil mente jeg bare, at du kunne smide koden ind i en tom test.php-fil og afprøve den på din server. Det spændende er, om du så modtager mail'en.

Jeg kender masser af "gode" formularer, og din er en af dem. Jeg tror ikke, det vil hjælpe at tage en anden, da det er mail-funktionen, som driller.

Mit bedste råd er nok, at vi prøver at udskifte hvert af parametrene, et for et, i linjen:

if (mail("minemail.dk", strip_tags($_POST['emne']), $message, $headers)) {


Prøv evt. først med:

if (mail("minemail.dk", 'Test', $message, $headers)) {


hvis det stadig ikke virker, så prøv:

if (mail("minemail.dk", strip_tags($_POST['emne']), 'Test', $headers)) {


og hvis det ikke virker, så prøv:

if (mail("minemail.dk", strip_tags($_POST['emne']), $message)) {
Avatar billede kimtheman Novice
14. oktober 2010 - 10:38 #44
Den sidste linje virkede
"if (mail("minemail.dk", strip_tags($_POST['emne']), $message)) {"
Avatar billede w13 Novice
14. oktober 2010 - 12:14 #45
Ok. Så er det headerne, der bliver sat, der ikke virker.

Du skrev, at den sagde:

Headers: From: mitdomænenavn Bcc: tildensendteemail.dk


Men from må jo ikke være et domænenavn, det skal være en gyldig afsender-email-adresse.
Avatar billede kimtheman Novice
14. oktober 2010 - 13:13 #46
Hvad er den bedste måde at flette sådan en Headers ind på?

Jeg har gjort det med et Hidden felt pc2 og hvor Value har fået mit domænenavn

Og php siden fik disse for at trække det ud
"{
  $headers="From: ".$_POST['pc2']."<".$_POST['email'].">";
  if (@$_POST['customer_copy'])
  {
  $headers .= "\r\nBcc: ".$_POST['email'];
  }"

Så er det noget galt der eller hvordan skulle man få skrevet Headers?
Avatar billede w13 Novice
14. oktober 2010 - 13:56 #47
Du kan skrive det direkte i koden, men der burde ikke være nogen forskel. Prøv lige at gøre sådan her:

{
  $headers="From: din@email.dk\r\n";
  if (@$_POST['customer_copy'])
  {
  $headers .= "Bcc: ".$_POST['email'];
  }


Og hvis det giver problemer, kan vi lige prøve uden BCC for at finde fejlen:

{
  $headers="From: din@email.dk\r\n";
Avatar billede kimtheman Novice
14. oktober 2010 - 23:06 #48
Den første streng virkede så det er bare dejligt.

Kan man lave sådan en sætning om så den går til startsiden i stedet for en side tilbage?
"<input type=button value="Gå Tilbage Og Prøv Igen"; onclick="history.go(-1); return false">,</p>';"

Nå ja jeg kunne blive ved med at suge til mig og vi fik aldrig sluttet tråden så...Suger jo alt ud af dig...

Men rigtig mange tak for hjælpen.
Avatar billede w13 Novice
15. oktober 2010 - 09:09 #49
Jep, du retter bare:

onclick="history.go(-1); return false"


til:

onclick="window.location.href = '/';"


;)
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