Bestimmte Einträge in einem $_POST löschen
Bestimmte Einträge in einem $_POST löschen
am 09.11.2006 10:50:47 von aliyealiye
Guten Tag,
ich erhalte von einem Formular Werte.
Diese werden zu einer Variable zugewiesen.
$alles=3D$_POST;
Diese kann ich dann anzeigen.
foreach ($alles as $key=3D>$value)
{
echo $key."------->".$value."
";
}
Wie schaffe ich es denn dass folgende Werte wie
loeschen_preis------->1,25 komplett aus der Variable $alles
rausgelöscht werden. Also alle dessen $key mit loeschen_ anfängt.
Vielen Dank.
Saladin
Re: Bestimmte Einträge in einem $_POST löschen
am 09.11.2006 11:19:36 von Ulf Kadner
Saladin schrieb:
^^
Es wäre nett, wenn Du Vor und Nachname angibst! Wir wissen hier gern wer
unser Gegenüber ist.
> ich erhalte von einem Formular Werte.
> Diese werden zu einer Variable zugewiesen.
>
> $alles=$_POST;
Welchen Sinn soll es in Deinem Context haben eine existierende Variable
in eine neue zu kopieren? Steht doch bereits alles in $_POST.
> Wie schaffe ich es denn dass folgende Werte wie
>
> loeschen_preis------->1,25 komplett aus der Variable $alles
> rausgelöscht werden. Also alle dessen $key mit loeschen_ anfängt.
Der sinnvollste wird wohl sein das Du in jedem Iterations-Durchgang
prüfst ob der aktuelle Schlüssel mit diesen Zeichen beginnt (z.B. mit
strpos) und dann mit unset() des entsprechene Element entfernst.
Allerdings solltest Du hier bedenken das, wenn Register_globals aktiv
ist, auch die gleichnamige Globale Variable gelöscht werden muss.
unset($_POST['abc'], $abc);
MfG, Ulf
Re: Bestimmte Einträge in einem $_POST löschen
am 09.11.2006 12:52:56 von aliyealiye
Hallo vielen Dank,
ich habe jetzt das gewünschte mit
foreach ($_POST as $key=3D>$value)
{
$key_1=3Dexplode("_",$key);
if ($key_1[0]=="loeschen")
{
// echo $key."------->".$value."
";
unset($_POST[$key]);
}
}
rausgefiltert. Danach wird mit
foreach ($_POST as $key=3D>$value)
{
echo $key."------->".$value."
";
}
keine Variable ausgegeben dessen Schlüssel mit loeschen_ anfängt. Ich
habe allerdings dass mit dem Register_globals nicht verstanden. Ich
habe in der php.ini gequckt und die Regsiter_globals sind
eingeschaltet. Was muss ich noch mit welchem Befehl löschen damit sich
keine Fehler einschleichen ?
Vielen Dank
Selahattin (Saladin) Merdanli
Ulf Kadner schrieb:
> Saladin schrieb:
> ^^
> Es wäre nett, wenn Du Vor und Nachname angibst! Wir wissen hier gern wer
> unser Gegenüber ist.
>
> > ich erhalte von einem Formular Werte.
> > Diese werden zu einer Variable zugewiesen.
> >
> > $alles=3D$_POST;
>
> Welchen Sinn soll es in Deinem Context haben eine existierende Variable
> in eine neue zu kopieren? Steht doch bereits alles in $_POST.
>
> > Wie schaffe ich es denn dass folgende Werte wie
> >
> > loeschen_preis------->1,25 komplett aus der Variable $alles
> > rausgelöscht werden. Also alle dessen $key mit loeschen_ anfängt.
>
> Der sinnvollste wird wohl sein das Du in jedem Iterations-Durchgang
> prüfst ob der aktuelle Schlüssel mit diesen Zeichen beginnt (z.B. mit
> strpos) und dann mit unset() des entsprechene Element entfernst.
>
> Allerdings solltest Du hier bedenken das, wenn Register_globals aktiv
> ist, auch die gleichnamige Globale Variable gelöscht werden muss.
>=20
> unset($_POST['abc'], $abc);
>=20
> MfG, Ulf
Re: Bestimmte Einträge in einem $_POST löschen
am 09.11.2006 14:18:15 von Sebastian Wessel
Saladin schrieb:
> Ich
> habe allerdings dass mit dem Register_globals nicht verstanden. Ich
> habe in der php.ini gequckt und die Regsiter_globals sind
> eingeschaltet. Was muss ich noch mit welchem Befehl löschen damit sich
> keine Fehler einschleichen ?
Nicht 100%ig passend, aber trotzdem eigentlich die Frage beantwortend:
11.20. Warum funktionieren meine Formulare nicht?
http://www.php-faq.de/q/q-formular-register-globals.html
--
MfG Sebastian Wessel
"Wer Dich wegen deines Hemdes verprügelt ist nicht dein Freund."
(March Simpson)