Onkel Schnitzel: Funktion für ein Array

Beitrag lesen

Hallo dedl,

Du hast aber ein generelles Ablauf-Problem. Du müsstest die Slahes gleich bei der Eingabe der Daten wegwerfen und sie nicht erst bis zur Datenbank gelangen lassen.

Das ist ja der Punkt- das wollte ich eigentlich, aber da wurde es richtig "verrückt". Ich versuchs mal kurz zu machen.

Das ist die Funktion in der Formulardatei:

function array_stripslashes(&$var) {
          if(is_string($var)) {
            $var = stripslashes($var);
          }
          else {
            if(is_array($var)) {
              foreach($var AS $key => $value) {
                array_stripslashes($var[$key]);
              }
            }
          }
  }

if(get_magic_quotes_gpc()) {
        array_stripslashes($_REQUEST);
  }

Das ist das Formularfeld:

name="name" value="<?php if (isset($_POST['name'])) echo htmlentities($_REQUEST['name']); ?>"

Dann folgen diverse Abfragen und der Eintrag in die Datenbank:

$send = "";
    if(isset($_POST['send'])) {
        $send = key($_POST['send']);
    }

switch ($send) {
    case 'ok':      if (isset($_POST["name"])) {
                      $namski = $_POST["name"];

Das funktioniert soweit. Dies slashes werden im formularfeld auch gestript, nur nicht beim Eintrag in die Datenbank. Dazu wollte ich die Funktion so ergänzen:

if(get_magic_quotes_gpc()) {
        array_stripslashes($_REQUEST);
        array_stripslashes($_POST);
  }

Aber dann wird meine switch-Schleife plötzlich nicht mehr durchlaufen. Ich hab schon alle möglichen Varianten probiert, aber mit diesem Zusatz von $_POST in der Funktion wills irgendwie nicht funktionuckeln.

Gruß,
Onkel Schnitzel