Also ich bin grad bisl am verzweifel ich habe 2 Formulare mit php übergabe in die Datenbank. Ein Formular funktioniert super, dass zweite gibt nen Fatal Error obwohl beide Dateien strukturel gleich sind. Was übersehe ich hier?
Formular 1 funktioniert
Formular dazu
Formular 2
Formular dazu
diese gibt einen Fatalerror aus mit verweis auf diese Zeile
ich habe jetzt schritt für schritt alles ausgetestet was php betrifft und konnte keinen Fehler finden. Bei dem Formular selbst bin ich nicht ganz so sicher
hat dazu jemand ne idee?
Formular 1 funktioniert
PHP-Code:
session_start();
include('includes/config.php');
//Genrating CSRF Token
if (empty($_SESSION['token'])) {
$_SESSION['token'] = bin2hex(random_bytes(32));
}
if(isset($_POST['submit']))
{
//Verifying CSRF Token
if (!empty($_POST['csrftoken'])) {
if (hash_equals($_SESSION['token'], $_POST['csrftoken'])) {
if($_POST['Captcha'] == $_SESSION['rand_code'])
{
$titel=$_POST['titel'];
$email=$_POST['email'];
$url=$_POST['url'];
$descr=$_POST['descr'];
$st1='0';
$query=mysqli_query($con,"insert into tblpartner(titel,email,url,descr,status) values('$titel','$email','$url','$descr','$st1')");
if($query):
echo "<script>alert('Partner Link erfolgreich eingereicht. Dieser muss vom Administrator freigegben werden.');</script>";
unset($_SESSION['token']);
else :
echo "<script>alert('Es ist ein Fehler aufgetreten, bitte versuche es erneut.');</script>";
endif;
}
}
}
}
HTML-Code:
<form name="Comment" method="post"> <input type="hidden" name="csrftoken" value="<?php echo htmlentities($_SESSION['token']); ?>" /> <div class="form-group"> <input type="text" name="titel" class="form-control" placeholder="Homepagetitel" required='required'> </div> <div class="form-group"> <input type="email" name="email" class="form-control" placeholder="Emailadresse" required='required'> </div> <div class="form-group"> <input type="text" name="url" class="form-control" placeholder="Homepage Url" required='required'> </div> <div class="form-group"> <textarea class="form-control" name="descr" rows="3" placeholder="Homepagebeschreibung" required='required'></textarea> </div><div class="form-group"> <table width="100%" border="0"> <tr> <td><input class="textbox" type="text" name="Captcha" value="" size="7" placeholder="Code ->" style="border-radius: 5px;" required='required' /></td> <td><div style="width:73px; height:22px; border:0px solid #AFC2FF;"><img src="captcha.php" style="border-radius: 5px;"></div></td> <td><button type="submit" class="card-header" name="submit">senden</button></td> </tr> </table></div> </form>
PHP-Code:
session_start();
include('includes/config.php');
//Genrating CSRF Token
if (empty($_SESSION['token'])) {
$_SESSION['token'] = bin2hex(random_bytes(32));
}
if(isset($_POST['submit']))
{
//Verifying CSRF Token
if (!empty($_POST['csrftoken'])) {
if (hash_equals($_SESSION['token'], $_POST['csrftoken'])) {
if($_POST['Captcha'] == $_SESSION['rand_code'])
{
$titel = $_POST['titel'];
$text = $_POST['text'];
$preis = $_POST['preis'];
$zustand = $_POST['zustand'];
$kategorie = $_POST['kategorie'];
$unterkategorie = $_POST['unterkategorie'];
$plz = $_POST['plz'];
$versand = $_POST['versand'];
$kontakt = $_POST['kontakt'];
$st1='0';
$query=mysqli_query($con,"insert into tblanzeiger (titel,text,preis,zustand,kategorie,unterkategorie,plz,versand,kontakt,status) values('$titel','$text','$preis','$zustand','$kategorie','$unterkategorie','$plz','$versand','$kontakt','$st1')");
if($query):
echo "<script>alert('Anzeige erfolgreich eingereicht. Dieser muss vom Administrator freigegben werden.');</script>";
unset($_SESSION['token']);
else :
echo "<script>alert('Es ist ein Fehler aufgetreten, bitte versuche es erneut.');</script>";
endif;
}
}
}
}
HTML-Code:
<form name="Comment" method="post" class="mb-3"> <input type="hidden" name="csrftoken" value="<?php echo htmlentities($_SESSION['token']); ?>" /> <div class="form-group"> <input type="text" name="titel" class="form-control" placeholder="Artikel" required='required'> </div> <div class="form-group"> <textarea class="form-control" name="text" rows="3" placeholder="Artikelbeschreibung" required='required'></textarea> </div> <table width="100%" border="0"> <tr> <td><div class="form-group"> <input type="text" name="preis" class="form-control" placeholder="Artikelpreis (bei kostenlos 0 eintragen)" required='required'> </div></td> <td align="right"><div class="form-group"> <div class="form-group"> <select name="unterkategorie" required='required'> <option>Auswahl zum Preis</option> <option value="Kostenpflichtig">Kostenpflichtig</option> <option value="Kostenlos">Kostenlos</option> </select> </div> </div></td> </tr> </table> <div class="form-group"> <select name="kategorie" required='required'> <option>Kategorie (lebende Tiere dürfen hier nicht angeboten werden!)</option> <option value="Fische Zubehör">Fische Zubehör</option> <option value="Hunde Zubehör">Hunde Zubehör</option> <option value="Katzen Zubehör">Katzen Zubehör</option> <option value="Kleintiere Zubehör">Kleintiere Zubehör</option> <option value="Nutztiere Zubehör">Nutztiere Zubehör</option> <option value="Pferde Zubehör">Pferde Zubehör</option> <option value="Tierbetreuung">Tierbetreuung</option> <option value="Tiertraining">Tiertraining</option> <option value="vermisste Tiere">vermisste Tiere</option> <option value="Vögel Zubehör">Vögel Zubehör</option> </select> </div> <table width="100%" border="0"> <tr> <td><select name="zustand" required='required'> <option>Artikelzustand</option> <option value="Gebraucht">gebraucht</option> <option value="Neu">neu</option> </select></td> <td><select name="versand" required='required'> <option>Versand oder Abholung</option> <option value="Versand möglich">Versand möglich</option> <option value="nur Abholung">nur Abholung</option> </select></td> </tr> </table><br> <table width="100%" border="0"> <tr> <td><div class="form-group"> <input type="text" name="plz" class="form-control" placeholder="Postleitzahl" required='required'> </div></td> <td><div class="form-group"> <input type="text" name="kontakt" class="form-control" placeholder="Emailadresse" required='required'> </div></td> </tr> </table> <div class="form-group"> <table width="100%" border="0"> <tr> <td><input class="textbox" type="text" name="Captcha" value="" size="7" placeholder="Code ->" style="border-radius: 5px;" required='required' /></td> <td><div style="width:73px; height:22px; border:0px solid #AFC2FF;"><img src="captcha.php" style="border-radius: 5px;"></div></td> <td><button type="submit" class="card-header" name="submit">Anzeige aufgeben</button></td> </tr> </table></div> </form>
PHP-Code:
$query=mysqli_query($con,"insert into tblanzeiger (titel,text,preis,zustand,kategorie,unterkategorie,plz,versand,kontakt,status) values('$titel','$text','$preis','$zustand','$kategorie','$unterkategorie','$plz','$versand','$kontakt','$st1')");
hat dazu jemand ne idee?