Gå til innhold

Epleweb sitt skjema med valgfri mail


Anbefalte innlegg

Har satt opp et skjema med epleweb sin kode.

 

Jeg vil at mail adressen skal være valgfri å skrive inn, men da får jeg et lite problem om brukeren ikke skriver mail adressen sin. Skjemaet kommer ikke fram til innboksen min da. Har laget til to email funksjoner (det heter helt sikkert ikke funksjoner).

 

	$email  = "[email protected]";
$email2  = stripslashes(strip_tags($_POST['email2']));

 

<label for="email2">Email:</label>
		    <input name="email2" id="email2" type="text" value="">

 

Kan noen hjelpe meg å lage en skjekk som sjekker om $email2 er fylt ut, så blir den satt inn som avsender, hvis den er tom så skal $email brukes.

 

Dette forlsaget vil nok ikke fungere, men her skjønner dere kanskje hva jeg mener:

 

	if(empty($email2)
 mail($receiverMail, $subject, $msgformat, "From: $name <$email>")) {
else  mail($receiverMail, $subject, $msgformat, "From: $name <$email2>")) {
}

Lenke til kommentar
Videoannonse
Annonse
	if(empty($email2)
 mail($receiverMail, $subject, $msgformat, "From: $name <$email>")) {
else  mail($receiverMail, $subject, $msgformat, "From: $name <$email2>")) {
}

5837092[/snapback]

 

Dette blir rett:

if(empty($email2))
 mail($receiverMail, $subject, $msgformat, "From: $name <$email>");
 
else  
mail($receiverMail, $subject, $msgformat, "From: $name <$email2>"); 

Lenke til kommentar

Det fungerte, men når jeg skulle legge til at brukeren får beskjed at skjemaet er sendt, så fungerte det ikke:

 

 

	if(empty($name) || empty($adresse) || empty($postnr) || empty($sted)) {
 echo "<h2>Meldingen ble ikke sendt</h2><p>Fyll ut alle nødvendige felt</p>";
 
 echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}


if(empty($email2))
  mail($receiverMail, $subject, $msgformat, "From: $name <$email>");
  echo "<h2>Meldingen har blitt sendt!</h2>"; 

  
 else  
 mail($receiverMail, $subject, $msgformat, "From: $name <$email2>");
 echo "<h2>Meldingen har blitt sendt!</h2>";

 }
 
 else {
 echo "<h2>Meldingen ble ikke sendt</h2><p>Prøv igjen senere... Hvis problemet fortsetter er det sansynlig noe galt med serveren.</p>";
 echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}

 
else { 

?>
<form method="post" action="">  	
<form> ....

 

Får erroren: Parse error: parse error in /hotel/www.domene.no/www/html/skjema.php on line 172

 

172 er den først else

Endret av Garreth
Lenke til kommentar

litt grunnelgende her.

if( $a == 1)
 print "A er 1";
else
 print "A er ikke 1";

hvis du skal ha inn at den skal kjøre flere linjer under samme if() så må du bruke {} slik:

if( $a == 1){
 print "A er 1);
 print "OG vi vet ikke hva B er";
 }
else
 print "A er ikke 1";

 

slik som det er over vil det som står under if() bli kjørt hvis $a er 1, hvis $a er noe annet enn det så blir det som står under else kjørt.

 

men hvis du gjør slik:

if( $a == 1)
 print "A er 1";
else
 print "A er ikke 1";
else
 print "dette vil aldri bli vist";

Hvis $a er 1 vil den første bli kjørt, hvis ikke blir det som står under den første "else" bli kjørt. Det som kommer etter vil aldri bli kjørt. Du kan feks på den midterste "else" skrive " elseif( $A == 2) " da vil den bli kjørt og hvis ikke vil den neste else bli kjørt.

 

anbefaler at du leser litt her:

https://www.diskusjon.no/index.php?showtopi...dpost&p=1034173

 

ha en fin dag :)

Lenke til kommentar
Det fungerte, men når jeg skulle legge til at brukeren får beskjed at skjemaet er sendt, så fungerte det ikke:

 

 

	if(empty($name) || empty($adresse) || empty($postnr) || empty($sted)) {
 echo "<h2>Meldingen ble ikke sendt</h2><p>Fyll ut alle nødvendige felt</p>";
 
 echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}


