Hallo zusammen.
Meine Frage ist eher allgemeiner Natur, mir fehlt einfach eine zündende Idee um meine Software zu verbessern...
Ich habe für einen bekannten eine Webapplikation zur Verwaltung seiner Kundendaten programmiert. Hauptsächlich verwende ich dabei HTML und PHP für die Datenbankverbindung. Im Hintergrund läuft ein MySQL Server mit mehreren Datenbanken.
Aufgebaut habe ich die Appliklation mit Hilfe mehrerer Formulare.
Ausgangpunkt ist immer die Datei db_start.php, mit einer Maske um den kompletten aktuellen Datensatz anzuzeigen und zu bearbeiten. Ein Datensatz ist dabei auf mehrere Tabellen verteilt, die alle ausgelesen, angezeigt und editiert werden können.
Das erste Formular ist ein Menü um den Datensatz zu wechseln, welches wieder auf die db_start.php zielt.
Das zeite Formular enthält die Daten und zielt auf die Datei db_save.php. Wird es ausgelöst werden alle aktuell eingegeben Daten gespeichert und dann folgt ein redirect zurück zur db_start.php mit dem aktualisierten Datensatz.
Innerhalb dieses Formulars gibt es zwei weitere Links zu den Dateien db_add.php und db_del.php um Datensätze von Nebentabellen zu löschen oder hinzuzufügen.
Das ganze funktioniert wunderbar. Das Problem ist nur, dass mein Bekannter sehr lernresistent ist was neue Software angeht. Er ist eine Access Datenbank gewöhnt bei der es keinen Speichern-button gab. Nun passiert es regelmäsig dass er einen Datensatz editiert und dann vergisst zu speichern. Statt dessen wechselt er den Datensatz oder gibt etwas in die Suchmaske ein oder sonst irgendwas...
Das Formular db_save.php wird nicht ausgelöst, statt dessen eines der anderen Formulare oder einer der Links und die Änderungen werden verworfen.
Wie bekomme ich es hin, dass egal was er macht in jedem Fall das Formular db_save.php ausgelöst wird??? Gibt es irgendeine Möglichkeit mit einem Submit button zwei Formulare auszulösen? Oder irgendeine andere Technik an die ich nicht gedacht habe?
Zum Verständnis, hier nochmal ein bisschen Code aus der db_start.php:
<form action="db_start.php" method="post">
[code lang=php]
<?php
$main_ID = $_REQUEST['id'];
$result = mysql_query("SELECT * FROM $db_main");
$num_rows = mysql_num_rows($result);
$main_ID = ($main_ID < 1) ? 1 : $main_ID;
$main_ID = ($main_ID > $num_rows) ? $num_rows+1 : $main_ID;
$ID_first = 1;
$ID_back = $main_ID - 1 ;
$ID_fwd = $main_ID + 1 ;
$ID_last = $num_rows;
# <!-- Menu -->
echo "<a href='db_start.php?db=$db_name&prefix=$db_pref&id=". $ID_first ."'><img src='../pics/arrow_first.png' /></a>";
echo "<a href='db_start.php?db=$db_name&prefix=$db_pref&id=". $ID_back ."'><img src='../pics/arrow_back.png' /></a>";
echo "<a href='db_start.php?db=$db_name&prefix=$db_pref&id=". $ID_fwd ."'><img src='../pics/arrow_fwd.png' /></a>";
echo "<a href='db_start.php?db=$db_name&prefix=$db_pref&id=". $ID_last ."'><img src='../pics/arrow_last.png' /></a>";
echo "<input type='text' size ='3' name='id' id='id' value='$main_ID' />";
?>
<input type="submit" name="refresh" value="Aktualisieren" />
</form>
<form action="db_search.php" method="post">
<!-- Eingabefeld für Suche -->
<td class='nav_td'><input type="submit" name="search" value="Suchen" /></td>
</form>
<form action="db_save.php" method="post">
<input class="button_big" type="submit" name="save" value="Speichern !!!" />
<!-- Eingabemaske mit aktuellem Datensatz -->
~~~php
<?php
echo "<a href='db_add.php?db=$db_name&prefix=$db_pref&main_ID=$main_ID&table=ap'><img src='../pics/button_add.png' /></a>";
echo "<a href='db_del.php?db=$db_name&prefix=$db_pref&main_ID=$main_ID&ap_id=$row_ap[0]'><img src='../pics/button_del.png' /></a>";
echo "<input type='hidden' name='db' value='". $db_name ."'/>";
echo "<input type='hidden' name='prefix' value='". $db_pref ."'/>";
echo "<input type='hidden' name='main_ID' value='". $main_ID ."'/>";
echo "<input type='hidden' name='count_gs' value='". $count_gs ."'/>";
echo "<input type='hidden' name='count_ap' value='". $count_ap ."'/>";
?>
<input class="button\_big" type="submit" name="save" value="Speichern !!!" />
</form>
[/code]