PDA

Se fuld version : Hjælp til PHP


SRJ
01-05-2006, 07:36 PM
Hej! :D
Jeg har fundet et script jeg vil benytte til min PHP mailform, det er dog delt i to, så derfor håber jeg der er en med evnerne der kan finde ud af at skrive det sammen til en fil. Mine to filer ser således ud:

kontakt.htm
<link rel="stylesheet" href="style.css" type="text/css">

Alle felter skal udfyldes!


<form action="send.php" method="POST">
Dit navn:

<input type="text" name="navn">



Din e-mail:

<input type="text" name="mail">



Emne:

<input type="text" name="emne">



Din besked:

<textarea cols="35" rows="10" name="besked"></textarea>



<input type="submit" value="Send">

</form>

send.php
<?php

if(!isset($_POST['navn']))
{
header("Location: kontakt.htm");
}

else
{

$navn = $_POST['navn'];
$mail = $_POST['mail'];
$emne = $_POST['emne'];
$besked = $_POST['besked'];

if(empty($navn) || empty($mail) || empty($emne) || empty($besked))
{

echo "Alle felter skal udfyldes. Klik her for at komme tilbage til formularen ('kontakt.htm')";

}

else
{
if(ereg("^.+@.+\..+$", $mail)) {

$sendto = "email@udbyder.dk";

$msg = "KONTAKT-MAIL AFSENDT FRA xx.DK \n \n";
$msg .= "Besked fra: ".$navn."\n";
$msg .= "Afsenderens e-mail: ".$mail."\n";
$msg .= $navn."'s besked er:\n \n".$besked."\n";


$subject = "Rold07.dk kontakt: ".$emne;

if(mail($sendto, $subject, $msg, "From: $mail\r\n" . "Reply-To: $mail\r\n"))
{

echo "Mailen blev sendt uden problemer";

}
else
{
echo "Der opstod en fejl. Prøv igen. Klik her for at komme tilbage til formularen ('kontakt.htm')";

}
}

else
{
echo "Ugyldig e-mail adresse. Klik her for at komme tilbage til formularen ('kontakt.htm')";

}

}
}
?>

Formen stammer herfra: http://www.udvikleren.dk/article.php?techid=6&aid=252 hvor der nederst også er noget teori til hvordan man sætter dem sammen.

Er der derudover nogen der ved hvordan man lægger farve på de sider man bliver sendt til efter at have klikket send?

SpYkE
01-05-2006, 09:35 PM
<?php

if ($_POST['send']) {

$navn = $_POST['navn'];
$mail = $_POST['mail'];
$emne = $_POST['emne'];
$besked = $_POST['besked'];

if(empty($navn) || empty($mail) || empty($emne) || empty($besked))
{

echo "Alle felter skal udfyldes. Klik her for at komme tilbage til formularen ('kontakt.htm')";

}

else
{
if(ereg("^.+@.+\..+$", $mail)) {

$sendto = "email@udbyder.dk";

$msg = "KONTAKT-MAIL AFSENDT FRA ROLD07.DK \n \n";
$msg .= "Besked fra: ".$navn."\n";
$msg .= "Afsenderens e-mail: ".$mail."\n";
$msg .= $navn."'s besked er:\n \n".$besked."\n";


$subject = "Rold07.dk kontakt: ".$emne;

if(mail($sendto, $subject, $msg, "From: $mail\r\n" . "Reply-To: $mail\r\n"))
{

echo "Mailen blev sendt uden problemer";

}
else
{
echo "Der opstod en fejl. Prøv igen. Klik her for at komme tilbage til formularen ('kontakt.htm')";

}
}

else
{
echo "Ugyldig e-mail adresse. Klik her for at komme tilbage til formularen ('kontakt.htm')";

}

}
} else {
?>
<link rel="stylesheet" href="style.css" type="text/css">

Alle felter skal udfyldes!


<form action="send.php" method="POST">
Dit navn:

<input type="text" name="navn">



Din e-mail:

<input type="text" name="mail">



Emne:

<input type="text" name="emne">



Din besked:

<textarea cols="35" rows="10" name="besked"></textarea>



<input type="submit" value="Send" name="send">

</form>
<?php } ?>


There you go :)

OPS!
skal lige sige at det ikke er testet!

SRJ
01-05-2006, 09:56 PM
Det er ok, det gør jeg selv! :D

Tusind tak! - Lige ét spørgsmål, så skal jeg vel egentlig bare gemme det som en .php fil ikke?

**EDIT**
Jeg har lige testet det (både som .htm og .php)
Men ingen af delene virker. Jeg får godtnok den formular frem, men når jeg klikker "send" siger den at siden ikke findes.. Fejl 404.. :(
- Øv osse..

SpYkE
01-06-2006, 03:03 PM
Det er ok, det gør jeg selv! :D

Tusind tak! - Lige ét spørgsmål, så skal jeg vel egentlig bare gemme det som en .php fil ikke?

**EDIT**
Jeg har lige testet det (både som .htm og .php)
Men ingen af delene virker. Jeg får godtnok den formular frem, men når jeg klikker "send" siger den at siden ikke findes.. Fejl 404.. :(
- Øv osse..
DOH!!
Ændre: <form action="send.php" method="POST">
Til: <form action="<?=$_SERVER['PHP_SELF']; ?>" method="POST">

SRJ
01-07-2006, 01:01 PM
Ahh!! Således .. :D

Super! Mange tak! :D

Nu virker det uden problemer.. :)

Er der nogen der ved det med at ændre farven på de sider man bliver sendt til?

PastorBlabber
01-08-2006, 10:04 PM
Er der nogen der ved det med at ændre farven på de sider man bliver sendt til?

Nu ved jeg ikke så meget om php, men kan du ikke ændre denne linje:

echo "Mailen blev sendt uden problemer";

til en linje der sender dig hen til en anden side?

Nede under er der et link i "echoteksten", så det kan da også godt være at du kan ændre det med html.

- Pastor Blabber

SRJ
01-08-2006, 10:47 PM
Er der nogen der ved det med at ændre farven på de sider man bliver sendt til?

Nu ved jeg ikke så meget om php, men kan du ikke ændre denne linje:

echo "Mailen blev sendt uden problemer";

til en linje der sender dig hen til en anden side?

Nede under er der et link i "echoteksten", så det kan da også godt være at du kan ændre det med html.

- Pastor Blabber
Så sent som i dag har jeg faktisk fået løst netop det problem.. ;)

Jeg fandt ud af at man bare kunne ordne det i head sektionen.. jeg var bare ikk klar over at det gældte for PHP kode også, men så blev jeg så klog.. :D

Linkede det hele til mit stylesheet.. :)

Ellers tak for hjælpen..