Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  3 566
Wannabe Ellusionist
totto's Avatar
Hei, har en utfordring med ett kontaktskjema jeg har på en webside..

Jeg har ett vanlig skjema som sender data til send.php - Send.php ser slik ut:

Kode

<html>
<head></head>
<body>
<?php

// get posted data into local variables
$EmailFrom = Trim(stripslashes($_POST['EmailFrom'])); 
$EmailTo = "mail@mailadresse.com";
$Subject = Trim(stripslashes($_POST['Subject'])); 
$Name = Trim(stripslashes($_POST['Name'])); 
$Subject = Trim(stripslashes($_POST['Subject'])); 

// validation
$validationOK=true;
if (Trim($EmailFrom)=="") $validationOK=false;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}

// prepare email body text
$Body = "";
$Body .= "Navn: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "\n";
$Body .= "Emne: ";
$Body .= $Subject;
$Body .= "\n";

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page 
if ($success){
  echo "Message Sent";

}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}

?>

</body>
</html>
Problemet mitt er at jeg vil at scriptet skal echo "Message sent" eller "prøv igjen" i samme vindu som skjemaet er i når man trykker submit. IKKE åpne en ny side.

Forslag?
Bruk PHP_SELF i stede for å sende data til en annen side?

Link: http://www.html-form-guide.com/php-f...tion-self.html
Sist endret av s1gh; 3. mai 2010 kl. 20:59.
Wannabe Ellusionist
totto's Avatar
Trådstarter
Har sett på det, men skjønner ikke HELT hvordan jeg skal få dette til å fungere sammen - relativt rusten i php...

-t
Hente fra linken jeg postet tidligere:

Kode

<?php
if(isset($_POST['submit'])) 
{ 
    $name = $_POST['name'];
    echo "User Has submitted the form and entered this name : <b> $name </b>";
    echo "<br>You can use the following form again to enter a new name."; 
}
?>

<HTML>
<HEAD><title>Using PHP_SELF</title></HEAD>
<BODY> 
<FORM method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
   <input type="text" name="name"><br>
   <input type="submit" name="submit" value="Submit Form"><br>
</FORM>
</BODY>
</HTML>

Er så og si samme fremgangsmåte som du bruker nå. Eneste forskjellen er at PHP_SELF sender data til seg selv, ikke til en annen .php-fil.

Som du ser henter man ut variabler på nøyaktig samme måte og hvis du har skrevet kodesnutten du postet her, burde det ikke ta lang tid før du får snekret sammen en brukbar kode


Edit: Er selvfølgelig bare å spørre hvis det dukker opp noen problemer.
Sist endret av s1gh; 3. mai 2010 kl. 21:08.