Formular Stück für Stück anzeigen lassen

Was hätte das für Vorteile mit include()?

Wie müsste sowas im Groben aussehen?


Gruß Olli

// EDIT

Hallo habe es jetz so versucht, doch wähle ich "Löschen" dann klappt noch alles aber beim Klick auf "Durchsuchen" erscheint wieder das Feld "Anzahl".

Wie muss die Abfrage richtig lauten?

PHP:
<?php

$dbhost = 'localhost';
$dbname = 'einsätze'; // Hier Datenbankname rein
$dbuser = 'root'; // Hier User...
$dbpasswd = ''; // und passwort...

//Verbindungsaufbau
$connection = @mysql_connect($dbhost, $dbuser, $dbpasswd);
@mysql_select_db($dbname, $connection);



echo "<form action='bilder.php' method='POST'>";

echo "Was möchten Sie tun: <input type=submit value='Bilder hinzufügen' name='Neu'><input type=submit value='Bilder löschen' name='Loeschen'><br><br>"; 
echo "</form>";  




if (isset($_POST["Neu"]) || isset($_POST["durchsuchen"]) || isset($_POST["Loeschen"])   ) {


echo "<form action='bilder.php' method='POST'>";

echo "Kategorie:	<select name='kategorie'>
            		<option >Einsatz</option>
            		<option >Jugendfeuerwehr</option>
            		<option >Events</option>
            		</select>
					<br><br>";



echo "Jahr:	<select name='jahr'>
            		<option >2005</option>
            		<option >2006</option>
            		<option >2007</option>
            		</select>
					<br><br>";


if (!isset($_POST["Loeschen"])) {

echo "Geben Sie an wieviel Bilder Sie hochladen wollen: 
		<input name='anzahlderbilder' type='text' size='4' maxlength='2' value='".$_POST['anzahlderbilder']."'></input>
		
		<br/><br>";
}
echo "<input type=submit value='DB durchsuchen' name='durchsuchen'><br>";
 
}



if (isset($_POST["durchsuchen"]) ){

//Das wichtige SQL-Statement:
	$sql="SELECT * FROM einsätze WHERE jahr='".$_POST['jahr']."'";
	$result=mysql_query($sql) or die(mysql_error()); // Query senden und Fehler abfangen



	while($row=mysql_fetch_array($result)){

	
	
	
	echo " ".$row['ID']." | <input type='radio' name='id_einsatz' value=".$row['ID']."> | ".$row['einsatzart']."
	<br><br> ";

	
	}

}
?>


Wäre auch über eine besseren und komfortableren Lösungsansatz glücklich!

mfg,Olli
 
Der Teil des Formulars mit dem Textfeld anzahlbilder wird sicherlich auch immer angzeigt, da ja die POST-Variable Löschen gar nicht existiert.

Mit der Funktion isset() prüfst du ja ob eine Variable existiert und wenn man oben im Formular nicht gerade auf den Button Löschen klickt dürfte das immer angezeigt werden.

Wo wir schon dabei sind, du solltest dein Formular mal vor möglichen SQL-Injections schützen.
 
Hallo nein das Feld "AnzahlBilder" wird nicht immer angezeigt. Zu den SQL-Injections, das Formular wird nur im passwortgeschüzten Bereich verwendet und nur eine kleine Anzahl ausgewählter Personen haben Zugriff darauf.

Aber ich merke, das was ich hier jetzt schon zwei Tage versuche irgendwie zu programmieren ist wirklich nicht das gelbe vom Ei.

Es muss doch irgendwie möglich sein, auf relativ einfache Weise, bestimmte Formularelemte erst anzuzeigen wenn eine Aktion erfolgt ist. Dann sollen ganz zum Schluss alle Parameter mit einem Submit-Button an das nächste Script gesendet werden.

Will ja gar keine fertige Lösung, sondern nur mal einen Ansatz oder eine Idee!


