Radion-Button auswerten
Hallo PHP-Gemeinde,
ich möchte die Daten eines Formulares in eine MySQL-Datenbank schreiben. Es funzt auch soweit, bis auf die Radio-Buttons. Irgend etwas ist noch falsch aber was?
Das ist die verkürzte Version meines Scripts:
Die Datenbank "Mitglieder", die Tabelle "address" und der Texteintrag "Mitglieder" sind vorhanden.
Als Meldung kommt:
Aber es erfolgt kein Eintrag.
Vieleicht kann mal jemand drüber schauen und mir einen Tipp geben.
Airis
NACHTRAG
der Grünschnabel war zu schnell, hier ist mein geändertes Script, sorry:
Bitte keine Doppelpost. Bitte EDIT-Funktion benutzen. Danke! mfg Gimli
ich möchte die Daten eines Formulares in eine MySQL-Datenbank schreiben. Es funzt auch soweit, bis auf die Radio-Buttons. Irgend etwas ist noch falsch aber was?
Das ist die verkürzte Version meines Scripts:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
<?php
if (isset($action) && ($action == "insert") ) {
$man= $_POST["SEX"];
$woman= $_POST["SEX"];
$dbhost = "localhost";
$dbname = "abc";
$dbpass = "xxx";
$dbuser = "xyz";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
$sql = "INSERT INTO address (SEX)
VALUES ('" . $_POST['SEX'] . "')";
$sql = "insert into address ( SEX)
values ( '$man', '$woman')";
mysql_query($sql) or die("DB-Abfrage <b>$sql</b> ist fehlgeschlagen");
echo '<p>OK, Daten in die Datenbank geschrieben.</p>';
}
else {
/*** Ansonsten Anzeige des Formulares ***/
?>
<form action="<?php echo $PHP_SELF ?>" method="post">
<input type="hidden" name="action" value="insert">
<table border=0 align=center cellspacing=1 cellpadding=0 class=bmborder width="700">
<tr><td class=bm2><br>
<table border=0 width=90% class=bmborder align=center border="0" cellpadding="1" cellspacing="1">
<tr>
<td class=bm2 align=left><font face="Arial" size="4" color="#000000">GESCHLECHT:</font></td>
</tr>
<tr>
<td class=bm2 align=center><INPUT TYPE="radio" NAME="GESCHLECHT" VALUE="<?php echo $m ?>">männlich</td>
</tr>
<tr>
<td class=bm2 align=center><INPUT TYPE="radio" NAME="GESCHLECHT" VALUE="<?php echo $w ?>">weiblich</td>
</tr>
<tr>
<td class=bm2 align=center><input type="submit" value="Eintragen" class="bm5"></td>
</tr>
</form>
</table>
</td>
</tr>
</table>
<?php
}
?>
|
Die Datenbank "Mitglieder", die Tabelle "address" und der Texteintrag "Mitglieder" sind vorhanden.
Als Meldung kommt:
Zitat
OK, Daten in die Datenbank geschrieben.
Aber es erfolgt kein Eintrag.
Vieleicht kann mal jemand drüber schauen und mir einen Tipp geben.
Airis
NACHTRAG
der Grünschnabel war zu schnell, hier ist mein geändertes Script, sorry:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
<?php
if (isset($action) && ($action == "insert") ) {
$man= $_POST["SEX"];
$woman= $_POST["SEX"];
$dbhost = "localhost";
$dbname = "abc";
$dbpass = "xxx";
$dbuser = "xyz";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
$sql = "INSERT INTO address (SEX)
VALUES ('" . $_POST['SEX'] . "')";
mysql_query($sql) or die("DB-Abfrage <b>$sql</b> ist fehlgeschlagen");
echo '<p>OK, Daten in die Datenbank geschrieben.</p>';
}
else {
/*** Ansonsten Anzeige des Formulares ***/
?>
<form action="<?php echo $PHP_SELF ?>" method="post">
<input type="hidden" name="action" value="insert">
<table border=0 align=center cellspacing=1 cellpadding=0 class=bmborder width="700">
<tr><td class=bm2><br>
<table border=0 width=90% class=bmborder align=center border="0" cellpadding="1" cellspacing="1">
<tr>
<td class=bm2 align=left><font face="Arial" size="4" color="#000000">GESCHLECHT:</font></td>
</tr>
<tr>
<td class=bm2 align=center><INPUT TYPE="radio" NAME="SEX" VALUE="<?php echo $man ?>">männlich</td>
</tr>
<tr>
<td class=bm2 align=center><INPUT TYPE="radio" NAME="SEX" VALUE="<?php echo $woman ?>">weiblich</td>
</tr>
<tr>
<td class=bm2 align=center><input type="submit" value="Eintragen" class="bm5"></td>
</tr>
</form>
</table>
</td>
</tr>
</table>
<?php
}
?>
|
Bitte keine Doppelpost. Bitte EDIT-Funktion benutzen. Danke! mfg Gimli
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Gimli« (15. November 2004, 21:00)
Hab mir dein Scrip nicht angesehn 
Aber mit
kannst du dir ansehen, wie dei Radiobuttons übermittel werden.
mfg Gimli
PS: kein Doppelposts, bitte!
PPS: Ansonsten auch mal $_SERVER ansehen, da steht auch noch ne Menge drin
EDIT:
Habe mir dein Script mal angesehen:
Was denkst du dass da als Value übermittelt wird?
NIX!
Warum? Weil $man und $woman leer sind wenn das Forum angezeigt wird. Dh es wird sehr wohl übertragen, nur ist $POST['SEX'] leer.
Ersetz das durch
(bzw woman)
mfg Gimli

Aber mit
|
|
PHP-Quelltext |
1 |
print_r ($_POST);
|
kannst du dir ansehen, wie dei Radiobuttons übermittel werden.
mfg Gimli
PS: kein Doppelposts, bitte!
PPS: Ansonsten auch mal $_SERVER ansehen, da steht auch noch ne Menge drin

EDIT:
Habe mir dein Script mal angesehen:
|
|
PHP-Quelltext |
1 |
<td class=bm2 align=center><INPUT TYPE="radio" NAME="SEX" VALUE="<?php echo $man ?>">männlich</td>
|
Was denkst du dass da als Value übermittelt wird?
NIX!
Warum? Weil $man und $woman leer sind wenn das Forum angezeigt wird. Dh es wird sehr wohl übertragen, nur ist $POST['SEX'] leer.
Ersetz das durch
|
|
Quellcode |
1 |
<td class=bm2 align=center><INPUT TYPE="radio" NAME="SEX" VALUE="man">männlich</td> |
(bzw woman)
mfg Gimli
"Linux is evolution, not intelligent design." - Linus Torvalds
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Gimli« (15. November 2004, 20:59)


