Forum > Övriga serverspråk > PHP
Hej!
Jag håller på att hjälpa en kompis med att uppdatera sin gamla hemsida. På den fanns det ett frågeformulär som inte fungerade.
Det ska fungera på det viset att användaren skriver in sitt namn och epost i ett formulär och klicka på skicka. Min kompis får därefter ett mail om att någon gör testet. Efter att användaren skrivit in uppgifterna så skickas han vidare till fråge-formuläret.
Problemet som jag har är att antingen så skickas inte mailet iväg. Eller så skickas användaren inte vidare till frågeformuläret.
Sidan där användaren skickar sina uppgifter till min kompis:
<?php
$regex = '^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]{2,})+$';
if ((eregi($regex, $epost)) && isset($_POST['submit'])) {
$conn = new COM('ADODB.Connection') or exit('Cannot start ADO.');
$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=".realpath("form.mdb"));
$conn->Execute("INSERT INTO personal (namn,epost) VALUES ('{$_POST['namn']}','{$_POST['epost']}')");
echo "<p><br><br>Välkommen $namn!</p>";
echo "<b><h3><a href=\"q1c1.php\" target=\"_self\">Starta testet!<b></h3></a>";
$email = "*kompisens email*";
$subject = "$namn kör test på sidan.nu";
$message = "Automatiskt meddelande: \n \n $namn \n $epost \n \n kör test på sidan.nu";
mail($email, $subject, $message, "From: $epost");
echo "<p class=\"r\">Nedanstående instruktioner är viktiga och bör läsas innan du fyller i formuläret!</p>
<p class=\"t\">Besvara varje fråga med det som bäst passar in på dig, inte hur du tycker att du borde svara. Det finns inga svar som är rätt eller fel. Be gärna en vän eller släkting att hjälpa dig, för ibland kanske man inte är tillräckligt objektiv själv.<br>
När du besvarar frågorna ska du glömma allt du har hört om vad du bör och inte bör äta. Besvara frågorna utifrån din instinktiva känsla (magkänsla) av vad du skulle äta om du följde dina medfödda önskningar. <br>
Följ anvisningarna du får efter att ha fyllt i testet beroende på hur många poäng du erhåller.<br></p>";
} else {
echo "<form action=\"intro.php\" method=\"POST\">";
echo "<input type=\"text\" name=\"namn\" value=\"Skriv namn här\" />";
echo "<input type=\"text\" name=\"epost\" value=\"Skriv epost här\" />";
echo "<input type=\"submit\" name=\"submit\" value=\"Starta test!\" />";
echo "</form>";
}
?>
Tack i förhand!
if ((eregi($regex, $epost)) && isset($_POST['submit'])) {
...
}Variabeln $epost ska vara den email som användaren skriver in när den vill starta testet.
ska vara? Är den det eller idén är att det skall vara?
Vad händer när du försöker köra ditt skript?
Skickas mailet, men skickar dig inte vidare? Eller så skickas inte mailet med skickar dig vidare?