$var = $_POST["name"]; - Problem

ich habe ein Formular, in dem ich auch Radio-Button habe, nur leider, wenn ich diese durch $_POST zurückgreifen will bringt er diese Meldung!

Notice: Undefined index: thx_mail in C:\Programme\xampp\htdocs\2.1***\admin\config.php on line 18

Ich hoffe das dir dieser Link hilft:
Notice: Undefined index PHP Fehlermeldungen

Sonst müsstest mal deinen Code oder eine kleinen Teil posten :wink:

Marlin

Nein hilft mir nicht weiter!

[HTML]
Dankeschön E-Mail

ja
nein

[/HTML]

[PHP]<?php $thx_mail = $_POST["thx_mail"]; ?>[/PHP]

ist das überhaupt ein formular?
denn die fehlermeldung sagt eindeutig das die variable nicht gesendet wurde

gut war mein Fehler, hatt keinen Button ausgewählt?

Aber wie kann ich auf einen Radio Butten eine Vorauswahl so legen, das diese der datenbank entspricht, was dort gespeichert wurde?

Gewusst wie ich meine?

Sicher, dass du nicht
[php]
thx_mail = $_POST[„thx_mail“]; // ohne $
[/PHP]
geschrieben hast?

nach deinem Code kann/dürfte es keine Fehlermeldung geben…

Marlin

Nein hatte einen anderen Fehler, der größte Fehler sitzt immer vor dem PC!^^

vorauswählen kannst mit (XHTML) checked=„checked“ bzw im HTML reicht auch einfach checked

XHTML

<input type="radio" name="thx_mail" checked="checked" />
oder
<input type="radio" name="thx_mail" checked="true" />

HTML

<input type="radio" name="thx_mail" checked />

Ich rate natürlich zur oberen Variante

@Frank: in deinem Code fehlt noch ein value. Ohne value hat die Variable dann imho auch keinen Wert.

@Mars@Gera:

if(isset($_POST["thx_mail"])){$thx_mail = $_POST["thx_mail"];}

So kann man die Variable nutzen nachdem sie von php geprüft wurde. Dann tritt auch die o.g. Fehlermeldung nicht mehr auf.

das er da nen value setzen muss hab ich jetzt iwie vorausgesetzt xD. Danke aber für den Hinweis

@Frank, es geht mir ja darum, es soll die Radio-Box aktiviert sein, die in der Datenbank gespeichert ist!

MfG Marcel

Dann musst du ja nur das Attribut checked abhängig vom Wert aus der Datenbank setzen. Falls du in deiner Datenbank eine „1“ für „aktiv“ hast dann könnte es z.B. so aussehen:

<input type="radio" name="thx_mail"<?php if($dbeintrag = "1"){?> checked="checked"<?php } ?> />

Setzt natürlich einen Datenbankabruf etc. voraus. Da ich deinen Datenbankaufbau nicht kenne kann ich auch nichts näheres dazu sagen.

Ich habe es jetzt so, leider funktioniert dies nicht!

[PHP] <input type=„radio“ name=„thx_mail“ value=„ja“ <?php if($row->thx_mail == 'ja'){?>checked="checked<?php}?>>ja
<input type=„radio“ name=„thx_mail“ value=„nein“ <?php if($row->thx_mail == 'nein'){?>checked="checked<?php}?>>nein[/PHP]

Beim nächsten Aufruf ist da der Radio Button dann nur weg! :?:

MfG Marcel

fehlen ja auch "…

@mars,

BITTE, BITTE lern’ endlich mal die PHP-syntax, dann kommen solche dämlichen fehler nicht mehr vor. ferner kannste dir auch mal ansehen, wie ein ordnungsgemäßer post mit code-beispielen geschrieben wird.

danke.

Nils aka XraYSoLo

Statt

$thx_mail = $_POST["thx_mail"];

besser

extract($_POST);

Lohnt sich, wenn man viele Variablen übergeben will.

könnte bitte mal ein moderator kratzbaum’s Code entfernen, sowas darf man einfach nicht verbreiten.

[QUOTE=php.net]
Warnung Verwenden Sie extract() nicht für nicht vertrauenswürdige Daten wie Benutzereingaben ($_GET, …). Wenn Sie dies tun, z.B. weil Sie alten Code der sich auf register_globals verlässt vorübergehend ausführen wollen, so stellen Sie sicher, dass Sie einen nicht überschreibenden extract_type Wert wie EXTR_SKIP verwenden und seien Sie sich bewusst, dass Sie die Daten in der selben Reihenfolge importieren sollen, die in der php.ini in variables_order angegeben wurde.

[/QUOTE]

anstatt dich hier wieder auszulassen und auf anderen Usern 'rumzuhacken, könntest du auch einfach freundlich darauf hinweisen und es verbessern.

Z.b. so:
[php]
extract($_POST,EXTR_PREFIX_ALL,„post“);
[/php]