if(empty($email2))
  mail($receiverMail, $subject, $msgformat, "From: $name <$email>");
  echo "<h2>Meldingen har blitt sendt!</h2>"; 

  
 else  
 mail($receiverMail, $subject, $msgformat, "From: $name <$email2>");
 echo "<h2>Meldingen har blitt sendt!</h2>";

 }
 
 else {
 echo "<h2>Meldingen ble ikke sendt</h2><p>Prøv igjen senere... Hvis problemet fortsetter er det sansynlig noe galt med serveren.</p>";
 echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}

 
else { 

?>
<form method="post" action="">  	
<form> ....

 

Får erroren: Parse error: parse error in /hotel/www.domene.no/www/html/skjema.php on line 172

 

172 er den først else

5837193[/snapback]

 

Jeg antar at du konverterer $_POST-variabler til "vanlige" variabler før du forsøker å sende epost - type $post = $_POST['email2'] (og feilsjekk, kan være en trinær operator)

 

Du kan gjøre slik:

 

$email2 = strip_tags(trim($_POST['email2']));

if(!empty($email2)){
$email = $email2;
}else{
$email = '[email protected]';
}//<-- HER avslutter du if

// Ny if
if(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")){
echo "Epost er sendt med hell";
}else{
echo "Eposten kunne ikke sendes";
}

 

Når det gjelder koden du har limt inn mangler endel { og }

if(empty($email2)){ // <-- HER
 mail($receiverMail, $subject, $msgformat, "From: $name <$email>");
 echo "<h2>Meldingen har blitt sendt!</h2>";


}else{ // <-- HER MANGLET BÅDE } OG {  
mail($receiverMail, $subject, $msgformat, "From: $name <$email2>");
echo "<h2>Meldingen har blitt sendt!</h2>";

}

Og her har du en "dangling" else (en else uten tilhørende if

 
else {
echo "<h2>Meldingen ble ikke sendt</h2><p>Prøv igjen senere... Hvis problemet fortsetter er det sansynlig noe galt med serveren.</p>";
echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}

Lenke til kommentar
men hvis du gjør slik:

if( $a == 1)
 print "A er 1";
else
 print "A er ikke 1";
else
 print "dette vil aldri bli vist";

Hvis $a er 1 vil  den første bli kjørt, hvis ikke blir det som står under den første "else" bli kjørt. Det som kommer etter vil aldri bli kjørt. Du kan feks på den midterste "else" skrive " elseif( $A == 2) " da vil den bli kjørt og hvis ikke vil den neste else bli kjørt.

 

anbefaler at du leser litt her:

https://www.diskusjon.no/index.php?showtopi...dpost&p=1034173

 

ha en fin dag :)

5837402[/snapback]

Denne vil aldri bli kjørt, siden du har en "dangling" else, du vil få en parse-error.

Syntaksen for flere valg er if, else if (eventuelt flere else if) og til slutt en else

Endret av CruellaDeVille
Lenke til kommentar
Denne vil aldri bli kjørt, siden du har en "dangling" else, du vil få en parse-error.

Syntaksen for flere valg er if, else if (eventuelt flere else if) og til slutt en else

5837422[/snapback]

 

Bøyer meg i støvet. :)

 

( selv har jeg aldri gjort den feilen, så jeg var ikke opps på at det ikke gikk)

(sier han litt eplekjekk ;) )

Lenke til kommentar

Med denne koden fungerte ikke if sjekken for tomme felt.

 

 

 

