Homepage selbermachen 7.846 Themen, 35.563 Beiträge

Problem: Löschen eines Wertes aus der Sessiondatei

Der_Milchmann / 4 Antworten / Flachansicht Nickles

Hallo, ich habe folgendes Problem, ich möchte Werte aus einer Sessiondatei einzeln rauslöschen. Dies klappt aber nicht, wie ich das vorhatte.

Hier mal der Ablauf:


  • Über Formular Werte in die Sessiondatei einfügen
  • Werte ausgeben und zum Löschen "anbieten"
  • Wenn ein Wort gelöscht wird, wird der Zähler abgeglichen und dann gelöscht.
  • Das löschen erfolgt so: Wenn der Counterwert ungleich ungleich ist, werden die Werte in einen neuen Array eingefügt und dann sollen sie theoretisch den alten ersetzen, das eine gelöschte soll somit rausfallen.
  • Genau hier hakt es: Das klappt nicht, ich kann die werte rumschieben aber es fällt keiner raus. Wo liegt der Fehler?



<?php
session_start();

session_register("kunde_register");

if($kunde != "" && $option != "delete") $kunde_register[] = $kunde;


echo"
<form action=$php_self>
Kunde <input type=text name=\\"kunde\\"><br>
<input type=submit nam=absenden>
</form>";

echo "<b><br><br>Alle bereits gespeicherten Datensätze<br></b>";

for($i=0;$i<count($kunde_register);$i++)
{
echo "Eintrag direkt ausgegeben<br>";
echo $kunde_register[$i];
echo " <a href=\\"$PHP_SELF?option=delete&deleteid=$i\\">loeschen</a>";
echo "<br>";
$old[] = $kunde_register[$i];
}

echo "<br><br><br><br>";

echo "<b>Überprüfung der Datensätze und Übergabe in neues Array<br></b>";

if($option == "delete")
{
for($i=0;$i<count($old);$i++)
{
echo "Counter id $i";;
echo "<br>Deleteid: $deleteid<br>";
echo"Alt ";
if($deleteid != $i) $neu[] = $old[$i];
echo $old[$i];
echo "<br><br>";
}
}

echo "<br><br><br><br>";

echo "<b>Ausgabe des neuen Array ohne den gelöschten Datensatz<br></b>";


for($i=0;$i<count($neu);$i++)
{
echo $neu[$i];
echo"<br>";
}


?>
-----------------------------------Zu Hartz4 kann ich nur sagen, dass ich froh bin, dass ich einen Job habe
bei Antwort benachrichtigen
T E S T E R Der_Milchmann „Problem: Löschen eines Wertes aus der Sessiondatei“
Optionen

Hey,
ich sehe das Problem, es liegt eigentlich nur in der Übergabe der Variablen . schmeiss die vielen Übergaben in verschiedene Variablen raus und dann ... versuche folgendes

[not tested]

komplett neues Registrieren der Variablen in der Session

Ich weiss, es ist DB lastiger und benötigt einen guten server, aber den sollte man schon betreiben, wenn man einen Onlineshop hat - du wirst weder per Klasse, noch per Session (es sei denn du hast wirklich Profi-Ahnung von Objektorientierung) aber per Session bekommst du es auf keinen Fall haben - den Komfort einer DB Verbindung - wieso löst du es nicht per DB? In 90% aller fälle wird sowieso bestellt, wenn etwas in den Warenkorb geschmissen wird, und dann spätestens musst du die Waren sowieso in den WArenkorb schmeissen. Daher kannst du es auch gleich dort hinein schreiben.

Ausserdem läufst du hier mit einem eigenen Passwort nicht Gefahr, dass dir ein Dussel an deiner Session oder Cookies etc herumspielt, denn mit Klassen-Warenkörben können Kenner auch einiges serialisieren und reinschreiben, was da nicht reingehört, was bei DBs so nicht geht

bei Antwort benachrichtigen