Hi,
ich hab vor 2 Wochen mit PHP angefangen bin also noch totaler Neuling. Dennoch stehe ich nun vor einem Problem wo ich absolut nicht weiterkomme.
Ich habe mir eine index.php erstellt in der ich 2 "Steuervariablen" eingebaut habe: $strAction und $intAufruf
Je nachdem wie diese Variablen gefüllt sind wird eine entsprechende Datei per include Befehl innerhalb der index.php aufgerufen. In der aufgerufenen Datei werden dann die Steuervariablen innerhalb eines Formulars (type=hidden) gefüllt.
(Die Idee stamm übrigens hierher http://www.traum-projekt.com/html/ph...eil1/index.php ).
Jetzt möchte ich die Eingaben des Formulars (in registrierung_input.inc.php) auf ihre Richtigkeit überprüfen und zwar OHNE nochmal das Formular anzuzeigen wenn alles ok ist! So wie es in dem Code Ausschnitt unten angezeigt wird funktioniert es nicht, ich muss immer nochmal den Button drücken auch wenn schon alles richtig eingegeben wurde (Wenn der Button gedrückt wurde kann ich das Formular wohl nicht mehr verändern bzw neue Daten hinzufügen).
Kann ich vielleicht die Standartvariablen per Post und die Steuervariablen ZUSÄTZLICH per GET schicken? Wenn ja wie gebe ich das im Formular an? Ich möchte nämlich die Standartvariablen (wegen Passwörtern) nicht über die URL übermitteln.
Ich hab auch schon versucht mit einem neuen Header die registrierung_save.inc.php aufzurufen aber dann sind meine vorher gefüllten Variablen leer und ich habe nichts mehr zum abspeichern, zumal dann ja auch die Steuerung über die index.php wegfallen würde.
Ich hoffe ich konnte mein Problem irgendwie erklären
Falls es total untypisch ist ein Projekt so zu steuern lass ich mich auch gerne zu was anderem überreden, ich hab leider nur keine Idee wie man es sonst machen kann, es soll auf jeden Fall flexibel bleiben
Danke für Eure Hilfe!!
Gruß
Christiane
Ausschnitt aus index.php:
Ausschnitt aus registrierung_input.inc.php:
ich hab vor 2 Wochen mit PHP angefangen bin also noch totaler Neuling. Dennoch stehe ich nun vor einem Problem wo ich absolut nicht weiterkomme.
Ich habe mir eine index.php erstellt in der ich 2 "Steuervariablen" eingebaut habe: $strAction und $intAufruf
Je nachdem wie diese Variablen gefüllt sind wird eine entsprechende Datei per include Befehl innerhalb der index.php aufgerufen. In der aufgerufenen Datei werden dann die Steuervariablen innerhalb eines Formulars (type=hidden) gefüllt.
(Die Idee stamm übrigens hierher http://www.traum-projekt.com/html/ph...eil1/index.php ).
Jetzt möchte ich die Eingaben des Formulars (in registrierung_input.inc.php) auf ihre Richtigkeit überprüfen und zwar OHNE nochmal das Formular anzuzeigen wenn alles ok ist! So wie es in dem Code Ausschnitt unten angezeigt wird funktioniert es nicht, ich muss immer nochmal den Button drücken auch wenn schon alles richtig eingegeben wurde (Wenn der Button gedrückt wurde kann ich das Formular wohl nicht mehr verändern bzw neue Daten hinzufügen).
Kann ich vielleicht die Standartvariablen per Post und die Steuervariablen ZUSÄTZLICH per GET schicken? Wenn ja wie gebe ich das im Formular an? Ich möchte nämlich die Standartvariablen (wegen Passwörtern) nicht über die URL übermitteln.
Ich hab auch schon versucht mit einem neuen Header die registrierung_save.inc.php aufzurufen aber dann sind meine vorher gefüllten Variablen leer und ich habe nichts mehr zum abspeichern, zumal dann ja auch die Steuerung über die index.php wegfallen würde.
Ich hoffe ich konnte mein Problem irgendwie erklären

Falls es total untypisch ist ein Projekt so zu steuern lass ich mich auch gerne zu was anderem überreden, ich hab leider nur keine Idee wie man es sonst machen kann, es soll auf jeden Fall flexibel bleiben

Danke für Eure Hilfe!!
Gruß
Christiane
Ausschnitt aus index.php:
PHP-Code:
$strAction=$_POST['strAction'];
$intStep=$_POST['intStep'];
// Neuen User registrieren
if ($strAction=="registrierung") {
//
if ($intStep=="") {
include ("inc/registrierung_input.inc.php");
}
// Ergebnis der Verarbeitung ausgeben
elseif ($intStep=="1") {
include ("inc/registrierung_save.inc.php");
}
}
PHP-Code:
<?
$name1=htmlentities($_POST['name1']);
// Variablen zur Error-Erkennung
$intError=0;
$name1_bgcolor="";
// Hiermit werden die falsch gefüllten Felder im Formular farblich gekennzeichnet
$bgcolor='style="background: #FFCC99;"';
//Wenn das Formular bereits einmal abgeschickt wurde werden diese Prüfungen durchlaufen
if ($intAufruf==1){
//Bei nicht korrekt gefüllter Variable wird die Background Farbe bei dem jeweiligen Feld gesetzt.
if ($name1=="" OR eregi('[0-9]',$name1)) { $name1_bgcolor=$bgcolor; }
}
// Formular ausgeben, Fehlerhafte Eingaben werden über die Variablen ..._bgcolor angezeigt
?>
<fieldset>
<legend>Registrierung</legend>
<form name="input1" id="input1" method="post" action= <? echo $PHP_SELF ?> >
<label for="name1" class="left">Vorname*</label>
<input type="text" name="name1" value="<? echo $name1; echo '"'; echo $name1_bgcolor; ?> />
<input type="submit" name="weiter" value="Weiter" class="button" />
<?
if ($weiter) {
$intError=0;
//Bei nicht korrekt gefüllter Variable wird $intError auf 1 gesetzt.
if ($name1=="" OR eregi('[0-9]',$name1)) { $intError=1; }
// Hier wird entschieden ob zum nächsten Formular gesprungen wird oder ob noch Fehler zu berichtigen sind
echo "<br>intError $intError<br>";
if ($intError!=1) {
echo '<input name="strAction" type="hidden" value="registrierung" />';
echo '<input name="intStep" type="hidden" value="1" /> ';
}
else {
echo '<br /> <br /> Bitte berichtigen Sie die rot hinterlegten Felder <br />';
echo '<input name="strAction" type="hidden" value="registrierung" />';
echo '<input name="intStep" type="hidden" value="" /> ';
}
}
?>
<input name="intAufruf" type="hidden" value="1" />
</form>
</fieldset>
Kommentar