ich hoffe Ihr könnt mir helfen.
Die folgende Frage hätte ich bestimmt auch in einem Programmierer-Forum stellen können, aber ich bin nun mal hier registriert xD
ich hab mir einen LAMB aufgesetzt (B=Bash Skripts).
Soweit läuft es auch alles wie ich mir vorstelle.
Jetzt möchte ich einen Haufen an Abfragen starten, aber wie kann man dem Apache sagen das die Variablen mit übermittelt werden sollen?
Konkret: Ich weiß wie ich Daten mit Skripts auslesen/bearbeiten kann, aber ich weiß nicht wie ich Variablen aus Eingabefeldern an ein Skript übergebe.
Feste Werte einem Skript zu übergeben ist kein Problem.
Ich hab es schon mit Formen probiert und kann da auch mit Variablen übermitteln, aber ich weiß nicht wie man dann die Seite wechseln kann und die Variablen dahin mit nimmt.
Bei über 40 Fragen mit DB-Auflistungen will ich mehr als nur eine Seite haben um Umgebungsvariablen zu nutzen.
Ich habe mich an die Anleitung von YoLinux gehalten, aber ich hab da einiges wohl nicht verstanden.
Mein Skript sieht wie folgt aus ...
Code: Alles auswählen
#!/bin/bash
# Communication Gateway Interface
# Dieses Sktipt dient als Verbindung zwischen Apache und einer MySQL-DB.
# 2016-01-05 @suleiman
# Zugriffsdaten für den MySQL-Server (hier lass ich mir was besseres Einfallen, wenn alles mal läuft)
DB_NAME="xxx"
USER_NAME="xxx"
USER_PASSWD="xxx"
# Ich muß mir noch was einfallen lassen um die Umlaute nutzen zu können
INFTXT_SELECT_INDEX='Wähle einen Namen anhand der ID aus ...'
INFTXT_SELECT_STATUS_INDEX="Wähle den Status anhand der ID aus ..."
# HTML-Grundgerüst
echo "Content-type: text/html"
echo ""
echo "<html>"
echo "<head>"
echo "<title>MySQL Request</title>"
echo "<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">"
echo "</head>"
echo "<body>"
echo "<center>"
####################################################
# Hier kommt der eigentliche auszugebende Text hin #
####################################################
# Auflistung1
echo "<form method=GET action=\"${SCRIPT}\">"
echo "<h1>${INFTXT_SELECT_INDEX}</h1>"
mysql -D "$DB_NAME" -u "$USER_NAME" -p"$USER_PASSWD" --html -e "select ID,name,types.type,description from product join types where types.ID = type_index;"
echo "ID: <input type="text" name="var1" size=2>"
echo "<br><br><br>"
echo "<input type="submit" value="Weiter"></form>"
# Abfragen ob das Script richtig ausgeführt wurde
if [ "$REQUEST_METHOD" != "GET" ]; then
echo "<hr>Script Fehler:"
echo "Aufruf einer Funktion ist fehlgeschlagen, REQUEST_METHOD!=GET."
echo "Übergabe der Parameter muß überprüft werden und METHOD=\"GET\" muss benutzt werden.<hr>"
exit 1
fi
# Abfragen ob Daten übermittelt wurden
if [ -z "$QUERY_STRING" ]; then
exit 0
fi
# Auflistung2
echo "<h1>${INFTXT_SELECT_STATUS_INDEX}</h1>"
mysql -D "$DB_NAME" -u "$USER_NAME" -p"$USER_PASSWD" --html -e "select * from status;"
echo "ID: <input type="text" name="var2" size=2>"
Wenn ich einen neuen Eintrag anhänge dann wird meine Seite nur länger und länger.
Ich möchte aber am liebsten für jede Frage eine neue oder leere Seite.
Wie schon gesagt es sind rund 40 Fragen mit teilweise großen Informationen aus der DB welche aufgelistet werden sollen.
Am liebsten würde ich einfach ein Frame erstellen und jede Frage in eine HTML parken und dann im Frame anzeigen lassen.
Aber kann man dann die Variabeln an einen Link irgendwie anbinden ?
Bis jetz kenne ich nur den Submit-Button von der Form wo ich erstellt habe, aber ich weiß nicht ob man damit auch einen Link erstellen kann.
Gibt es vielleicht noch andere Methoden ?
Ich bin noch sehr grün hinter den Ohren wenn es um Umgebungsvariablen vom Apache geht!