Formularwerte prüfen

Hallo gumbo.

Danke für den Ansatz. Habe nur 2 Probleme.


Erstens: Versteh ich das Skript leider nur halb.

Zweitens: Es funktioniert nicht. Gebe ich nur teilweise Werte an, werden trotzdem die Erfolgsmeldung ausgegeben.
 
Habe nun was neues gebastel,t aber irgendwie, sitz ich hier nun auch wieder 5 Std. und nix läuft so wie es soll.....

Habe schon alles mögliche ausprobiert....

PHP:
function datenreiniger ()

	{	
	
		foreach ($_POST as $key => $wert)
			 	
			{	$inhalt = $wert;
			
				// HTML- und PHP-Code entfernen. 
                $inhalt = strip_tags($inhalt); 
                // Umlaute und Sonderzeichen in 
                //HTML-Schreibweise umwandeln 
                $inhalt = htmlspecialchars($inhalt); 
                // Entfernt überflüssige Zeichen 
                // Anfang und Ende einer Zeichenkette 
                $inhalt = trim($inhalt); 
                // Backslashes entfernen 
                $inhalt = stripslashes($inhalt);
				
				echo $key."<br><br>";
				echo $wert."<br><br>";
				
			} // Ende foreach ()
		
	} // Ende function datenreiniger ()
	
datenreiniger () -> $ausgabe;
				echo $ausgabe;
 
Ok. Mach ich.
Aber das ist nicht das eigentliche Problem.

Das Problem ist, dass trim(), strip_tags(), etc. nicht ausgeführt werden....
Die Werte die mit Post übergeben wurden, kann ich ausgeben.
Sie werden jedoch nicht formatiert.
 
Du wirst mit deiner Funkion Probleme bekommen, sobald ein Element von $_POST wiederum ein Array ist.... diesen müsstest du dann ebenfalls mit dieser Funktion bearbeiten:
PHP:
<pre>
<?php
function datenreiniger($arr)
{    
  $return=array();
  
  foreach ($arr as $key => $value)
    {    
      if(!is_array($value))
        {
          $return[$key]=stripslashes(htmlspecialchars(strip_tags(trim($value))));  
        }
      else
        {
          $return[$key]=datenreiniger($value);
        }      
    }
  return($return);
} 
    
$ausgabe = datenreiniger($_POST);
print_r($ausgabe);  
?>
</pre>
 
Sven Mintel hat gesagt.:
PHP:
$ausgabe = datenreiniger($_POST);
Muss ich das übergeben? Dachte $_POST wäre global. Sprich steht immer zur Verfügung.



Ich muss mir das mal genau anschauen....
Versteh da auf den ersten Blick nicht so genau was da passiert...
Aber erstmal Danke von hier....
 
Zurück