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

Ausgedruckt am: 28.03.2024 um 10:03 Uhr

Mitglied: Guenni
Guenni 23.10.2007 um 23:11:26 Uhr
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>
Mitglied: helmuthelmut2000
helmuthelmut2000 27.10.2007 um 22:47:06 Uhr
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
Mitglied: Guenni
Guenni 28.10.2007 um 09:24:22 Uhr
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
Mitglied: helmuthelmut2000
helmuthelmut2000 31.10.2007 um 10:11:49 Uhr
Goto Top
Hallo,

Danke, So jetzt gehts.

Gruß
Helmut