mfg,Olli
 
Da du nur bestimmtes Anzeigen lassen möchtest, musst du halt bestimmes ins Formular einbauen was du später prüfen kannst -.- und trifft dann deine Prüfung zu lässt du dann Felder etc. nach deinen Wünschen anzeigen

Also ich schreib dir jetzt mal ein Script was folgendes hat
- Anzahl auswahl ...
- Dann deine Auswahl wie im aller ersten Beispiel und
- nächste Seite -.-
 
Zuletzt bearbeitet:
Danke, aber nun egal welchen Button ich drücke springt mir das Script direkt auf die nächste Seite. Die Auswahlfelder erscheinen gar nicht.

Entschuldigung
 
Zuletzt bearbeitet:
Bin ja noch nicht fertig gewesen -.- jetzt mach ich es fertig ...

Meinste in etwa sowas?
PHP:
<?php 
session_start();

If(isset($_POST['weiter']) OR
         isset($_POST['weiter2']) OR
         isset($_POST['weiter3'])
){?><br>

<?php if(isset($_POST['weiter'])){
$_SESSION['ANZAHL'] = $_POST['anzahlderbilder']; ?>

<form action='test.php' method='POST'>
Kategorie:    <select name='kategorie'>
              <option >Einsatz</option>
              <option >Jugendfeuerwehr</option>
              <option >Events</option>
              </select>
              <br><br>
<input type="submit" name="weiter2" value="weiter"></form><?php
}

if(isset($_POST['weiter2'])){
$_SESSION['KATEGORIE'] = $_POST['kategorie']; ?>

<form action='test.php' method='POST'>
<input type="text" size="20" name="kath" value="<?php echo $_POST['kategorie']; ?>"><br>
Jahr:         <select name='jahr'>
              <option >2005</option>
              <option >2006</option>
              <option >2007</option>
              </select>
              <br><br>
<input type="submit" name="weiter3" value="senden"></form><?php
}
              
if(isset($_POST['weiter3'])){
$_SESSION['KATEGORIE'] = $_POST['kath'];
$_SESSION['JAHR'] = $_POST['jahr']; ?>

<form action='seite2.php' method='POST'>
<input type="text" size="20" name="kath" value="<?php echo $_SESSION['KATEGORIE']; ?>"><br>
<input type="text" size="20" name="yeahr" value="<?php echo $_SESSION['JAHR']; ?>"><br><?
echo "Bitte überprüfen Sie bitte Ihre eingaben!";
?><input type="submit" name="weiter4" value="submit"></form><?
}
}
else
{
?>
<form action='test.php' method='POST'>
Geben Sie an wieviel Bilder Sie hochladen wollen:
<input name='anzahlderbilder' type='text' size='4' maxlength='2'></input>
<input type="submit" name="weiter" value="weiter"></form>
<?php
}
?>

Wenn du andere Wünsche hast, dann sags mir einfach ^^
 
Zuletzt bearbeitet:
Vielen Dank für deine Hilfe. Habe mir das Formular aber doch etwas umgeschrieben.

Nur jetzt habe ich ein Problem. Habe zwei Auswahllisten in meinem Formular. Sende das Formular an die gleich Seite. Dann springen die Auswahllisten immer wieder auf den ersten Eintrag zurück. Möchte aber gerne das sie nach dem Absenden an die selbe Seite immer noch das angezeigt wird was ich vorher ausgewählt habe.

Hoffe ihr versteht was ich meine.

mfg,Olli
 
Versuchs mal damit:
PHP:
<select name='jahr'>
   <option <?php echo $_POST['jahr'] == "2006" ? 'selected' : '' ?>>2005</option>
   <option <?php echo $_POST['jahr'] == "2007" ? 'selected' : '' ?>>2006</option>
   <option <?php echo $_POST['jahr'] == "2008" ? 'selected' : '' ?>>2007</option>
</select>
 
Zurück