PHP formulär rensas vid backspace?
Jag är ganska ny till PHP och ber om ursäkt om denna fråga är väldigt dum men jag kan inte lösa detta problem.
Jag gjorde ett PHP-formulär som tar den ifyllda informationen, skriver den till en csv-fil med base64
och sedan skickar den bifogad med mail. Check input är satt på alla fält,
du går sedan tillbaka och kan fylla i det du missat.
Nu senast så lade jag till en simpel PHP inloggning med förbestämt användarnamn och lösen
och sedan dess är inte informationen sparad när man går tillbaka för att fylla i något man missat,
utan måste fylla i hela formuläret från början.
login.php
<?php
session_start();
if ($_GET['login']) {
if ($_POST['username'] == 'user'
&& $_POST['password'] == '1234') {
$_SESSION['loggedin'] = 1;
// Sessionsvariabel
header("Location: form.php");
exit;
// Vidaresänds till skyddade sidan
} else echo "FEL INLOGGNING. VAR GOD FÖRSÖK IGEN.";
// Felmeddelande
}
?>
<form action="?login=1" method="post">
Kund ID: <input type="text" name="username" /><br>
Lösenord: <input type="password" name="password" /><br>
<input name="Skicka" type="submit" id="Skicka" value="Login" />
</form></p>
form.php
<?php
session_start();
if ($_SESSION['loggedin'] != 1) {
header("Location: login.php");
exit;
}
?>
<form action="order.php" method="post">
<table border="0" cellspacing="3" cellpadding="0">
<tr>
<td>Skylt<br><select name="skylttyp1">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td width="20" class="bodytext">Antal: <input name="antal1" type="text" id="antal1" size="10"></td>
<td width="50" class="bodytext">Textrad1: <input name="skylt1text1" type="text" id="skylt1text1" size="32"></td>
<td width="50" class="bodytext">Textrad2 (om möjligt): <input name="skylt1text2" type="text" id="skylt1text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp2">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal2" type="text" id="antal2" size="10"></td>
<td class="bodytext"><input name="skylt2text1" type="text" id="skylt2text1" size="32"></td>
<td class="bodytext"><input name="skylt2text2" type="text" id="skylt2text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp3">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal3" type="text" id="antal3" size="10"></td>
<td class="bodytext"><input name="skylt3text1" type="text" id="skylt3text1" size="32"></td>
<td class="bodytext"><input name="skylt3text2" type="text" id="skylt3text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp4">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal4" type="text" id="antal4" size="10"></td>
<td class="bodytext"><input name="skylt4text1" type="text" id="skylt4text1" size="32"></td>
<td class="bodytext"><input name="skylt4text2" type="text" id="skylt4text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp5">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal5" type="text" id="antal5" size="10"></td>
<td class="bodytext"><input name="skylt5text1" type="text" id="skylt5text1" size="32"></td>
<td class="bodytext"><input name="skylt5text2" type="text" id="skylt5text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp6">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal6" type="text" id="antal6" size="10"></td>
<td class="bodytext"><input name="skylt6text1" type="text" id="skylt6text1" size="32"></td>
<td class="bodytext"><input name="skylt6text2" type="text" id="skylt6text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp7">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal7" type="text" id="antal7" size="10"></td>
<td class="bodytext"><input name="skylt7text1" type="text" id="skylt7text1" size="32"></td>
<td class="bodytext"><input name="skylt7text2" type="text" id="skylt7text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp8">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal8" type="text" id="antal8" size="10"></td>
<td class="bodytext"><input name="skylt8text1" type="text" id="skylt8text1" size="32"></td>
<td class="bodytext"><input name="skylt8text2" type="text" id="skylt8text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp9">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal9" type="text" id="antal9" size="10"></td>
<td class="bodytext"><input name="skylt9text1" type="text" id="skylt9text1" size="32"></td>
<td class="bodytext"><input name="skylt9text2" type="text" id="skylt9text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp10">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal10" type="text" id="antal10" size="10"></td>
<td class="bodytext"><input name="skylt10text1" type="text" id="skylt10text1" size="32"></td>
<td class="bodytext"><input name="skylt10text2" type="text" id="skylt10text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp11">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal11" type="text" id="antal11" size="10"></td>
<td class="bodytext"><input name="skylt11text1" type="text" id="skylt11text1" size="32"></td>
<td class="bodytext"><input name="skylt11text2" type="text" id="skylt11text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp12">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal12" type="text" id="antal12" size="10"></td>
<td class="bodytext"><input name="skylt12text1" type="text" id="skylt12text1" size="32"></td>
<td class="bodytext"><input name="skylt12text2" type="text" id="skylt12text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp13">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal13" type="text" id="antal13" size="10"></td>
<td class="bodytext"><input name="skylt13text1" type="text" id="skylt13text1" size="32"></td>
<td class="bodytext"><input name="skylt13text2" type="text" id="skylt13text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp14">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal14" type="text" id="antal14" size="10"></td>
<td class="bodytext"><input name="skylt14text1" type="text" id="skylt14text1" size="32"></td>
<td class="bodytext"><input name="skylt14text2" type="text" id="skylt14text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp15">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal15" type="text" id="antal15" size="10"></td>
<td class="bodytext"><input name="skylt15text1" type="text" id="skylt15text1" size="32"></td>
<td class="bodytext"><input name="skylt15text2" type="text" id="skylt15text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp16">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal16" type="text" id="antal16" size="10"></td>
<td class="bodytext"><input name="skylt16text1" type="text" id="skylt16text1" size="32"></td>
<td class="bodytext"><input name="skylt16text2" type="text" id="skylt16text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp17">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal17" type="text" id="antal17" size="10"></td>
<td class="bodytext"><input name="skylt17text1" type="text" id="skylt17text1" size="32"></td>
<td class="bodytext"><input name="skylt17text2" type="text" id="skylt17text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp18">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal18" type="text" id="antal18" size="10"></td>
<td class="bodytext"><input name="skylt18text1" type="text" id="skylt18text1" size="32"></td>
<td class="bodytext"><input name="skylt18text2" type="text" id="skylt18text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp19">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal19" type="text" id="antal19" size="10"></td>
<td class="bodytext"><input name="skylt19text1" type="text" id="skylt19text1" size="32"></td>
<td class="bodytext"><input name="skylt19text2" type="text" id="skylt19text2" size="32"></td>
</tr>
<tr>
<td><select name="skylttyp20">
<option></option>
<option>A</option>
<option>A1</option>
<option>B</option>
<option>B1</option>
<option>C</option>
<option>C1</option>
<option>E</option>
<option>G</option>
<option>H</option>
<option>H2</option>
</select>
<td class="bodytext"><input name="antal20" type="text" id="antal20" size="10"></td>
<td class="bodytext"><input name="skylt20text1" type="text" id="skylt20text1" size="32"></td>
<td class="bodytext"><input name="skylt20text2" type="text" id="skylt20text2" size="32"></td>
</tr>
<tr>
<td class="bodytext"><br></td>
</td>
</tr>
</table>
</div>
<div class="float">
<table border="0" cellspacing="0">
<tr>
<td><a href="filer/Skyltbeskrivning.pdf" target="new"><img src="filer/Skyltbeskrivning.jpg" width="460" height="740" alt="skyltbeskrivning"></a></td>
</tr>
</table>
</div>
<table border="0" cellpadding="0" cellspacing="3">
<tr>
<td class="bodytext">Namn:<br><input name="namn" type="text" id="namn" size="30"></td>
<td class="bodytext">Mail:<br><input name="email" type="text" id="email" size="30"></td>
<td class="bodytext">Tel:<br><input name="tel" type="text" id="tel" size="30"></td>
</tr>
<tr>
<td class="bodytext">Märkning:<br><input name="mark" type="text" id="mark" size="30"></td>
<td class="bodytext">Objekt:<br><input name="objekt" type="text" id="objekt" size="30"></td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="3">
<tr>
<td class="bodytext">Leveransadress:<br><textarea name="adress" cols="60" rows="4" id="adress" class="bodytext"></textarea></td>
<td class="bodytext">Eventuell kommentar gällande avvikelser:<br><textarea name="kommentar" cols="50" rows="4" id="kommentar" class="bodytext"></textarea></td>
</tr>
<tr>
<td align="left" valign="top"><span class="bodytext">
<input name="Submit" type="submit" class="button-skicka" value="Skicka">
</tr>
</table>
</form>
order.php
<?php
$skylt1 = check_input($_POST["skylttyp1"]);
$antal1 = check_input($_POST["antal1"]);
$skylt1text1 = check_input($_POST["skylt1text1"]);
$skylt1text2 = check_input($_POST["skylt1text2"]);
$skylt2 = check_input($_POST["skylttyp2"]);
$antal2 = check_input($_POST["antal2"]);
$skylt2text1 = check_input($_POST["skylt2text1"]);
$skylt2text2 = check_input($_POST["skylt2text2"]);
$skylt3 = check_input($_POST["skylttyp3"]);
$antal3 = check_input($_POST["antal3"]);
$skylt3text1 = check_input($_POST["skylt3text1"]);
$skylt3text2 = check_input($_POST["skylt3text2"]);
$skylt4 = check_input($_POST["skylttyp4"]);
$antal4 = check_input($_POST["antal4"]);
$skylt4text1 = check_input($_POST["skylt4text1"]);
$skylt4text2 = check_input($_POST["skylt4text2"]);
$skylt5 = check_input($_POST["skylttyp5"]);
$antal5 = check_input($_POST["antal5"]);
$skylt5text1 = check_input($_POST["skylt5text1"]);
$skylt5text2 = check_input($_POST["skylt5text2"]);
$skylt6 = check_input($_POST["skylttyp6"]);
$antal6 = check_input($_POST["antal6"]);
$skylt6text1 = check_input($_POST["skylt6text1"]);
$skylt6text2 = check_input($_POST["skylt6text2"]);
$skylt7 = check_input($_POST["skylttyp7"]);
$antal7 = check_input($_POST["antal7"]);
$skylt7text1 = check_input($_POST["skylt7text1"]);
$skylt7text2 = check_input($_POST["skylt7text2"]);
$skylt8 = check_input($_POST["skylttyp8"]);
$antal8 = check_input($_POST["antal8"]);
$skylt8text1 = check_input($_POST["skylt8text1"]);
$skylt8text2 = check_input($_POST["skylt8text2"]);
$skylt8 = check_input($_POST["skylttyp8"]);
$antal8 = check_input($_POST["antal8"]);
$skylt8text1 = check_input($_POST["skylt8text1"]);
$skylt8text2 = check_input($_POST["skylt8text2"]);
$skylt9 = check_input($_POST["skylttyp9"]);
$antal9 = check_input($_POST["antal9"]);
$skylt9text1 = check_input($_POST["skylt9text1"]);
$skylt9text2 = check_input($_POST["skylt9text2"]);
$skylt10 = check_input($_POST["skylttyp10"]);
$antal10 = check_input($_POST["antal10"]);
$skylt10text1 = check_input($_POST["skylt10text1"]);
$skylt10text2 = check_input($_POST["skylt10text2"]);
$skylt11 = check_input($_POST["skylttyp11"]);
$antal11 = check_input($_POST["antal11"]);
$skylt11text1 = check_input($_POST["skylt11text1"]);
$skylt11text2 = check_input($_POST["skylt11text2"]);
$skylt12 = check_input($_POST["skylttyp12"]);
$antal12 = check_input($_POST["antal12"]);
$skylt12text1 = check_input($_POST["skylt12text1"]);
$skylt12text2 = check_input($_POST["skylt12text2"]);
$skylt13 = check_input($_POST["skylttyp13"]);
$antal13 = check_input($_POST["antal13"]);
$skylt13text1 = check_input($_POST["skylt13text1"]);
$skylt13text2 = check_input($_POST["skylt13text2"]);
$skylt14 = check_input($_POST["skylttyp14"]);
$antal14 = check_input($_POST["antal14"]);
$skylt14text1 = check_input($_POST["skylt14text1"]);
$skylt14text2 = check_input($_POST["skylt14text2"]);
$skylt15 = check_input($_POST["skylttyp15"]);
$antal15 = check_input($_POST["antal15"]);
$skylt15text1 = check_input($_POST["skylt15text1"]);
$skylt15text2 = check_input($_POST["skylt15text2"]);
$skylt16 = check_input($_POST["skylttyp16"]);
$antal16 = check_input($_POST["antal16"]);
$skylt16text1 = check_input($_POST["skylt16text1"]);
$skylt16text2 = check_input($_POST["skylt16text2"]);
$skylt17 = check_input($_POST["skylttyp17"]);
$antal17 = check_input($_POST["antal17"]);
$skylt17text1 = check_input($_POST["skylt17text1"]);
$skylt17text2 = check_input($_POST["skylt17text2"]);
$skylt18 = check_input($_POST["skylttyp18"]);
$antal18 = check_input($_POST["antal18"]);
$skylt18text1 = check_input($_POST["skylt18text1"]);
$skylt18text2 = check_input($_POST["skylt18text2"]);
$skylt19 = check_input($_POST["skylttyp19"]);
$antal19 = check_input($_POST["antal19"]);
$skylt19text1 = check_input($_POST["skylt19text1"]);
$skylt19text2 = check_input($_POST["skylt19text2"]);
$skylt20 = check_input($_POST["skylttyp20"]);
$antal20 = check_input($_POST["antal20"]);
$skylt20text1 = check_input($_POST["skylt20text1"]);
$skylt20text2 = check_input($_POST["skylt20text2"]);
$comments = check_input($_POST['kommentar']);
$string = '"Namn","Email","Tel"' . PHP_EOL;
$string .= "\"$yourname\",\"$email\",\"$tel\"" . PHP_EOL;
$string .= '"SKYLT","ANTAL","TEXT1","TEXT2"' . PHP_EOL;
$string .= "\"$skylt1\",\"$antal1\",\"$skylt1text1\",\"$skylt1text2\"" . PHP_EOL;
$string .= "\"$skylt2\",\"$antal2\",\"$skylt2text1\",\"$skylt2text2\"" . PHP_EOL;
$string .= "\"$skylt3\",\"$antal3\",\"$skylt3text1\",\"$skylt3text2\"" . PHP_EOL;
$string .= "\"$skylt4\",\"$antal4\",\"$skylt4text1\",\"$skylt4text2\"" . PHP_EOL;
$string .= "\"$skylt5\",\"$antal5\",\"$skylt5text1\",\"$skylt5text2\"" . PHP_EOL;
$string .= "\"$skylt6\",\"$antal6\",\"$skylt6text1\",\"$skylt6text2\"" . PHP_EOL;
$string .= "\"$skylt7\",\"$antal7\",\"$skylt7text1\",\"$skylt7text2\"" . PHP_EOL;
$string .= "\"$skylt8\",\"$antal8\",\"$skylt8text1\",\"$skylt8text2\"" . PHP_EOL;
$string .= "\"$skylt9\",\"$antal9\",\"$skylt9text1\",\"$skylt9text2\"" . PHP_EOL;
$string .= "\"$skylt10\",\"$antal10\",\"$skylt10text1\",\"$skylt10text2\"" . PHP_EOL;
$string .= "\"$skylt11\",\"$antal11\",\"$skylt11text1\",\"$skylt11text2\"" . PHP_EOL;
$string .= "\"$skylt12\",\"$antal12\",\"$skylt12text1\",\"$skylt12text2\"" . PHP_EOL;
$string .= "\"$skylt13\",\"$antal13\",\"$skylt13text1\",\"$skylt13text2\"" . PHP_EOL;
$string .= "\"$skylt14\",\"$antal14\",\"$skylt14text1\",\"$skylt14text2\"" . PHP_EOL;
$string .= "\"$skylt15\",\"$antal15\",\"$skylt15text1\",\"$skylt15text2\"" . PHP_EOL;
$string .= "\"$skylt16\",\"$antal16\",\"$skylt16text1\",\"$skylt16text2\"" . PHP_EOL;
$string .= "\"$skylt17\",\"$antal17\",\"$skylt17text1\",\"$skylt17text2\"" . PHP_EOL;
$string .= "\"$skylt18\",\"$antal18\",\"$skylt18text1\",\"$skylt18text2\"" . PHP_EOL;
$string .= "\"$skylt19\",\"$antal19\",\"$skylt19text1\",\"$skylt19text2\"" . PHP_EOL;
$string .= "\"$skylt20\",\"$antal20\",\"$skylt20text1\",\"$skylt20text2\"" . PHP_EOL;
$string .= '"Leveransadress","Kommentar",""' . PHP_EOL;
$yourname = check_input($_REQUEST['namn'], "Ange namn");
$email = check_input($_REQUEST['email'], "Ange mail");
$tel = check_input($_REQUEST['tel'], "Ange telefon");
$objekt = check_input($_REQUEST['objekt'], "Ange objekt");
$marking = check_input($_REQUEST['mark'], "Ange märkning");
$adress = check_input($_REQUEST['adress'], "Ange leveransadress");
$to = "test@testmail.se";
$subject = "ORDER TEST";
$message = "testorder".
"Email: $email" . "\n" .
"Namn: $yourname" . "\n" .
"Tel: $tel";
"Kommentar:
$comments";
//Innehåll i filen
$cr = "\n";
$data = '"EMAIL"' . ',' . '"NAMN"' . ',' . '"TEL"' . $cr;
$data .= "$email" . ',' . "$yourname" . ',' . "$tel" . $cr;
$data .= " " . $cr;
$data .= '"MÄRKNING"' . ',' . '"OBJEKT"' . $cr;
$data .= "$marking" . ',' . "$objekt" . $cr;
$data .= " " . $cr;
$data .= "SKYLT" . ',' . "ANTAL" . ',' . "TEXT1" . ',' . "TEXT2" . $cr;
$data .= "$skylt1" . ',' . "$antal1" . ',' . "$skylt1text1" . ',' . "$skylt1text2" . $cr;
$data .= "$skylt2" . ',' . "$antal2" . ',' . "$skylt2text1" . ',' . "$skylt2text2" . $cr;
$data .= "$skylt3" . ',' . "$antal3" . ',' . "$skylt3text1" . ',' . "$skylt3text2" . $cr;
$data .= "$skylt4" . ',' . "$antal4" . ',' . "$skylt4text1" . ',' . "$skylt4text2" . $cr;
$data .= "$skylt5" . ',' . "$antal5" . ',' . "$skylt5text1" . ',' . "$skylt5text2" . $cr;
$data .= "$skylt6" . ',' . "$antal6" . ',' . "$skylt6text1" . ',' . "$skylt6text2" . $cr;
$data .= "$skylt7" . ',' . "$antal7" . ',' . "$skylt7text1" . ',' . "$skylt7text2" . $cr;
$data .= "$skylt8" . ',' . "$antal8" . ',' . "$skylt8text1" . ',' . "$skylt8text2" . $cr;
$data .= "$skylt9" . ',' . "$antal9" . ',' . "$skylt9text1" . ',' . "$skylt9text2" . $cr;
$data .= "$skylt10" . ',' . "$antal10" . ',' . "$skylt10text1" . ',' . "$skylt10text2" . $cr;
$data .= "$skylt11" . ',' . "$antal11" . ',' . "$skylt11text1" . ',' . "$skylt11text2" . $cr;
$data .= "$skylt12" . ',' . "$antal12" . ',' . "$skylt12text1" . ',' . "$skylt12text2" . $cr;
$data .= "$skylt13" . ',' . "$antal13" . ',' . "$skylt13text1" . ',' . "$skylt13text2" . $cr;
$data .= "$skylt14" . ',' . "$antal14" . ',' . "$skylt14text1" . ',' . "$skylt14text2" . $cr;
$data .= "$skylt15" . ',' . "$antal15" . ',' . "$skylt15text1" . ',' . "$skylt15text2" . $cr;
$data .= "$skylt16" . ',' . "$antal16" . ',' . "$skylt16text1" . ',' . "$skylt16text2" . $cr;
$data .= "$skylt17" . ',' . "$antal17" . ',' . "$skylt17text1" . ',' . "$skylt17text2" . $cr;
$data .= "$skylt18" . ',' . "$antal18" . ',' . "$skylt18text1" . ',' . "$skylt18text2" . $cr;
$data .= "$skylt19" . ',' . "$antal19" . ',' . "$skylt19text1" . ',' . "$skylt19text2" . $cr;
$data .= "$skylt20" . ',' . "$antal20" . ',' . "$skylt20text1" . ',' . "$skylt20text2" . $cr;
$data .= " " . $cr;
$data .= '"LEV.ADRESS"' . ',' . '"MEDD."' . $cr;
$data .= "$adress" . ',' . "$comments" . $cr;
$fp = fopen('order.csv','a');
fwrite($fp,$data);
fclose($fp);
$attachments[] = Array(
'data' => $data,
'name' => 'order.csv',
'type' => 'application/vnd.ms-excel'
);
//Genererar boundary sträng
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
//Headers till bifogade filen
$headers = "MIME-Version: 1.0\n" .
"From: {$email}\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
//Multipart boundary över blanka meddelandet
$message = "Multi-part meddelande i MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/html; charset=\"UTF-8\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$text . "\n\n";
//Lägg till bifogning
foreach($attachments as $attachment){
$data = chunk_split(base64_encode($attachment['data']));
$name = $attachment['name'];
$type = $attachment['type'];
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$type};\n" .
" name=\"{$name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" ;
}
$message .= "--{$mime_boundary}--\n";
/* Email inte i rätt format */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("Mail inte giltig");
}
mail($to, $subject, $message, $headers) or die ("Failure");
?>
<br><br>
<h2>Tack för er order! Vi behandlar den så fort vi kan.</h2>
<br>
<?php
/* Skicka vidare till tack sidan */
header('Location: /tack.html');
exit();
/* Funktioner */
function check_input($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>
<html>
<body>
<b>Gå bakåt och rätta till följande fel:</b><br />
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
?>
Mycket kod men tänkte att det är bättre att ta med allt. Alltså jag vill ha tidigare ifylld info sparad då man går bakåt till formuläret igen efter att felmeddelandet visats:
<b>Gå bakåt och rätta till följande fel:</b><br />
<?php echo $myError; ?>