Pflichtfelder einbauen mit Fehler anzeige

Jam-Mc

Mitglied
Guten Tag

ichhabe ein problem womit ich nicht fertig werde vielleicht könnt ihr mir ja bei helfen

und zwar muss man bei mir ein formular aus füllen damit man was generieren kann und das problem ist das die leute auch was frei lassen was ich wichtig finde zum prüfen der richtigkeit

ich habe schon mal was gemacht aber das problem besteht dahin das das Formular nicht mehr angezeigt wird sondern (sie haben nicht alle Pflichtfelder ausgefüllt)

PHP:
$radio_name = (isset($_POST['radio_name'])?$_POST['radio_name']:"");
		{
			$errors[] = '<p>Sie müssen einen Radio Namen angeben!</p>';
		}
$radio_url = (isset($_POST['radio_url'])?$_POST['radio_url']:"");
$radio_tele = (isset($_POST['radio_tele'])?$_POST['radio_tele']:"");
$pass = (isset($_POST['pass'])?$_POST['pass']:"");
		{
			$errors[] = '<p>Sie müssen ein Passwort angeben!</p>';
		}if(!empty($errors)) 
		{
			echo '<p>Sie haben nicht alle Felder richtig ausgef&uuml;llt!</p>';
			echo '<ul>';
			foreach($errors as $key => $value) 
			{
				echo '<li>' . $value . '</li>'; 
			}
			echo '</ul>';
		}
		else
		{
 
Zuletzt bearbeitet:
Hi

Du musst eben das gesamte Formular mitsenden.

Mach zB. beim Formular gleich eine Möglichkeit, per GET eine Fehlernummer mitzugeben, bei der eine entsprechende Meldung mit usgegeben wird.
Dahin wird dann ggf. umgeleitet.
 
PHP:
<?php
session_start();
?>

<script type="text/javascript">
<!--
function senden_aktiv()
	{
	if ( document.form_name.agb.checked == true )
		{
		document.form_name.generate.disabled = false;
		}
	else
		{
		document.form_name.generate.disabled = true;
		}
	}
//-->
</script>
<?php



$seite = (isset($_POST['seite'])?$_POST['seite']:"");

$server = (isset($_POST['server'])?$_POST['server']:"");
$view_me = (isset($_POST['view_me'])?$_POST['view_me']:"");
$close_me = (isset($_POST['close_me'])?$_POST['close_me']:"");
$server_port = (isset($_POST['server_port'])?$_POST['server_port']:"");
if(($style = $_POST['style']) == "") $style = $_GET['style'];
if(($bset = $_POST['bset']) == "") $bset = $_GET['bset'];

$media_player = (isset($_POST['media_player'])?$_POST['media_player']:"");
$radio_name = (isset($_POST['radio_name'])?$_POST['radio_name']:"");
		{
			$errors[] = '<p>Sie müssen einen Radio Namen angeben!</p>';
		}
$radio_url = (isset($_POST['radio_url'])?$_POST['radio_url']:"");
$radio_tele = (isset($_POST['radio_tele'])?$_POST['radio_tele']:"");
$pass = (isset($_POST['pass'])?$_POST['pass']:"");
		{
			$errors[] = '<p>Sie müssen ein Passwort angeben!</p>';
		}
$bild  = (isset($_POST['bild'])?$_POST['bild']:"");

if(!empty($errors)) 
		{
			echo '<p>Sie haben nicht alle Felder richtig ausgef&uuml;llt!</p>';
			echo '<ul>';
			foreach($errors as $key => $value) 
			{
				echo '<li>' . $value . '</li>'; 
			}
			echo '</ul>';
		}
		else
		{

$sqlup =    'INSERT INTO radio_sg (radio_name,radio_url,radio_stream,radio_locked,radio_homepage,radio_tele,winamp,reals,wmps,radiotele,hoerer,bitrate,title,radioname,server_port,pass,bild)
            values
            ("'.mysql_real_escape_string($_POST["radio_name"]).'","'.$server .'","http://' .$domain .'/streambox.php?server=' .$server
            .'&port=' .$server_port .'&style=' .$style .'&bset=' .$bset.'&mp=' .$media_player
            .'",0,"' .mysql_real_escape_string($_POST["hp_url"]) .'","' .mysql_real_escape_string($_POST["radio_tele"]) .'","' . (isset($_POST["winamp"]) ? "1" : "0")
            .'", "' .(isset($_POST["reals"]) ? "1" : "0") .'", "' .(isset($_POST["wmps"]) ? "1" : "0") .'","' .(isset($_POST["radiotele"]) ? "1" : "0") .'"
,"' .(isset($_POST["hoerer"]) ? "1" : "0") .'","' .(isset($_POST["bitrate"]) ? "1" : "0") .'","' .(isset($_POST["title"]) ? "1" : "0") .'","' .(isset($_POST["radioname"]) ? "1" : "0") .'","' .mysql_real_escape_string($_POST["server_port"]) .'","'.md5($_POST['pass']).'","'.mysql_real_escape_string($_POST["bild"]).'")';  
$resup = mysql_query($sqlup) or die(mysql_error()); 
}

else
  {

// Streambox Design
echo "<table border=\"0\" width=\"500\" cellspacing=\"0\" cellpadding=\"0\">
	<tr>
		<td><h2 align=\"center\"><font color='#000000'>Streamboxstyle -Streambox Generator</h2></td>
	</tr>
	</table>";
echo"<center>
<table border='0' width='500' height='30%'background='images/bg.pn'>
	<tr>
		<left><td>
	    </p><iframe src=\"http://".$domain2."/...../...../streambox.php?style=$style&bset=$bset&server=85.25.109.44&port=8552\" style=\"border: 0px none rgb(255, 255, 255); height: ".$height."px; width: ".$width."px;\" marginheight=\"5\" marginwidth=\"5\" frameborder=\"0\" scrolling=\"no\"></iframe>
		<span style=\"font-weight: bold;\"><br>
	</span><span style=\"color: black;\">Streambox Design</span>
	<span style=\"font-weight: bold;\">

	<br><select onChange='location.href=this.options[this.selectedIndex].value'>
         <option value='http://".$domain."/index.php'>Bitte auswählen ...


";
// Streambox Design zu Ende

//Button Design
echo "</select>

 
            </noscript>
</span><span style=\"color: black;\"><br>
Playerbutton Design:</span>
<span style=\"font-weight: bold;\">

<br><select onChange='location.href=this.options[this.selectedIndex].value'>
         <option value=''>Bitte auswählen ...

</select>

		<a href=\"javascript:newWin=void(window.open('http://www.streamboxstyle.de/generator/streambox/popupplayer.php', 'popup', 'toolbar=0, scrollbars=yes, resizable=yes, height=500, width=470'))\" style=\"text-decoration: none; font-weight: 700\">
		<font color=\"#FF0000\">Vorschau</font></a><a href=\"javascript:newWin=void(window.open('http://www.streams4all.de/shop/details-anfang.php', 'popup', 'toolbar=0, scrollbars=yes, resizable=yes, height=600, width=500'))\"><br /></a><noscript>
            
            </noscript>
</td>";
//Button Design Ende

$bset = $_POST['bset'];




// Button Design zu Ende
// Streambox Eingabe
		echo "<form action=\"".$PHP_SELF."\" method=\"post\">
		</form>
		
		<td><form action=\"".$PHP_SELF."\" method=\"post\" name='form_name'><center>
		 <div class=\"opentable\" align=\"left\">
		 <span style=\"font-weight: bold;\"><span style=\"color: black;\"><font size=2>Serveradresse<font color='#ff0000'>Ohne</font> http://</font></span><br>
         <input style=\"border: 1px solid rgb(0, 0, 0); width: 150px; BORDER-COLOR: #000000; background-color: #ffffff; color=#000000\" name=\"server\" type=\"text\" class=\"inputfield\" value=\"$server\"><br><br>
		
		 <span style=\"font-weight: bold;\"><span style=\"color: black;\"><font size=2>Passwort für den Member Bereich <font color='#ff0000'>(BETA PHASE)</font></span><br>
         <input style=\"border: 1px solid rgb(0, 0, 0); width: 150px; BORDER-COLOR: #000000; background-color: #ffffff; color=#000000\" name=\"pass\" type=\"text\" class=\"inputfield\" value=\"$pass\"><br><br>
		

		  <span style=\"font-weight: bold;\"><span style=\"color: black;\"><font size=2>Radio Name: ist auch gleich Username im Member Bereich</span><br>
         <input style=\"border: 1px solid rgb(0, 0, 0); width: 150px; BORDER-COLOR: #000000; background-color: #ffffff; color=#000000\" name=\"radio_name\" type=\"text\" class=\"inputfield\" value=\"$radio_name\"><br><br>		

		 <span style=\"font-weight: bold;\"><span style=\"color: black;\"><font size=2>Homepage<font color='#ff0000'>Mit</font> http://</font></span><br>
         <input style=\"border: 1px solid rgb(0, 0, 0); width: 150px; BORDER-COLOR: #000000; background-color: #ffffff; color=#000000\" name=\"hp_url\" type=\"text\" class=\"inputfield\" value=\"$hp_url\"><br><br>
         
         <span style=\"font-weight: bold;\"><span style=\"color: black;\">Port (Beispiel: 8000):</span><br>
         <input style=\"border: 1px solid rgb(0, 0, 0); width: 150px; BORDER-COLOR: #000000; background-color: #ffffff; color=#000000\" name=\"server_port\" type=\"text\" class=\"inputfield\" value=\"$server_port\"><br><br>
         
         <span style=\"font-weight: bold;\"><span style=\"color: black;\">Telefon Stream (Beispiel: 0041 226 82 0272 ):</span><br>
         <input style=\"border: 1px solid rgb(0, 0, 0); width: 150px; BORDER-COLOR: #000000; background-color: #ffffff; color=#000000\" name=\"radio_tele\" type=\"text\" class=\"inputfield\" value=\"$radio_tele\"><br><br>

</form>
<b>Einstellungen</b><br>
<input type=\"checkbox\" name=winamp value=\"$winamp\">Winamp Player Abschalten<br>
<input type=\"checkbox\" name=reals value=\"$reals\">Real Player Abschalten<br>
<input type=\"checkbox\" name=wmps value=\"$wmps\">Wmp Player Abschalten<br>
<input type=\"checkbox\" name=radiotele value=\"$radiotele\">Radio-Tele Abschalten<br>
<input type=\"checkbox\" name=hoerer value=\"$hoerer\">Hörer Abschalten<br>
<input type=\"checkbox\" name=bitrate value=\"$bitrate\">Bitrate Abschalten<br>
<input type=\"checkbox\" name=title value=\"$title\">Musik Title Abschalten<br>
<input type=\"checkbox\" name=radioname value=\"$radioname\">Radioname Abschalten<br>
<div class=\"opentable\" align=\"right\"><br> ";

if(Isset($_POST['agb_read']))    {
echo '<div class=\"opentable\" align=\"left\">'; 
echo '
<textarea text</textarea>';
echo '</div>';
}
echo "	 
     </div>Ich Akzeptiere die <input type='submit' name='agb_read' style='background-color:black; color:red; border:0px;' value='AGB's'> <input type='checkbox' name='agb' onclick='senden_aktiv();' ><br><input name=\"generate\" value=\"Generieren\" style=\"border: 1px solid rgb(157, 157, 157); background-color: rgb(201, 196, 196);\" type=\"submit\" disabled></td>
	</tr>
</table>
 </div>";

  }
  // Streambox Eingabe zu Ende
  
  //Datenbank
   



$seite = $_GET["seite"]; 



if(($bset = $_POST['bset']) == "") $bset = $_GET['bset'];
}
?>
 
