Spezieller Bilder-Upload und Spielabsagen mit Datenbank verknüpfen

Ja, damit wollte ich jetzt die richtige E-Mail-Adresse des Gegners abfragen. Den Namen des Gegners hab ich ja auf Seite 1 als "$row->text" (die Spalte könnte natürlich auch Gegner heißen statt text). Nun wollte ich auf Seite 2 die zum Gegner gehördende E-Mail-Adresse abfragen.

benutzerdaten
ID | Benutzername | Passwort | Teamname | Mail

termine
ID | Datum | text

So sehn die Tabellen aus. Das Problem ist jetzt, den Inhalt von $row->text von Seite 1 auf Seite 2 mit dem Formular zu übertragen. Ähnlichen Code, wie von dir gepostet, hatte ich nämlich auch schon, aber da bekomme ich
Notice: Undefined index: text in auswerten.php on line 10
 
Den Namen des Gegners hab ich ja auf Seite 1 als "$row->text" (die Spalte könnte natürlich auch Gegner heißen statt text). Nun wollte ich auf Seite 2 die zum Gegner gehördende E-Mail-Adresse abfragen.
Dein $row->text existiert natürlich nur auf Seite 1. Deine Checkbox für den Haken hat aber sicherlich einen Wert (value). Da solltest dich mal in Formulare einlesen und schauen wie du in dem Haken den Wert "versteckst".

Das Problem ist jetzt, den Inhalt von $row->text von Seite 1 auf Seite 2 mit dem Formular zu übertragen. Ähnlichen Code, wie von dir gepostet, hatte ich nämlich auch schon, aber da bekomme ich
Notice: Undefined index: text in auswerten.php on line 10
Wie gesagt: Simpel über die Checkbox lösbar. Der Notice, der dann kommt heißt, dass kein Feld "text" von dem Formular übertragen wurde.
Was angekommen ist siehst du am ende mit:
var_dump($_POST);

Eigentlich was ganz einfaches, gegenüber dem was bisher alles gewesen ist.
 
Da hast du absolut recht, dass das jetzt was ganz einfaches ist. Ich versteh auch grad nicht, warum ich da überhaupt was falsch mache - das ist nicht mein erstes Formular. Nur hatte ich bisher bei value immer "feste Werte", nie eine Variable. Und die mag er irgendwie gerade nicht. Hab $row->text grad in die Variable $team gepackt. Sieht nun so aus:

PHP:
$team = $row->text;
echo "<form action='absage_auswerten.php' method='post'><input type='checkbox' name='absage' value=$team>".($row->datum1)." Uhr: $team<br><input type='submit' value=' Absenden '></form>";

Auf der nächsten Seite dann die Abfrage:
PHP:
$sql = "SELECT Mail from benutzerdaten WHERE Teamname = '" . $_POST["team"] . "' ";

Gibt "Undefined index: team".
 
Im Zweifelsfall hilft dir var_dump immer.
PHP:
var_dump($_POST);
(auf der verarbeitenden Seite).

Dann siehst du dein Denkfehler.

Oder du machs den Chuck Norris und starrst hier drauf bis du es siehst:
HTML:
<input type='checkbox' name='absage' value=$team>
 
Irgendwie steh ich extrem auf dem Schlauch...

var_dump gibt

PHP:
array(1) {
  ["absage"]=>
  string(17) "Veintidos Cojones"
}

Ich seh das eigentlich als in Ordnung an?
 
Ich habe mir die vorherigen Seiten nicht durchgelesen, mir sticht nur folgendes ins Auge.
Code:
$sql = "SELECT Mail from benutzerdaten WHERE Teamname = '" . $_POST["team"] . "' ";

Code:
array(1) {
  ["absage"]=>
  string(17) "Veintidos Cojones"
}
 
Hallo DeluXe,

danke für deinen Beitrag. Stach mir auch ins Auge, das ist der name-Wert der Checkbox - hab ich allerdings auch schon geändert und $team eingesetzt, ändert sich nichts. Also natürlich steht bei var_dump dann nicht mehr "absage" drin, aber ich bekomme immernoch ein Undefined index: team.

Zunächst dachte ich, es würde an fehlenden Hochkommas dienen, aber das war es auch nicht. Und wenn ich var_dump richtig verstehe, dann sagt mir diese Ausgabe, die ich bekomme, dass durchaus etwas drinsteht.
 
Wende das Zodsche Stare-and-Compare-Prinzip an :suspekt:

HTML:
<input type='checkbox' name='absage' value=$team>

Das was bei dem Attribut name als Wert steht findet sich als Arrayschlüssel in $_POST wieder mit dem Wert von value.

HTML:
<input type='checkbox' name='farbe' value="rot">
<input type='checkbox' name='form' value="Quader">
<input type='checkbox' name='stoff' value="Gummi">

Angenommen Form und Stoff wurde mit Haken makiert. So ist das Array:
Code:
$_POST["form"] = "Quader";
$_POST["stoff"] = "Gummi";

Das heißt für deine Sache, dass das Team nicht in $_POST["team"] drin steht, sondern in $_POST["absage"]. Immer der Wert des name-Attributs als Schlüssel und der Wert entspricht dem Wert des value-Attributs. $_POST["absage"] nutzen.
 
Ach Gott...ihr habt es wirklich mit einem Idioten zu tun ;)

HTML:
name='team' value='$team'

Und schon geht's :-)

Ich meld mich wieder, wenn das nächste Problem auftritt :suspekt:
 
Zurück