Überprüfung von Formulardaten

Ja genau das ist ja das Ding! In meinem Code taucht soetwas nicht mal auf und trotzdem kommmt das in das Formularfeld! Versteh ich auch nicht!

So schaut es im Editor aus:

<font face="Arial" color="white"><input type="text" name="pname" size="50" maxlength="70" value="<?php echo $_POST['pname'];?>"></font>

Und so wenn ich die Seite im Browser aufrufe:

<font face="Arial" color="white"><input type="text" name="pname" size="50" maxlength="70" value="<font color='#ff0000'><br />

Ziemlich komisch! Hat jemand eine Idee an was das liegt?

Ausserdem hab ich noch ein kleines Problemchen:

Wenn man etwas falsch eingegeben hat dann kommen ja die Inhalte wieder in die Textfelder jedoch kommen die Inhalte nicht in das textarea.

Wie kann man das erreichen?
 
Zuletzt bearbeitet:
Zur Textarea:
Es gibt kein Feld value bei der Textarea. Der Text der in ihr erscheinen soll wird zwischen dem Start- und Endtag notiert, z.B.
HTML:
<textarea name="text">Mein Test!</textarea>

Wegen dem Font:
Füge noch folgendes an das Ende des if-Zweigs am Anfang (if(isset($_POST['ueberpruefung'])))
PHP:
$_POST = array_map('htmlspecialchars', $_POST);
 
Zuletzt bearbeitet:
danke für die Info! Wusst ich gar nich! ;)

Könnte man an der Start- und Endtagstelle dann auch die Session Variable schreiben, damit der Inhalt dann dort ausgegeben wird?
 
Ja klar :)
PHP:
<textarea><?php echo isset($_SESSION['inhalt']) ? htmlspecialchars($_SESSION['inhalt']) : ''; ?></textarea>
Die [phpf]htmlspecialchars[/phpf]-Funktion sorgt dafür, dass Sonderzeichen in HTML-Codes umgewandelt werden (siehe Link), damit wird verhindert, dass wenn in $_SESSION['inhalt'] z.B. </textarea> steht, die Textarea vorzeitig geschlossen wird.
 
Ja genau so sollte es sein! Ich freu mich!

Danke!

Hast du vielleicht noch eine Idee wie es funktionieren würde wenn ich 2 Buttons habe die zu 2 Unterschiedlichen Seiten führen aber beide sollen auch die Daten der 1. Seite mitschleifen?

Ohne überprüfung habe ich das so gemacht:

PHP:
<?php session_start ();
  if ($_POST['weiter']) {
  include 'neuanlage_projektangebot2.php';
   }
   elseif ($_POST['senden']) {
   include 'neuanlage_projektangebot2a.php';
   }
   else {
 ?>

HTML:
 <p align="right"><input type="submit" name="weiter" value="weitere Position"><input type="submit" name="senden" value="Angebot senden"></p>

Kann man das jetzt auch so ähnlich machen oder müsste man das komplett anders machen?
 
Ne also das wird nicht funktionieren. Denn egal welchen Submitbutton du betätigst, der Inhalt des anderen wird trotzdem mitgeschickt (meines Wissens). Du könntest höchstens zwei Radiobuttons machen und dann abschicken, also so etwa
HTML:
<input type="radio" name="wohin" value="seite1" /> Seite1
<input type="radio" name="wohin" value="seite2" /> Seite2
<input type="submit" name="senden" value="Weiter" />

PHP:
  if (isset($_POST['wohin']) && $_POST['wohin'] == 'seite1') {
  include 'neuanlage_projektangebot2.php';
   }
   elseif (isset($_POST['wohin']) && $_POST['wohin'] == 'seite2') {
   include 'neuanlage_projektangebot2a.php';
   }

Übrigens, wenn du dir nicht sicher bist, ob eine Variable existiert, dann prüfe das immer mit [phpf]isset[/phpf], um diese Undefined index und Undefined variable Fehler zu vermeiden :) Ist einfach ein besserer Stil, meiner Ansicht nach.
 
Einmal zum überprüfen, ob die Variable existiert ([phpf]isset[/phpf]) und einmal zur Überprüfung des Inhalts.
PHP:
<?php
error_reporting(E_ALL);
// Notice: Undefined variable: a in D:\xampp\htdocs\test.php on line 4
if($a == 2)
{
	true;
}

// Keine Notice und sonstiges, da vorher Existenzprüfung unterzogen
if(isset($a) && $a == 2)
{
	true;
}
?>
 
Grrrrrr..... ich glaub ich hör heute auf mit der ganzen PHP-Geschichte und mach nen Tag Pause....

Danke für die Info....

MFG
Der Blindfisch...
 
mhm das klingt einleuchtend!

Also es würde nicht funktionieren, wenn man ein Button dafür hat das die Daten zu der 2. Seite gelangen und ein Button dafür hat das die Daten zur 3. Seite gelangen!

Was ich damit sagen will ist: Ich möchte ja bei beiden Buttons die Daten wegschicken nur eben bei dem einen zur 2. Seite und bei dem anderen zur 3. Seite!

Wenn es in PHP nicht funktioniert, könnte man da vielleicht etwas in JAVA machen, damit die Daten verschickt werden könn?
 
Zurück