<a href="-couple-name-2386"></a> <a href="-online"></a> <a href="-online-10"></a> <a…
von:
<a href=""></a> <a href=""></a> <a href="-online-5"></a> <a href="-online"></a> <a…
von:
Hallo,
ich versuche mich gerade an einem kleinen Shop. Es sollen ca. 100 Artikel angeboten werden können. Ich möchte keine Datenbank nutzen und möglichst unabhängig von der jeweiligen Browsereinstellung sein. Daher habe ich mich gegen SESSIONs und mehr für ausgelagerte Textdateien mit fopen als temporäre Speicherung entschieden.
Und schwupp, noch bevor ich gross mit php begonnen habe, stehen da schon die ersten Schwierigkeiten in der Übergabe der ausgewählten Variablen an.
Ich möchte von einer Auswahlseite und dort aus einem oder mehreren Formularen die jeweilge Auswahl in den Warenkorb mitnehmen. Das mache ich aktuell so:
boutique.php
<?php
...
$dateiname = date('Ymd_His').'_'.str_replace(".", "_", htmlentities ($_SERVER['REMOTE_ADDR'])).'.txt';
if(isset($_POST['Warenkorb_Artikel_0001'])) {
if ($_POST["Menge_Artikel_0001"] != ""){
$artikelmenge0001 = $_POST["Menge_Artikel_0001"];
}
else $artikelmenge0001 = "0001a";
}
else $artikelmenge0001 = "0001b";
if(isset($_POST['Warenkorb_Artikel_0002'])) {
if ($_POST["Menge_Artikel_0002"] != ""){
$artikelmenge0002 = $_POST["Menge_Artikel_0002"];
}
else $artikelmenge0002 = "0002a";
}
else $artikelmenge0002 = "0002b";
...
$uebergabe_daten='Menge Artikel 0001: '.$artikelmenge0001.' Stück
Menge Artikel 0002: '.$artikelmenge0002.' Stück';
?>
...
nur <?php echo $Preis_Artikel_0001 ?>
inkl. 19% MwSt., zzgl. Versand
Menge: <input class="artikelmenge" name="Menge_Artikel_0001" id="Menge_Artikel_0001" size="1" value="<?php <br />if(isset($_POST['Warenkorb_Artikel_0001'])) {
if ($_POST["Menge_Artikel_0001"] != ""){
$artikelvalue0001 = $_POST["Menge_Artikel_0001"];
}
else $artikelvalue0001 = "0";
}
else $artikelvalue0001 = "0";
echo $artikelvalue0001;
?>" />
<input class="warenkorb" type="submit" name="Warenkorb_Artikel_0001" title="Diesen Artikel in den Warenkorb legen." value="in den Warenkorb" />
<?php echo $Beschreibung_Artikel_0001 ?>
nur <?php echo $Preis_Artikel_0002 ?>
inkl. 19% MwSt., zzgl. Versand
Menge: <input class="artikelmenge" name="Menge_Artikel_0002" id="Menge_Artikel_0002" size="1" value="<?php <br />if(isset($_POST['Warenkorb_Artikel_0002'])) {
if ($_POST["Menge_Artikel_0002"] != ""){
$artikelvalue0002 = $_POST["Menge_Artikel_0002"];
}
else $artikelvalue0002 = "0";
}
else $artikelvalue0002 = "0";
echo $artikelvalue0002;
?>" />
<input class="warenkorb" type="submit" name="Warenkorb_Artikel_0002" title="Diesen Artikel in den Warenkorb legen." value="in den Warenkorb" />
<?php echo $Beschreibung_Artikel_0002 ?>
...
<?php
$handle = fopen("./data/temp/".$dateiname,"w+");
fwrite($handle,$uebergabe_daten);
fclose($handle);
?>
und hier die warenkorb.php
...
...
Leider bekomme ich damit immer nur:
# Menge Artikel 0001: 0001b Stück
# Menge Artikel 0002: 0002b Stück
Wie kann ich denn aus einer Seite, aus einem oder mehreren Formularen mir unterschiedliche Inhalte der Variablen in die temporäre Textdatei speichern?
Wo ist da mein bisheriger Denkfehler?
zu nächst mal herzlichen Glückwunsch und viel Spass am Lernen.
Thema Datenbank:
Datenbanken sind an sich nichts anderes als Textdateien, plus ein wenig Luxus dabei.
Als alternative "Datenbanken" bietet sich
csv(das kannst du auch aus openoffice oder ähnlichem exportieren und deine ArticleDaten aktuell halten)an. Später, wenn dann doch eine Datenbank kommen sollte, kannst die csv auch direct in die Datenbank "dumpen".
xml . Das lässt sich gut strukturieren bzw, hat schon eine Grundstruktur. Php bietet hierfür auch eine Menge Zugriffsfunktionen.
Welches Format du letztendlich nimmst wird Geschmackssache sein.
Um das Daten-banken egal ob mysql xml csv wirst du nicht herumkommen.
Zum Thema Session:
Wenn ein Kunde einen Artikel ausgewählt hat, dann auf eine neue Seite klickt, ist ohne eindeutige Identifizerung der User der Warenkorb im Einmer.
Wie du die Session übergibst(als cookie oder url whatever) ist dann noch einmal eine andere Sache.
Wenn du dich mit Sessions nicht anfreunden kannst und die user bei IP oder anderen Methoden tracken magst, dann wirds schwierig.
auf die gefahr hin das ich unhöflich werde, wie sieht es aus, hast du dich mit "function" schon beschäfigt.
Das wäre ne tolle Sache, dann wird alles ein wenig leichter...
Viele Grüsse
philosapiens schrieb:
...
ich versuche mich gerade an einem kleinen Shop. Es sollen ca. 100 Artikel angeboten werden können. Ich möchte keine Datenbank nutzen und möglichst unabhängig von der jeweiligen Browsereinstellung sein. Daher habe ich mich gegen SESSIONs und mehr für ausgelagerte Textdateien mit fopen als temporäre Speicherung entschieden.
...
Hallo philosapiens,
du scheinst dich erst seit kurzem mit Programmieren zu beschäftigen. (nach den Codebeispielen) So ein Shop ist zur Übung viel zu komplex. Da auch eine gewisse Sicherheit eine große Rolle spielt. Ich stell mir da gerade vor wie du eventuell auch auf die Idee kommst vertrauliche Informationen in Textdateien zu speichern. (zB.: Kreditkarteninformationen, Passwörter, eMail Adressen, ...) So etwas hätte schlimme Folgen für die Betroffenen.
Wenn es nur ums lernen/üben geht schreib doch lieber ein Gästebuch oder so. Wenn du wirklich einen Shop betreiben willst solltest du erst noch etwas Erfahrung sammeln und solang auf professionelle Software zurückgreifen.
Viele Grüße
Thomas
Hallo,
danke für Euer Interesse. Der Tipp mit den functions ist prima. Ich wollte schon immer mal ein Projekt OOP aufziehen. Mal sehen, wie weit ich damit komme.
Meinen Gedankenknoten konnte ich auch gerade lösen. Ich kann ja alle Formulareingaben in der boutique selbst sammeln und dann übergeben. Und das geht dann auch hidden mit der SID.
Bis hierhin erst einmal vielen Dank!
@Ultima
Sicherlich ist es risikobehaftet, doch werde ich sicherlich vor der Scharfschaltung ausgiebig testen!!
...dann gutes Gelingen.
Zum Thema Test vor scharfschalten.
Ich sehe das wie Thomas...wir hatten hier schon mehrfach schuppen von|vor den Augen...
Ich denke es sollte jemand testen der nicht "bestechlich" oder gütig ist.
Wir müssen auch so testen!
Hallo,
sollte ich das Projekt testfähig geschrieben bekommen, werde ich es gerne inkl. des Codes hier zur Schlachtbank führen.
Mal sehen, ob ich es überhaupt gebacken bekomme.
..ich schau es mir gern an.
Vielleicht nicht ganz so public auf die Schlachtbank, der ein oder andere Spassvogel ist sicher dabei
Vielleicht für den ein oder anderen interessant: Filesystem vs MySQL Datenbank
Hallo,
so, ich wäre dann soweit erst einmal fertig für die Schlachtbank.
Das System ist ohne DB und ohne Text-Dateien. Laut Kundenwunsch reichen E-Mails. Wer gerne einmal auf Herz und Nieren testen mag, derschreibe mir bitte einfach. Ich sende auch gerne alle Dateien zum besseren "Einbrechen" dazu.
Beitrag erstellen
EinloggenKostenlos registrieren