Problem mit if
Sp33dy G0nz4l3s
- php
Hi, ich habe ein Problem mit diesem Code:
if (isset($_POST['submit']) && !isset($_GET['kategorie'])) {
include ("cocktails/insert-cocktails.inc.php");
}
if (isset($_POST['submit']) && isset($_GET['kategorie']) && $_GET['kategorie'] == "Zubehör") {
include ("cocktails/insert-zubehoer.inc.php");
}
Mein Problem ist, das jedes mal insert-cocktails.inc.php includet wird. Auch wenn $_GET['kategorie'] == "Zubehör" ist. Also wenn der Link so aussieht: http://localhost/Cocktailz/admin.php?kategorie=Zubeh%F6r
Habt ihr eine Erklärung wieso? An dem ö liegt es übrigens nicht. Das hab ich schon getestet.
Danke
Hallo,
Gibt dein Script irgendwelche Notices zurück, wenn du error_reporting hochschraubst?
Gruß,
Click
Gibt dein Script irgendwelche Notices zurück, wenn du error_reporting hochschraubst?
Hi, ja gibt es. Aber wenn die richtige Datei includet würde, würden diese Meldungen nicht mehr kommen..
Hello,
Hi, ich habe ein Problem mit diesem Code:
if (isset($_POST['submit'])) #1
{
if (isset($_GET['kategorie'])) #1.1
{
if ($_GET['kategorie'] == "Zubehör") #1.1.1
{
include ("cocktails/insert-zubehoer.inc.php");
}
}
else #1.n1
{
include ("cocktails/insert-cocktails.inc.php");
}
}
Ich hab' mal versucht, es umzustellen.
So sollte klarer sein, was Du eigentlich willst.
Außerdem sind beide Möglichkeiten nun als Alternativen programmiert und nicht mehr als Optionen.
Was soll denn für die Fälle n1, 1.1.n1 usw. passieren?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Was soll denn für die Fälle n1, 1.1.n1 usw. passieren?
Wenn einer der beiden Fälle eintritt, soll entweder ein Eintrag in die Datenbanktabelle cocktails gemacht werden oder aber in die Datenbanktabelle zubehoer.
Das steht in den insert... Dateien drin.
(Hier der Inhalt der insert-zubehoer.inc.php)
$sql = "INSERT INTO zubehoer " . "VALUES ('".$_POST['name']."', '".$_POST['beschreibung']."', '".$_POST['kategorie']."', '')";
mysql_query($sql);
Hi,
»»http://localhost/Cocktailz/admin.php?kategorie=Zubeh%F6r
wie willst Du mit diesem Link eine POST-Variable übergeben? Ich denke mal, dass die if-Abfrage über "$_POST['submit']" stolpert.
Grüße Basti
Hi,
»»http://localhost/Cocktailz/admin.php?kategorie=Zubeh%F6r
wie willst Du mit diesem Link eine POST-Variable übergeben? Ich denke mal, dass die if-Abfrage über "$_POST['submit']" stolpert.
Hi, nein leider nicht.. weil das submit wird bei einem Sendeformular mit übergeben:
<input type="submit" name="submit" value="Eintrag abschicken!">
Das meint er nicht.
Du lieferst dem Code Daten per GET aber fragst POST ab... Jedenfalls in dem Beispiel.
Ich glaube, ihr versteht mich falsch.
Zuerst trägt man einige Sachen in ein Formularfeld ein. Wenn es abgeschickt wird, wird ebenfalls per Post submit übergeben.
<input type="submit" name="submit" value="Eintrag abschicken!">
Das Ziel an das das Formular geschickt wird ist PHP_SELF.. :
<form action="{$_SERVER['PHP_SELF']}" method="post" enctype="multipart/form-data">
Dann wird wie gesagt folgendes geprüft:
if (isset($_POST['submit']) && !isset($_GET['kategorie'])) {
include ("cocktails/insert-cocktails.inc.php");
}
if (isset($_POST['submit']) && $_GET['kategorie'] == "Zubehör") {
include ("cocktails/insert-zubehoer.inc.php");
}
Und das funktioniert eben nicht richtig..
Hallo,
Ich glaube, ihr versteht mich falsch.
ich glaube, du verstehst uns falsch.
Das Ziel an das das Formular geschickt wird ist PHP_SELF.. :
<form action="{$_SERVER['PHP_SELF']}" method="post" enctype="multipart/form-data">
Ja, und du verwendest dafür die Methode POST. Warum auch immer.
if (isset($_POST['submit']) && !isset($_GET['kategorie'])) {
Wie kommst du dann auf die Idee, einige Parameter per POST, ein paar andere dagegen per GET abzufragen?
Und das funktioniert eben nicht richtig..
Eben. Wenn ich dir eine Broschüre schicken will und sie dir als Briefsendung verspreche, wirst du sie auch nicht in deinem email-Postfach finden.
Schönes Wochenende,
Martin