Du bist hier: Seitenreport Forum Entwickler Treffpunkt Projekt-Ideen & Entwicklung im Team Webshop ohne Datenbank selber schreiben
Webshop ohne Datenbank selber schreiben
| Verfasst am: 26. 04. 2011 [11:43] | |||
philosapiens Dabei seit: 19.09.2010 Themenersteller ![]() 53 Beiträge | Beitrag hilfreich? | ||
| 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 <?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'; ?> ... <div class="boutigeartikel"> <a class="boutiquefoto" href="#artikel0001"><img src="pic/boutique/vorschau/artik0001.jpg" width="100" height="150" title="Artikel 0001." alt="Foto von Artikel 0001." /> <span><img src="pic/boutique/artikel0001.jpg" width="267" height="400" title="<?php echo $Bezeichnung_Artikel_0001 ?> mit der Artikelnummer 0001." alt="Foto von Artikelnummer 0001: <?php echo $Bezeichnung_Artikel_0001 ?>." /></span></a> <h3><?php echo $Bezeichnung_Artikel_0001 ?></h3> <p class="artikelpreis">nur <span><?php echo $Preis_Artikel_0001 ?></span> inkl. 19% MwSt., zzgl. <a class"versand" title="interner Verweis zur Übersicht unserer Versandkosten" href="/versand.html">Versand</a></p> <form action="boutique.html" method="post" enctype="multipart/form-data" accept-charset="utf-8"> <fieldset> <legend>Artikelauswahl:</legend> <p> <label for="Artikel_0001"><?php echo $Bezeichnung_Artikel_0001 ?></label> Menge: <input class="artikelmenge" name="Menge_Artikel_0001" id="Menge_Artikel_0001" size="1" value="<?php 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" /> </p> </fieldset> </form> <p class=""><?php echo $Beschreibung_Artikel_0001 ?></p> </div> <div class="boutigeartikel"> <a class="boutiquefoto2" href="#artikel0002"><img src="pic/boutique/vorschau/artik0002.jpg" width="100" height="150" title="Artikel 0002." alt="Foto von Artikel 0002." /> <span><img src="pic/boutique/artikel0002.jpg" width="267" height="400" title="<?php echo $Bezeichnung_Artikel_0002 ?> mit der Artikelnummer 0002." alt="Foto von Artikelnummer 0002: <?php echo $Bezeichnung_Artikel_0002 ?>." /></span></a> <h3><?php echo $Bezeichnung_Artikel_0002 ?></h3> <p class="artikelpreis">nur <span><?php echo $Preis_Artikel_0002 ?></span> inkl. 19% MwSt., zzgl. <a class"versand" title="interner Verweis zur Übersicht unserer Versandkosten" href="/versand.html">Versand</a></p> <form action="boutique.html" method="post" enctype="multipart/form-data" accept-charset="utf-8"> <fieldset> <legend>Artikelauswahl:</legend> <p> <label for="Artikel_0002"><?php echo $Bezeichnung_Artikel_0002 ?></label> Menge: <input class="artikelmenge" name="Menge_Artikel_0002" id="Menge_Artikel_0002" size="1" value="<?php 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" /> </p> </fieldset> </form> <p class=""><?php echo $Beschreibung_Artikel_0002 ?></p> </div> ... <?php $handle = fopen("./data/temp/".$dateiname,"w+"); fwrite($handle,$uebergabe_daten); fclose($handle); ?> und hier die warenkorb.php PHP ... <ul> <?php $dir = "./data/temp/"; $dh = opendir($dir); while (false !== ($filename = readdir($dh))) {$files[] = $filename;} rsort($files); $lines = file('./data/temp/'.$files[0].''); foreach ($lines as $line_num => $line) {echo "<li>" . htmlspecialchars($line) . "</li>\n";} ?> </ul> ... 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? Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden. Hier mein Versuch der Webseitenerstellung: http://idealseiten.de | |||
| Verfasst am: 26. 04. 2011 [12:48] | |||
romacron Dabei seit: 01.11.2009 ![]() 1143 Beiträge | Beitrag hilfreich? | ||
| 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 | |||
| Verfasst am: 26. 04. 2011 [13:15] | |||
Ultima Dabei seit: 09.07.2010 ![]() 759 Beiträge | Beitrag hilfreich? | ||
"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 Mein Portal: Ultima-Project.net - Gold für alle | |||
| Verfasst am: 26. 04. 2011 [15:51] | |||
philosapiens Dabei seit: 19.09.2010 Themenersteller ![]() 53 Beiträge | Beitrag hilfreich? | ||
| 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!! Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden. Hier mein Versuch der Webseitenerstellung: http://idealseiten.de | |||
| Verfasst am: 26. 04. 2011 [16:16] | |||
romacron Dabei seit: 01.11.2009 ![]() 1143 Beiträge | Beitrag hilfreich? | ||
| ...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! | |||
| Verfasst am: 26. 04. 2011 [19:07] | |||
philosapiens Dabei seit: 19.09.2010 Themenersteller ![]() 53 Beiträge | Beitrag hilfreich? | ||
| 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. Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden. Hier mein Versuch der Webseitenerstellung: http://idealseiten.de | |||
| Verfasst am: 26. 04. 2011 [19:37] | |||
romacron Dabei seit: 01.11.2009 ![]() 1143 Beiträge | Beitrag hilfreich? | ||
| ..ich schau es mir gern an. Vielleicht nicht ganz so public auf die Schlachtbank, der ein oder andere Spassvogel ist sicher dabei ![]() | |||
| Verfasst am: 27. 04. 2011 [22:16] | |||
UFOMelkor Dabei seit: 20.10.2009 ![]() 348 Beiträge | Beitrag hilfreich? | ||
| Vielleicht für den ein oder anderen interessant: Filesystem vs MySQL Datenbank | |||
| Verfasst am: 08. 05. 2011 [23:42] | |||
philosapiens Dabei seit: 19.09.2010 Themenersteller ![]() 53 Beiträge | Beitrag hilfreich? | ||
| 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. Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden. Hier mein Versuch der Webseitenerstellung: http://idealseiten.de | |||
Du bist nicht eingeloggt. Bitte beachte, dass Du eingeloggt sein musst, um Themen zu erstellen oder auf Beiträge zu antworten.
Werde in Echtzeit über neue Foren-Beiträge informiert:
3 Mitglieder waren innerhalb der letzten 15 Minuten online (65 heute gesamt):
defkon75, mangray, wireless
Administratoren und Moderatoren:
[keine]
Seitenreport hat 18153 registrierte Mitglieder, 3003 Themen und 29112 Beiträge.
Der aktuelle Mitgliederzuwachs liegt bei durchschnittlich 12 bestätigten Neuregistrierungen pro Tag.
Pro Tag werden im Seitenreport Forum durchschnittlich 1 neues Thema und 7 Beiträge erstellt.
Die Durchschnittszahlen berechnen sich aus den letzten 7 Tagen.

