helmuthelmut2000
Goto Top

Bei einem Radiobutton einen Text dazu eingeben

Hallo,

Ich habe folgendes Problem.
Ich Arbeite wieder an einem PHP-Formular das die Daten in eine
SQL-Datenbank schreibt.
Jetzt möchte ich Radio-Button einsetzen bei denen bei 3 Buttons ein Wert
automatisch in die DB geschrieben wird, und beim 4 Button soll ein Textfeld
dabei sein wo man den Wert eingibt.
Weis jemand wie man das macht?
Geht das überhaupt mit den Radiobutton oder gibt da vielleicht eine andere
lösung?

Danke.


Helmut

Content-Key: 71742

Url: https://administrator.de/contentid/71742

Printed on: April 18, 2024 at 03:04 o'clock

Member: Guenni
Guenni Oct 23, 2007 at 21:11:26 (UTC)
Goto Top
<?
if($_POST['cmd']=="Senden"){
switch($_POST['auswahl']){
case "Zeitung": echo "Eintrag Zeitung";break;
case "TV": echo "Eintrag Fernsehen";break;
case "Internet": echo "Eintrag Internet";break;
case "andere": echo "Eintrag ".$_POST['txt_andere'];
}
}
?>
<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action="test1.php" method="post">
Wie sind sie auf uns aufmerksam geworden?<br>
<input type="radio" name="auswahl" value="Zeitung">Zeitung<br>
<input type="radio" name="auswahl" value="TV">TV<br>
<input type="radio" name="auswahl" value="Internet">Internet<br>
<input type="radio" name="auswahl" value="andere">Andere <input type="text" name="txt_andere"><br>
<input type="submit" name="cmd" value="Senden">
</form>
</body>
</html>
Member: helmuthelmut2000
helmuthelmut2000 Oct 27, 2007 at 20:47:06 (UTC)
Goto Top
Hallo,

Ich habe das jetzt so versucht wie du das geschrieben hast.
Aber da stimmt was nicht.

Es schreibt mir jetzt immer "andere" in die DB, Aber nicht den Text den ich
in das Feld eingebe.

Wo könnte da noch der Fehler liegen??

Danke.

Gruß
Helmut
Member: Guenni
Guenni Oct 28, 2007 at 08:24:22 (UTC)
Goto Top
@helmut

Hi,

der Fehler liegt wahrscheinlich in einer falschen Auswertung.

Deshalb habe ich auch die Switch/Case-Auswertung aufgeführt, obwohl
sie nicht notwendig ist. Damit sieht man, das bei Klick auf andere
der Inhalt der Textbox ausgegeben wird, ansonsten der Inhalt des
Radio-Value's.

Du mußt also überprüfen, was in Auswahl steht. Wenn es "andere" ist, so
mußt du den Inhalt der Textbox in das Insert übernehmen, ansonsten den
Wert von Auswahl, also:

<?
if($_POST['cmd']=="Senden"){  
 if($_POST['auswahl']=="andere"){  
 	$var=$_POST['txt_andere'];  
  $query="insert into tabelle(spaltenname) values('$var')";  
 }else{
 			 $var=$_POST['auswahl'];  
			 $query="insert into tabelle(spaltenname) values('$var')";  
 			 }
	//Testausgabe des Insert
	echo "Das Insert-Statemant--> ".$query;  
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">  
<!--
function SetRadio(){
 document.frmForm.auswahl[3].checked=true;
}
// -->
</script>
</head>
<body>
<form action="test1.php" method="post" name="frmForm">  
<br>Wie sind sie auf uns aufmerksam geworden?<br>
<input type="radio" name="auswahl" value="Zeitung">Zeitung<br>  
<input type="radio" name="auswahl" value="TV">TV<br>  
<input type="radio" name="auswahl" value="Internet">Internet<br>  
<input type="radio" name="auswahl" value="andere">Andere <input type="text" name="txt_andere" onfocus="SetRadio()"><br>  
<input type="submit" name="cmd" value="Senden">  
</form>
</body>
</html>

Gruß
Günni
Member: helmuthelmut2000
helmuthelmut2000 Oct 31, 2007 at 09:11:49 (UTC)
Goto Top
Hallo,

Danke, So jetzt gehts.

Gruß
Helmut