<?php
if ($_POST['submit'] == TRUE) { //send mail
$receiverMail = "[email protected]";
$name  = stripslashes(strip_tags($_POST['name']));
$email  = "[email protected]";
$email2  = stripslashes(strip_tags($_POST['email2']));
$adresse	= stripslashes(strip_tags($_POST['adresse']));
$postnr  = stripslashes(strip_tags($_POST['postnr']));
$sted  = stripslashes(strip_tags($_POST['sted']));
$subject	= "Skjema";
$privat  = stripslashes(strip_tags($_POST['privat']));
$mobil  = stripslashes(strip_tags($_POST['mobil']));
//$msg  = stripslashes(strip_tags($_POST['msg']));
//$ip  	= $_SERVER['REMOTE_ADDR'];
$msgformat	= "Fra:\n$name \nAdresse: $adresse\n$postnr $sted\n\nTelefon : $privat\nMobil: $mobil \nEmail: $email2";

if(empty($name) || empty($adresse) || empty($postnr) || empty($sted)) {
 echo "<h2>Meldingen ble ikke sendt</h2><p>Fyll ut alle nødvendige felt</p>";
 
 echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}

if(!empty($email2)){
 $email = $email2;
 }else{
 $email = '[email protected]';
}


if(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")){
 
 echo "<h2>Meldingen har blitt sendt!</h2>"; }
 
else{
 echo "<h2>Meldingen ble ikke sendt</h2><p>Prøv igjen senere... Hvis problemet fortsetter er det sansynlig noe galt med serveren.</p>";
 echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}

}  
else { 

//skriv ut skjema

?>

 

 

 

Prøvde meg med en elseif. Da fungerte sjekken for tomme felt igjen, men om jeg skrev inn en mail adresse i skjemaet så gikk ikke mailen igjennom. Fikk ikke feilmedling en gang.

 

 

 

//det over er ikke forandret

elseif(!empty($email2)){
 $email = $email2;
 }else{
 $email = '[email protected]';

if(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")){
 
 echo "<h2>Meldingen har blitt sendt!</h2>"; }
 
 else{
 	echo "<h2>Meldingen ble ikke sendt</h2><p>Prøv igjen senere... Hvis problemet fortsetter er det sansynlig noe galt med serveren.</p>";
 	echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
 }

}

}  
else { 

//Skriv ut skjema

?>

 

 

Endret av Garreth
Lenke til kommentar
Med denne koden fungerte ikke if sjekken for tomme felt.

 

 

 

<?php
if ($_POST['submit'] == TRUE) { //send mail
$receiverMail = "[email protected]";
$name  = stripslashes(strip_tags($_POST['name']));
$email  = "[email protected]";
$email2  = stripslashes(strip_tags($_POST['email2']));
$adresse	= stripslashes(strip_tags($_POST['adresse']));
$postnr  = stripslashes(strip_tags($_POST['postnr']));
$sted  = stripslashes(strip_tags($_POST['sted']));
$subject	= "Skjema";
$privat  = stripslashes(strip_tags($_POST['privat']));
$mobil  = stripslashes(strip_tags($_POST['mobil']));
//$msg  = stripslashes(strip_tags($_POST['msg']));
//$ip  	= $_SERVER['REMOTE_ADDR'];
$msgformat	= "Fra:\n$name \nAdresse: $adresse\n$postnr $sted\n\nTelefon : $privat\nMobil: $mobil \nEmail: $email2";

if(empty($name) || empty($adresse) || empty($postnr) || empty($sted)) {
 echo "<h2>Meldingen ble ikke sendt</h2><p>Fyll ut alle nødvendige felt</p>";
 
 echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}

if(!empty($email2)){
 $email = $email2;
 }else{
 $email = '[email protected]';
}


if(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")){
 
 echo "<h2>Meldingen har blitt sendt!</h2>"; }
 
else{
 echo "<h2>Meldingen ble ikke sendt</h2><p>Prøv igjen senere... Hvis problemet fortsetter er det sansynlig noe galt med serveren.</p>";
 echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}

}  
else { 

//skriv ut skjema

?>

 

 

 

Prøvde meg med en elseif. Da fungerte sjekken for tomme felt igjen, men om jeg skrev inn en mail adresse i skjemaet så gikk ikke mailen igjennom. Fikk ikke feilmedling en gang.

 

 

 

//det over er ikke forandret

elseif(!empty($email2)){
 $email = $email2;
 }else{
 $email = '[email protected]';

if(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")){
 
 echo "<h2>Meldingen har blitt sendt!</h2>"; }
 
 else{
 	echo "<h2>Meldingen ble ikke sendt</h2><p>Prøv igjen senere... Hvis problemet fortsetter er det sansynlig noe galt med serveren.</p>";
 	echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
 }

}

}  
else { 

//Skriv ut skjema

?>

 

 

5837586[/snapback]

 

Nå vet ikke jeg hvordan skjema ditt ser ut, men jeg hentet det fra epleweb, og der har de ingen felt i skjema som heter epost2 (eller var det email2). Sjekk dette.

Scriptet fungerer som bare det hos nibbler, http://nibbler.no/files/email.php

 

Og en ting til: hvorfor kaller du funksjon stripslashes? Det vil si at parser fjerner backslash foran ' og ", og det er ikke det du vil ha. Du vil ha addslashes istedet, som escaper ' og "

Lenke til kommentar

Ja det er bare et registrerings skjema. Folk skal skrive inn personalia og så ska mailen komme til min innboks. Grunnen til at jeg laget 2 email variabler var for jeg trodde det var lettest slik (siden det må komme en annen mail om ikke brukeren skriver inn sin egen) Skal ikke ha med det textarea feltet. Her ser du hele skjemaet (som ikke kommer igjenom om du velger å skrive inn mail adressen i skjemaet:

 

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Skjema</title>

</head>

<body>
<div id="wrap">
<?php
if ($_POST['submit'] == TRUE) {
$receiverMail = "[email protected]";

$name  = stripslashes(strip_tags($_POST['name']));
$email  = "[email protected]";
$email2  = stripslashes(strip_tags($_POST['email2']));
$adresse	= stripslashes(strip_tags($_POST['adresse']));
$postnr  = stripslashes(strip_tags($_POST['postnr']));
$sted  = stripslashes(strip_tags($_POST['sted']));
$subject	= "Bestilling av katalog";
$privat  = stripslashes(strip_tags($_POST['privat']));
$mobil  = stripslashes(strip_tags($_POST['mobil']));
//$msg  = stripslashes(strip_tags($_POST['msg']));
//$ip  	= $_SERVER['REMOTE_ADDR'];
$msgformat	= "Bestilling fra:\n$name \nAdresse: $adresse\n$postnr $sted\n\nTelefon : $privat\nMobil: $mobil \nEmail: $email2";

if(empty($name) || empty($adresse) || empty($postnr) || empty($sted)) {
 echo "<h2>Meldingen ble ikke sendt</h2><p>Fyll ut alle nødvendige felt</p>";
 
 echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}

elseif(!empty($email2)){
  $email = $email2;
  }else{
  $email = '[email protected]';
 
 if(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")){
  
  echo "<h2>Meldingen har blitt sendt!</h2>"; }
  
  else{
   echo "<h2>Meldingen ble ikke sendt</h2><p>Prøv igjen senere... Hvis problemet fortsetter er det sansynlig noe galt med serveren.</p>";
   echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
  }
 
}

}  
else { 
?>
<form method="post" action="">  	
<form>
<fieldset>
<legend>Ja takk, send meg mer info.</legend>
 <div class="fm-req">
 
    <label for="name">Navn:</label>
    <input name="name" id="name" type="text" value="">
       
    <label for="adresse">Addresse:</label>
    <input id="adresse" name="adresse" type="text" value="">
   
    <label for="postnr">Postnummer:</label>
    <input id="postnr" name="postnr" type="text" value="">
   
    <label for="sted">Sted:</label>
    <input id="sted" name="sted" type="text" value="">
 </div>
</fieldset>


<fieldset>
<legend>Hvis du ønsker det, kan du også oppgi telefonnummer og email adresse</legend>
 <div class="fm-optional">
   <label for="privat">Privat tlf:</label>
   <input id="privat" name="privat" type="text" value="">

   <label for="mobil">Mobil:</label>
   <input id="mobil" name="mobil" type="text" value="">
   
   <label for="email2">Email:</label>
      <input name="email2" id="email2" type="text" value="">

 </div>
</fieldset>
 <br>
<input id="submit" class="button" type="submit" name="submit" value="Send" />
</form> 

<?php } ?>


</div>
</body>
</html>

 

 

Har prøvd det meste (som jeg kommer på), men det vil fremdeles ikke fungere helt 100%.

Endret av Garreth
Lenke til kommentar
Har prøvd det meste (som jeg kommer på), men det vil fremdeles ikke fungere helt 100%.

5838112[/snapback]

 

Som CruellaDeVille sier så hadde det vært fint med noen info om hva som ikke virker.

 

Det eneste jeg kan se som kanskje ikke virker slik det skal er mail(), den kan være litt spesielt, fra maskin til maskin, noen vil ha en "\r\n" slutten av "From: " feltet, andre er fornøyd med "\n". Andre vil ikke ha "navn <epost>" men bare "epost".

 

Men det er jo ikke sikkert at det er dette som er feil

Lenke til kommentar

I det siste skjemaet jeg postet her så fungerer alt utenom hvis brukeren skriver inn sin egen mail. Når jeg da trykker på submit så får jeg bare en hvit side, ikke noe feilmelding og mailen blir ikke sendt til min innboks. Jeg prøvde å forandre på } klammene osv, og fikk det til å fungere når brukeren skrev inn sin egen mail, men da fungerte ikke if sjekken som sjekker at alle de nødvendige feltene (navn, adresse, post, sted) er fylt ut.

Lenke til kommentar

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Skjema</title>

</head>

<body>
<div id="wrap">
<?php
if ($_POST['submit'] == TRUE) {
$receiverMail = "[email protected]";

$name  = stripslashes(strip_tags($_POST['name']));
$email  = "[email protected]";
$email2  = stripslashes(strip_tags($_POST['email2']));
$adresse = stripslashes(strip_tags($_POST['adresse']));
$postnr  = stripslashes(strip_tags($_POST['postnr']));
$sted  = stripslashes(strip_tags($_POST['sted']));
$subject = "Bestilling av katalog";
$privat  = stripslashes(strip_tags($_POST['privat']));
$mobil  = stripslashes(strip_tags($_POST['mobil']));
//$msg  = stripslashes(strip_tags($_POST['msg']));
//$ip   = $_SERVER['REMOTE_ADDR'];
$msgformat = "Bestilling fra:\n$name \nAdresse: $adresse\n$postnr $sted\n\nTelefon : $privat\nMobil: $mobil \nEmail: $email2";

if(empty($name) || empty($adresse) || empty($postnr) || empty($sted)) {
echo "<h2>Meldingen ble ikke sendt</h2><p>Fyll ut alle nødvendige felt</p>";

echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
}

elseif(!empty($email2))
 $email = $email2;
 else
 $email = '[email protected]';

if(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")){
 
 echo "<h2>Meldingen har blitt sendt!</h2>"; }
 
 else{
  echo "<h2>Meldingen ble ikke sendt</h2><p>Prøv igjen senere... Hvis problemet fortsetter er det sansynlig noe galt med serveren.</p>";
  echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
 }


}  
else { 
?>
<form method="post" action="">   
<form>
<fieldset>
<legend>Ja takk, send meg mer info.</legend>
<div class="fm-req">

   <label for="name">Navn:</label>
   <input name="name" id="name" type="text" value="">
      
   <label for="adresse">Addresse:</label>
   <input id="adresse" name="adresse" type="text" value="">
  
   <label for="postnr">Postnummer:</label>
   <input id="postnr" name="postnr" type="text" value="">
  
   <label for="sted">Sted:</label>
   <input id="sted" name="sted" type="text" value="">
</div>
</fieldset>


<fieldset>
<legend>Hvis du ønsker det, kan du også oppgi telefonnummer og email adresse</legend>
<div class="fm-optional">
  <label for="privat">Privat tlf:</label>
  <input id="privat" name="privat" type="text" value="">

  <label for="mobil">Mobil:</label>
  <input id="mobil" name="mobil" type="text" value="">
  
  <label for="email2">Email:</label>
     <input name="email2" id="email2" type="text" value="">

</div>
</fieldset>
<br>
<input id="submit" class="button" type="submit" name="submit" value="Send" />
</form> 

<?php } ?>


</div>
</body>
</html>

 

 

PRoblemet var hvis brukeren ikke hadde skrevet inn noe epost så håpet den over sendingen også

Endret av trondes
Lenke til kommentar
Prøvde din kode nå, og nå fungerer ikke sjekken for nødvendige felt. Mailen går igjennom uansett om man har fylt dem inn eller ikke.

5843098[/snapback]

 

Jeg har endret litt på programmeringslogikken din,

$msgformat er flyttet, har sagt at if felt er tomme - skriv ut feilmelding, else gjør noe annet. Jeg har også lagt på trim(), som gjør at man ikke kan sende inn bare et whitespace som input og addslashes() istedet for stripslashes()

 

fullstendig kode:http://nibbler.no/files/email2.php

 

Dette funker, sender ikke epost når required felt er tomme, bytter ut brukers epost hvis denne er satt og hvis ikke bruker [email protected]

Endret av CruellaDeVille
Lenke til kommentar

Er desverre ikke så mye logikk ute å går fra min side, har bare prøvd å vidreutvikle epleweb sit skjema til mitt bruk.

 

Tusen takk for hjelpen, jeg setter utrolig stor pris på det, men jeg får det ikke til å fungere hos meg. Hvis jeg kopierer det som er på linken din får jeg bare feil.

 

Parse error: parse error in /hotel/www.domene.no/www/html/email2.php on line 104

 

 

Dette er det på min email2.php

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Skjema</title>

</head>

<body>
<div id="wrap">
<?php
if ($_POST['submit']) {
   $receiverMail = "[email protected]";
   $name  = trim(addslashes(strip_tags($_POST['name'])));
   $email2  = trim(addslashes(strip_tags($_POST['email2'])));
   $adresse = trim(addslashes(strip_tags($_POST['adresse'])));
   $postnr  = trim(addslashes(strip_tags($_POST['postnr'])));
   $sted  = trim(addslashes(strip_tags($_POST['sted'])));
   $subject = "Bestilling av katalog";
   $privat  = trim(addslashes(strip_tags($_POST['privat'])));
   $mobil  = trim(addslashes(strip_tags($_POST['mobil'])));

   if(empty($name) || empty($adresse) || empty($postnr) || empty($sted)) {
       echo "<h2>Meldingen ble ikke sendt</h2><p>Fyll ut alle nødvendige felt</p>";
       echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
   }else{
       if(!empty($email2)){
           $email = $email2;
       }else{
             $email = '[email protected]';
       }
       $msgformat = "Bestilling fra:\n$name \nAdresse: $adresse\n$postnr $sted\n\nTelefon : $privat\nMobil: $mobil \nEmail: $email";
       if(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")){
             echo "<h2>Meldingen har blitt sendt!</h2>";
       }else{
              echo "<h2>Meldingen ble ikke sendt</h2><p>Prøv igjen senere... Hvis problemet fortsetter er det sansynlig noe galt med serveren.</p>";
              echo '<p><a href="javascript:history.back()">Tilbake til skjemaet</a></p>';
         }
   }  
}else {
echo <<<HTML
<script type="text/javascript">
<!-- Hide from old browsers

function checkInput(){
   var myString ='';
       var form = document.forms[0];
       for(i=0; i<form.elements.length; i++){
       if((form.elements[i].type=="text" || form.elements[i].type == "textarea") && !form.elements[i].value){
           alert("Vennligst fyll ut "+ form.elements[i].name);
           form.elements[i].focus();
           return false;
       }
   }
   return true;
}
-->
</script>
<form method="post" action="" onsubmit="return checkInput()";>  
<form>
<fieldset>
<legend>Ja takk, send meg mer info.</legend>
<div class="fm-req">

   <label for="name">Navn:</label>
   <input name="name" id="name" type="text" value="">
      
   <label for="adresse">Addresse:</label>
   <input id="adresse" name="adresse" type="text" value="">
  
   <label for="postnr">Postnummer:</label>
   <input id="postnr" name="postnr" type="text" value="">
  
   <label for="sted">Sted:</label>
   <input id="sted" name="sted" type="text" value="">
</div>
</fieldset>


<fieldset>
<legend>Hvis du ønsker det, kan du også oppgi telefonnummer og email adresse</legend>
<div class="fm-optional">
  <label for="privat">Privat tlf:</label>
  <input id="privat" name="privat" type="text" value="">

  <label for="mobil">Mobil:</label>
  <input id="mobil" name="mobil" type="text" value="">
  
  <label for="email2">Email:</label>
     <input name="email2" id="email2" type="text" value="">

</div>
</fieldset>
<br>
<input id="submit" class="button" type="submit" name="submit" value="Send" />
</form>
HTML;}
show_source('email2.php');

?>
</div>
</body>
</html>

 

linje 104 er den siste </html> linjen. Har også prøvd å ta vekk show_source, men får fortsatt den samme feilen. (Da selvfølgelig på linje 103) Kan vi ha ulik versjon av PHP på serverene våre?

 

Edit: Skal selvfølgelig bytte ut email adresse å slikt når jeg har fått det til å fungere.

Endret av Garreth
Lenke til kommentar
Er desverre ikke så mye logikk ute å går fra min side, har bare prøvd å vidreutvikle epleweb sit skjema til mitt bruk.

 

Tusen takk for hjelpen, jeg setter utrolig stor pris på det, men jeg får det ikke til å fungere hos meg. Hvis jeg kopierer det som er på linken din får jeg bare feil.

 

Parse error: parse error in /hotel/www.domene.no/www/html/email2.php on line 104

 

 

Dette er det på min email2.php

 

<input id="submit" class="button" type="submit" name="submit" value="Send" />
</form>
HTML;} <---- DENNE MÅ ENDRES
show_source('email2.php');

?>
</div>
</body>
</html>

Linje merket må endres til

HTML;
}

 

En heredoc (<<<HTML) kan bare ha return etter heredoc innleding og avslutning. Dermed vil } på HTML;-linjen ødelegge alt.

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...