Servus,
ich empfehle das mit JavaScript zu lösen. So ist es möglich die Felder während der Eingabe schon zu überprüfen.
Ansonsten sieht das was du da hast garnicht so verkehrt aus. Musst wohl nur das Fomular erneut an den Browser übergeben... für genaueres reicht mir der kleine Codeausschnitt leider nicht.

#edit: ah, das sieht doch schon besser aus. Klappt es jetzt soweit ? ... Dem Tip mit dem JavaScript würd ich allerdings noch nachgehen ;)
 
Zuletzt bearbeitet:
Auf JS kann man sich nicht verlassen.
Es ist nicht schlecht, es einzubauen, um dem Server Anfragen zu ersparen und dem Benutzer (aufgrund Schnelligkeit) entgegenzukommen.
Am Server muss alles aber trotzdem noch geprüft werden.
 
Und ich hab nicht behauptet, dass du das behauptet hast ;-]
Sollte nur ergänzend zu deinem Beitrag sein, nicht dagegen,

Und zum Code...
 
Hmm ^^
Ja ich merk schon ich hab mich eher mau ausgedrückt. :P:P
Wenn das mit der Serverseitigen Überprüfung nun klappt ist ja alles in Ordnung.
Das ganze auch noch Clientseitig überprüfen zu lassen kann allerdings entnervend für den Benutzer sein wenn er nicht immer das Formular erst abschicken muss um zu sehen ob noch was falsch ist... Stichpunkt Software-Ergonomie ^^
 
Zurück