Gå til innhold

Avansert PHP skjema


Anbefalte innlegg

Hei. Jeg lurte på om noen kunne hjelpe meg med en PHP skjema, den skal være avansert, skal være slik..

Felt 1. Send til: det er en dropdown list der brukeren kan velge hvem som skal motta e.posten f.eks

Ola Anderso (It konsulent) <-- velger brukeren det blir den ikke send til Per John men bare til Ola

Per John (webmaster) <-- velger brukeren det blir den ikke send til Ola men bare Per.

felt 2: Navn (Brukeren skriver sitt navn)

felt 3: Email (brukeren skriver sitt Email)

felt 4: subject (brukeren skriver et emne eller velger fra drop down list f.eks.

salg

produkter

felt 5. melding (brukeren skriver en melding)

 

vil helst ha med litt funksjoner osv;) takk

 

Noen som kan finne en slik.

PS: har lite peiling på PHP

Endret av sample
Lenke til kommentar
Videoannonse
Annonse

Kjipt svar, men dette må da være en av de mest omtalte tingene i forumet, så med litt leting tror jeg du finner det ut...

Særlig avansert er det heller ikke..

 

En liten startghjelp:

Lag et skjema i html -> send det til en annen side -> bruk mail-funksjonen (sjekk manualen) -> vips, mailen blir sendt avgårde! :yes:

Er ikke vanskelig å velge hvem mailen skal sendes til, bare en ørligen if...

Endret av EirikO
Lenke til kommentar

Hadde et sånt liggende faktisk:

<?php

if ($_POST['submit'] == TRUE) {
$receiverMail	= $_POST['to'];
$name  = stripslashes(strip_tags($_POST['name']));
$email  = stripslashes(strip_tags($_POST['email']));
$subject	= stripslashes(strip_tags($_POST['subject']));
$msg  = stripslashes(strip_tags($_POST['msg']));
$ip  	= $_SERVER['REMOTE_ADDR'];
$msgformat	= "From: $name ($ip)\nEmail: $email\n\n$msg";

if(empty($name) || empty($email) || empty($subject) || empty($msg)) {
 echo "<h3>The email was not sent</h3><p>Please fill all the required fields</p>";
}
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
 echo "<h3>The email was not sent</h3><p>The email address is invalid</p>";
}
elseif(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")) {
 echo "<h3>The email has been sent!</h3><p>I will get back to you as soon as possible.</p>"; }
else {
 echo "<h3>The email was not sent</h3><p>Please try again... If the problem continues there's probably something wrong with the server.</p>";
}
}
else { ?>
<form method="post" action="">
<p>
<label for="name">Name</label>
<input id="name" name="name" type="text" size="30" maxlength="40" /><br />

<label for="email">Email</label>
<input id="email" name="email" type="text" size="30" maxlength="40" /><br />

<label for="subject">Subject</label>
<input id="subject" name="subject" type="text" size="30" maxlength="40" /><br />

<label for="to">Send to</label>
<select id="to" name="to">
 <option value="[email protected]">Tekst</option>
 <option value="[email protected]">Tekst</option>
 <option value="[email protected]">Tekst</option>
 <option value="[email protected]">Tekst</option>
 <option value="[email protected]">Tekst</option>
</select><br />

<label for="message">Message</label>
<textarea id="message" name="msg" cols="50" rows="6"></textarea><br />

<label for="submit"> </label>
<input id="submit" class="button" type="submit" name="submit" value="Send" />
</p>
</form>
<?php } ?>

Endret av Loomy
Lenke til kommentar

dette var fint takk lomy. men jeg kunne tenke meg en "return url" slik at den meldingen som vises:

The email has been sent!

 

I will get back to you as soon as possible

 

etter 3 sekunder så blir den redirect til en bestemt url. Kunne du også legge det i scripte og lime den igjen takk.

Lenke til kommentar

For den redirecten:

<meta http-equiv="refresh" content="3;url=dinside.php">

 

Og for det echo tingen:

echo "The email has been sent!

I will get back to you as soon as possible";

 

 

Edit: Så ikke at det echo greiene sto i scriptet men trodde det var noe du spurte etter.. Isåfall så tror jeg at dette skal funke, men gjerne rett meg..:):

<?php

if ($_POST['submit'] == TRUE) {
$receiverMail = $_POST['to'];
$name  = stripslashes(strip_tags($_POST['name']));
$email  = stripslashes(strip_tags($_POST['email']));
$subject = stripslashes(strip_tags($_POST['subject']));
$msg  = stripslashes(strip_tags($_POST['msg']));
$ip   = $_SERVER['REMOTE_ADDR'];
$msgformat = "From: $name ($ip)\nEmail: $email\n\n$msg";

if(empty($name) || empty($email) || empty($subject) || empty($msg)) {
echo "<h3>The email was not sent</h3><p>Please fill all the required fields</p>";
}
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
echo "<h3>The email was not sent</h3><p>The email address is invalid</p>";
}
elseif(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")) {
echo "<h3>The email has been sent!</h3><p>I will get back to you as soon as possible.</p>"; <meta http-equiv="refresh" content="3;url=1.php"> }
else {
echo "<h3>The email was not sent</h3><p>Please try again... If the problem continues there's probably something wrong with the server.</p>";
}
}
else { ?>
<form method="post" action="">
<p>
<label for="name">Name</label>
<input id="name" name="name" type="text" size="30" maxlength="40" /><br />

<label for="email">Email</label>
<input id="email" name="email" type="text" size="30" maxlength="40" /><br />

<label for="subject">Subject</label>
<input id="subject" name="subject" type="text" size="30" maxlength="40" /><br />

<label for="to">Send to</label>
<select id="to" name="to">
<option value="[email protected]">Tekst</option>
<option value="[email protected]">Tekst</option>
<option value="[email protected]">Tekst</option>
<option value="[email protected]">Tekst</option>
<option value="[email protected]">Tekst</option>
</select><br />

<label for="message">Message</label>
<textarea id="message" name="msg" cols="50" rows="6"></textarea><br />

<label for="submit"> </label>
<input id="submit" class="button" type="submit" name="submit" value="Send" />
</p>
</form>
<?php } ?>

 

 

 

Når blir den redirectet til dinside.php når det har godt 3 sekunder.. Men dette kan du endre på den linjen som jeg skrev før jeg redigerte dette...

Endret av oblomsoe
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...