Hallo Zusammen,
ich habe ein kleinen Ticketvorverkauf gestern geschrieben und gestern Nacht hat es kurz funktioniert. Bin sehr zufrieden schlafen gegangen und nun das:
Ich übermittel ein Forumlar von tickets.php nach zahlung.php mittels session. Wenn ich submit klicke werde ich weiter geleitet und die Variablen sind verschwunden! Gehe ich zurück und klicke erneut sind sie an Ort und Stelle.
Außerdem ein großes Misterium : header("Location: zahlung.php"); funktioniert als Überleitung nicht. Bin erstmal für diese Zeile auf java umgesteigen. Hoffe ihr könnt mir helfen!
Seite1: tickets.php
Zitat
Zitat
ZitatAlles anzeigen<?php
session_start();
// Wenn auf 'Eintragen' geklickt wurde, prüfe das Formular
if(isset($_POST['submit']) AND $_POST['submit']=="."){
// Fehlerarray erzeugen
$errors = array();
// Prüfen, ob alle Felder existieren
if(!isset($_POST['name'], $_POST['mailadd'], $_POST['prename'], $_POST['streetadd'], $_POST['streetnradd'], $_POST['plzadd'], $_POST['ortadd'], $_POST['mailadd'], $_POST['teleadd'])) {
$errors[] = "Bitte benutzen sie unser Formular."; }
else{
// Prüfen, ob Name und Email nicht leer sind
if(!$_POST['name']empty($_POST['name'])){
$errors[] = "Bitte geben Sie ihren Namen ein.";}
if(!$_POST['prename']empty($_POST['prename'])){
$errors[] = "Bitte geben Sie ihren Namen ein."; }
if(!$_POST['streetadd']empty($_POST['streetadd'])){
$errors[] = "Bitte geben Sie ihre richtige Adresse ein."; }
if(!$_POST['streetnradd']empty($_POST['streetnradd'])){
$errors[] = "Bitte geben Sie ihre richtige Adresse ein."; }
if(!$_POST['plzadd']empty($_POST['plzadd'])){
$errors[] = "Bitte geben Sie ihre richtige Adresse ein."; }
if(!$_POST['ortadd']empty($_POST['ortadd'])){
$errors[] = "Bitte geben Sie ihre richtige Adresse ein."; }
if(!$_POST['mailadd']empty($_POST['mailadd'])){
$errors[] = "Bitte geben Sie ihren Email-Adresse ein."; }
if(!$_POST['teleadd']empty($_POST['teleadd'])){
$errors[] = "Bitte geben Sie ihre Telefonnummer ein."; }
}
}
// Wenn das Formular geprüft wurde und kein Fehler gefunden wurde verarbeite die Daten
if(isset($errors) AND !count($errors)){
$_SESSION['name']=$_REQUEST['name'];
$_SESSION['prename']=$_REQUEST['prename'];
$_SESSION['streetadd']=$_REQUEST['streetadd'];
$_SESSION['streetnradd']=$_REQUEST['streetnradd'];
$_SESSION['ortadd']=$_REQUEST['ortadd'];
$_SESSION['plzadd']=$_REQUEST['plzadd'];
$_SESSION['mailadd']=$_REQUEST['mailadd'];
$_SESSION['teleadd']=$_REQUEST['teleadd'];
?>
<script language=javascript>
document.location.href = 'zahlung.php'
</script>
<?php
}
// Beim ersten Aufruf oder beim Finden eines Fehlers wird das Formular angezeigt
else {
// Wurde bei der Formularprüfung ein Fehler gefunden wird er über dem Formular ausgegeben
if(isset($errors)){
echo "Sorry, ihre Daten konnten nicht bearbeitet werden.<br>\n".
"<br>\n";
foreach($errors as $error)
echo $error."<br>\n";
echo "<hr>\n";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
...
</head>
<body>
...
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" accept-charset="ISO-8859-1">
<table id="tabellenformation">
<tr>
<td align="right">*Vorname,Zuname:</td>
<td>
<?php
// Stellt den Vornamen wieder her, wenn ein Fehler auftrat
if(isset($_POST['prename'])) {
// htmlentities sichert das Formular gegen Cross-Scripting
echo "<input type=\"text\" name=\"prename\" value=\"".htmlentities($_POST['prename'], ENT_QUOTES)."\">\n";
} else {
echo "<input type=\"text\" name=\"prename\">\n"; }
?>
<?php
// Stellt den Namen wieder her, wenn ein Fehler auftrat
if(isset($_POST['name'])) {
// htmlentities sichert das Formular gegen Cross-Scripting
echo "<input type=\"text\" name=\"name\" value=\"".htmlentities($_POST['name'], ENT_QUOTES)."\">\n";
} else {
echo "<input type=\"text\" name=\"name\">\n"; }
?>
</td></tr>
<td align="right">*Straße,Hausnummer:</td>
<td>
<?php
// Stellt den Strasse wieder her, wenn ein Fehler auftrat
if(isset($_POST['streetadd'])) {
// htmlentities sichert das Formular gegen Cross-Scripting
echo "<input type\"text\" name=\"streetadd\" value=\"".htmlentities($_POST['streetadd'], ENT_QUOTES)."\">\n";
} else {
echo "<input type=\"text\" name=\"streetadd\">\n"; }
?>
<?php
// Stellt die Hausnummer wieder her, wenn ein Fehler auftrat
if(isset($_POST['streetnradd'])) {
// htmlentities sichert das Formular gegen Cross-Scripting
echo "<input type=\"text\" name=\"streetnradd\" value=\"".htmlentities($_POST['streetnradd'], ENT_QUOTES)."\">\n";
} else {
echo "<input type=\"text\" name=\"streetnradd\">\n"; }
?>
</td></tr>
<td align="right">*PLZ, Ort:</td>
<td>
<?php
// Stellt den PLZ wieder her, wenn ein Fehler auftrat
if(isset($_POST['plzadd'])) {
// htmlentities sichert das Formular gegen Cross-Scripting
echo "<input type=\"text\" name=\"plzadd\" value=\"".htmlentities($_POST['plzadd'], ENT_QUOTES)."\">\n";
} else {
echo "<input type=\"text\" name=\"plzadd\">\n"; }
?>
<?php
// Stellt die ORT wieder her, wenn ein Fehler auftrat
if(isset($_POST['ortadd'])) {
// htmlentities sichert das Formular gegen Cross-Scripting
echo "<input type=\"text\" name=\"ortadd\" value=\"".htmlentities($_POST['ortadd'], ENT_QUOTES)."\">\n";
} else {
echo "<input type=\"text\" name=\"ortadd\">\n"; }
?>
</td></tr>
<tr><td>*Email-Adresse:</td><td>
<?php
// Stellt die Email-Adresse wieder her, wenn ein Fehler auftrat
if(isset($_POST['mailadd'])) {
echo "<input size=\"47\" type=\"text\" name=\"mailadd\" value=\"".htmlentities($_POST['mailadd'], ENT_QUOTES)."\">\n";
} else {
echo "<input size=\"47\" type=\"text\" name=\"mailadd\">\n"; }
?>
</td></tr>
<tr><td>*Telefonnummer:</td><td>
<?php
// Stellt die Nummer wieder her, wenn ein Fehler auftrat
if(isset($_POST['teleadd'])) {
echo "<input size=\"47\" type=\"text\" name=\"teleadd\" value=\"".htmlentities($_POST['teleadd'], ENT_QUOTES)."\">\n";
} else {
echo "<input size=\"47\" type=\"text\" name=\"teleadd\">\n"; }
?>
</td></tr> <tr><td><input type="submit" id="absenden" name="submit" style="padding:28px; background-image:url(pic/weiter.png); width:162px;" value="."></td><td></td></tr>
</table>
</form>
<?php
}
?>
<script language=javascript>
if ("<?php $file = fopen("restkarten.txt","r+"); $reste = fgets($file, 10); fclose($file); echo $reste; ?>" < "2")
{
document.getElementById("absenden").disabled = true;
}
else
{
document.getElementById("absenden").disabled = false;
}
</script>
<br><br>
</body>
</html>
Seite2 zahlung.php
Zitat
Zitat
ZitatAlles anzeigen<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
...
</head>
<body>
...
<?php
// end alles eingetragen
$name = "".$_SESSION['name']."\n\n";
$vorname = "".$_SESSION['prename']."\n\n";
$street="".$_SESSION['streetadd']."\n\n";
$streetnr="".$_SESSION['streetnradd']."\n\n";
$plz="".$_SESSION['plzadd']."\n\n";
$ort="".$_SESSION['ortadd']."\n\n";
$email="".$_SESSION['mailadd']."\n\n";
$tele="".$_SESSION['teleadd']."\n\n";
?>
<form action="#" method="post" name="zfeld">
<table border="0" cellpadding="4" cellspacing="0" style=" float:left; padding:20px;background-color:#999999;">
<tr>
<td align="left">Ihr Name:</td>
<td><?php echo $vorname ." ". $name; ?></td>
</tr>
<tr>
<td align="left">Ihre Adresse:</td>
<td><?php echo $street ." ". $streetnr ?><br><?php echo $plz ." ". $ort; ?></td>
</tr>
<tr>
<td align="left">Ihr Telefonnummer:</td>
<td><?php echo $tele; ?></td>
</tr>
<tr>
<td align="left">Ihr Emailadresse:</td>
<td><?php echo $email; ?></td>
</tr>
<tr>
<td align="left">Sind alle Angaben korrekt und vollständig?</td>
<td> <input type=checkbox name="check" value="aktiv"> Ja, alles richtig.</td>
</tr>
<tr>
<td><input type="hidden" value="Ticket">Ticket</td>
<td><select name="ticketart">
<option value="0"></option>
<option value="12"> €12,00 EUR</option>
<option value="9">€9,00 EUR</option></select></td>
</tr>
<tr>
<td><input type="hidden" value="zahl">Anzahl</td>
<td><select name="zahl">
<option value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
<option value="32">32</option>
<option value="33">33</option>
<option value="34">34</option>
<option value="35">35</option>
<option value="36">36</option>
<option value="37">37</option>
<option value="38">38</option>
<option value="39">39</option>
<option value="40">40</option>
<option value="41">41</option>
<option value="42">42</option>
<option value="43">43</option>
<option value="44">44</option>
<option value="45">45</option>
<option value="46">46</option>
<option value="47">47</option>
<option value="48">48</option>
<option value="49">49</option>
<option value="50">50</option>
<option value="51">51</option>
<option value="52">52</option>
<option value="53">53</option>
<option value="54">54</option>
<option value="55">55</option>
<option value="56">56</option>
<option value="57">57</option>
<option value="58">58</option>
<option value="59">59</option>
</select></td>
</tr>
<tr>
<td>Zu jeder Bestellung wird eine <br> Bearbeitungsgebühr und Versandkosten <br> von 1,50 Euro beanschlagt.
<br>Bestätigen Sie mit "Weiter", <br>so ist die Bestellung verbindlich(!)</td>
<td><input type="submit" size="15" name="zfeld" id="absenden" style="padding:28px; background-image:url(pic/weiter.png); width:162px;" value=""></td>
</tr>
</table>
</form>
<?php
$summe="0";
$porto="1.50";
$visible="hidden";
if (isset($_POST['zfeld'])) {
if(isset($_POST['check'])) {
$anzahl = $_POST['zahl'];
$ticket = $_POST['ticketart'];
$summe = $anzahl*$ticket+$porto;
$file = fopen("restkarten.txt","r+");
$reste = fgets($file, 10);
$reste=$reste - $anzahl; ;
rewind($file);
fwrite($file, $reste);
fclose($file);
$datei = fopen("bestellnummer.txt","r+");
$bestellnummer = fgets($datei, 10);
$bestellnummer++;
rewind($datei);
fwrite($datei, $bestellnummer);
fclose($datei);
$datum = date("d.m.Y");
$uhrzeit = date("H:i");
$daten="\n $vorname $name hat am $datum um $uhrzeit Uhr Bestellt. Adresse: $street $streetnr in $plz $ort erreichbar unter $email oder $tele. Bestellung: $anzahl mal $ticket er Kategorie, also Zusammen $summe Euro. Bestellnummer: $bestellnummer ******************";
$file = "bestellung.txt";
$fp = fOpen($file,"a");
fPuts($fp, $daten);
fClose ($fp);
$visible="visible";
$betreff = 'Betreff';
$headers = 'From: x@a.de'. "\r\n" .
'Reply-To: x@a.de' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$nachricht= "Es...";
$knachricht= "Hallo...";
mail($email, $betreff, $knachricht,$headers);
mail('x@a.de', $betreff, $nachricht,$headers);
}else {
echo 'Sie müssen alle Angaben tätigen um die Tickets verbindlich kaufen zu können.';
$visible="hidden";
}
}
?>
<div id="kasten" style="visibility:<?php echo $visible; ?>; text-align:left; width:500px; height:400px; float:right; margin-right:30px;">
Soeben haben Sie eine Bestätigungs Email an die angegeben Adresse bekommen. Bei uns wurde Ihre Buchung registriert und wir bestätigen<br> den Zahlungseingang erneut. <br>
Ihre Buchungsnummer : <?php echo $bestellnummer; ?>.<br>
Sie haben <?php echo $anzahl; ?> Tickets zum Preis von je <?php echo $ticket; ?> Euro bestellt.
Sie haben die Möglichkeit bequem mit Paypal zu bezahlen oder konvetionell eine Überweisung an folgenden Konto durch zu
</div>
</body>
</html>