• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

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

Status
Für weitere Antworten geschlossen.

Mars@Gera

Mitglied
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
 
Nein hilft mir nicht weiter!

HTML:
        <tr>
            <td class="main">Dankesch&ouml;n E-Mail</td>
            <td>
                <input type="radio" name="thx_mail" value="ja">ja
                <input type="radio" name="thx_mail" value="nein">nein
            </td>
        </tr>

PHP:
<?php 
$thx_mail = $_POST["thx_mail"];
?>
 
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 $
geschrieben hast?

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

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

XHTML
Code:
<input type="radio" name="thx_mail" checked="checked" />
oder
<input type="radio" name="thx_mail" checked="true" />
HTML
Code:
<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:
Code:
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
 
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:

Code:
<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

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

MfG Marcel
 
@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
Code:
$thx_mail = $_POST["thx_mail"];
besser
Code:
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.

php.net schrieb:
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.
 
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");
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben