Formular nach überprüfung in Datei schreiben

Black Panter

Mitglied
Hi,

ich habe ein Formular, das ich von einer PHP-Seite in eine XML-Datei schreiben lasse.

Um zu verhinern, das die XML-Datei von Spam überfüllt wird, habe ich eine kleine Rechenaufgabe eingebaut.

Jetzt möchte ich mit einer if-Abfrage prüfen ob die Lösung, die der benutzer eingegeben hat richtig ist.

Vorgestellt habe ich mir das in etwa so:
Code:
if (abfragefeld == loesung) {
formular abschicken
} else {
neue HTML Seite
}
//Dieser Code spiegelt nur meinen Gedankengang wieder, wie es funktionieren soll und ist kein funktionierender CODE ;)

Vielen Dank im vorraus schon mal.

Grüße aus Japan
Sören
 
Guten Morgen,
sollte hier eine Frage zu erkennen sein oder sollen wir dir für deine Gedankenwiedergabe auf die Schulter klopfen?

Grüße ;)
 
Vielen Dank.

Intressieren, wie ich meinen Gedankengang in PHP umsetzen kann würde mich es trotzdem.

In JavaScript heißt die funktion
Code:
document.submit()
 
Zuletzt bearbeitet:
Na das hast du in PHP doch auch.
Du musst ja irgendwo auf der Seite auch einen SUBMIT-Button (z.B. mit dem Namen "btnSenden") haben. Wenn die Seite geladen wird, prüfst du ob der Button angeklickt wurde oder ob die Seite so aufgerufen wurde.

PHP:
$fehler = 0;

IF (ISSET($_POST["btnSenden"])) {
  // Prüfen ob Rechenaufgabe stimmt
  // Prüfen ob alle Pflichtfelder ausgefüllt wurden
  // usw.
  // Überall wo etwas geprüft wird, kannst du im Falle eines Fehlers
  $fehler = 1;
  // setzten
}

IF (ISSET($_POST["btnSenden"]) AND $fehler == 0) {
  // Wenn der Button angeklickt wurde und alles auf Richtigkeit geprüft wurde
  // XML Einträge erzeugen
}

IF (ISSET($_POST["btnSenden"]) AND $fehler == 1) {
  // Wenn der Button angeklickt wurde und etwas nicht stimmt die entsprechende
  // Fehlermeldung ausgeben
}
 
danke =)
Genau das hab ich gesuch. =)

Eine Frage hätte ich aber noch.

das Formular wird mit folgendem PHP-Code verarbeitet:
Code:
<?php

if (file_exists('data.xml')) {
	$xml = simplexml_load_file('data.xml');
	
	$name = $_POST['name'];
	$wohnort = $_POST['wohnort'];
	$plz = $_POST['plz'];
	$abreiseort = $_POST['abreiseort'];
	$anreise = $_POST['anreise'];
	$abreise = $_POST['abreise'];
	
	
	$user = $xml->addChild('user');
	$user->addChild('name', $name);
	
	$user->addChild('plz', $plz);

	$user->addChild('wohnort', $wohnort);

	$user->addChild('abreiseort', $abreiseort);

	$user->addChild('anreise', $anreise);
	
	$user->addChild('abreise', $abreise);
	
	echo $xml->saveXML('data.xml');
} else {
   exit('Konnte Datei nicht laden.');
}
?>

Jetzt hät ich gerne nach den einzelnen Tags Zeilenumbrüchen, da alles in einer Zeile steht. Wenn ich print '\r\n' zwischen eingebe wird das nicht erkannt. Auch nicht, wenn ich es mit zu der Variablen schreibe. Da wird es mir höchstens mit in den Tag reingeschrieben.

P.S. Die Lösung die bei http://www.tutorials.de/forum/php/334847-zeilenumbruch-xml-datei-nicht-simplexml.html vorgeschlagen wird, t bei mir nicht.
 
Zuletzt bearbeitet:
Hat bei beiden nicht Funktioniert.

Aber seltsamer Weise funktioniert es jetzt, nachdem ich mein System neugestartet habe.

Versteh ich nicht, aber gut... *verwirrt bin*
 
Zurück