Lade...
Neueste Foren-Beiträge
| Abstimmung: 20.000 Mitglieder Jubiläum - was tun? Internes & Ankündigungen / Internes | Gestern [23:07] | |
| Microsofts soziales Netzwerk So.cl Internet / News | Gestern [20:03] | |
| Nicht nachvollziehbarer CSS Fehler Internes & Ankündigungen / Analyse-Ergebnisse | Gestern [13:37] | |
| Partnerprogramm: Eintrag für Kunden erledigt Internes & Ankündigungen / Internes | 22. 05. 2012 [10:35] | |
| Hotelbericht Entwickler Treffpunkt / Website vorstellen | 22. 05. 2012 [09:28] |
Lade...
Aktuelle Artikel:
Facebook - eine neue Tech-Blase?
Facebook ist in den vergangenen Tagen wegen seines Börsenganges und den dabei eingefahrenen Investorengeldern von 16 Milliarden Dollar großflächig in die Kritik geraten. Der Marktwert von 104 Milliarden Dollar wird von vielen als maßlos übertrieben angesehen. Ist Facebook eine neue Internet-Blase, die in den nächsten Jahren platzen wird?
Suchmaschinenoptimierung seit dem Google Penguin Update
Das neue Update vom Branchenriesen Google wird in Seo-Kreisen gerne mit einem Erdbeben verglichen. Diese Metapher trifft die Sachlage sehr gut, denn der Pinguin bringt die Arbeitsfundamente der Suchmaschinenoptimierer gehörig ins Wanken.
Tipps für den guten Start ins Business
Sich selbstständig machen, eine Firma gründen und direkt ins eigenständige Berufsleben einzusteigen klingt spannend und irgendwie auch einfach. Doch einfach ist es ganz und gar nicht...
Facebook - eine neue Tech-Blase?
Facebook ist in den vergangenen Tagen wegen seines Börsenganges und den dabei eingefahrenen Investorengeldern von 16 Milliarden Dollar großflächig in die Kritik geraten. Der Marktwert von 104 Milliarden Dollar wird von vielen als maßlos übertrieben angesehen. Ist Facebook eine neue Internet-Blase, die in den nächsten Jahren platzen wird?
18. Mai 2012
Suchmaschinenoptimierung seit dem Google Penguin Update
Das neue Update vom Branchenriesen Google wird in Seo-Kreisen gerne mit einem Erdbeben verglichen. Diese Metapher trifft die Sachlage sehr gut, denn der Pinguin bringt die Arbeitsfundamente der Suchmaschinenoptimierer gehörig ins Wanken.
15. Mai 2012
Tipps für den guten Start ins Business
Sich selbstständig machen, eine Firma gründen und direkt ins eigenständige Berufsleben einzusteigen klingt spannend und irgendwie auch einfach. Doch einfach ist es ganz und gar nicht...
14. Mai 2012




