[PHP] Onlineshop

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Phil333, 28. Dezember 2008 .

Schlagworte:
  1. 9. Januar 2009
    AW: Onlineshop

    Lies nocheinmal genau. Ich habe dir eine andere funktion gesagt..und nicht htmlspecialchars ;-)



     
  2. 9. Januar 2009
    AW: Onlineshop

    Hallo, hab mal ne ganz andere Frage zu den Thema, will aber nicht zwingend einen neuen Thread aufmachen.

    Ich wollte mal Fragen wie es mit der Bezahlung aussieht.
    Ich würde gerne in ein Webshop Zahlungen per Kreditkarte anbieten.
    Ich hab mal bei Paypal geguckt ob sie sowas anbieten. Ich würde gerne wissen wie das funktioniert. Soweit hört sich es ja toll an aber gibt es denn auch andere Alternativen? Wie kann ich Kreditkartenzahlung realisieren? Wo/Wer/Was braucht dabei die Daten?

    Danke schonmal.
     
  3. 9. Januar 2009
    AW: Onlineshop

    5 Sekunden Google > php shop kreditkarte > eins von vielen Ergebnissen
     
  4. 10. Januar 2009
    AW: Onlineshop

    Guten Abend,

    ich hab noch ne Frage und fang diesmal langsam an (hoffe es ist diesmal eindeutiger was ich will).

    Ich habe meine Modelle in einer MySQL Datenbank stehen.
    Dort steht z.B. der Modellname, der Lagerbestand für jeweils ein Modell.

    Ich möchte nun pro Modell mehrere Bilder hochladen können.
    Das wäre prizipiell ja möglich indem man z.b. 3 Spalten mit den Namen Bild1, Bild2 und Bild 3 macht - halte ich aber für umständlich und undynamisch.
    Meine überlegung geht also dahin, das ich die Bildnamen alle in eine Spalte speicher und mittels Kommata trenne.
    Das Anzeigen ist dann ja kein problem und damit ist auch das löschen kein Problem.
    Das Problem liegt eher beim speichern der neuen Namen.

    wenn ich z.B. 10 Bilder in der Spalte hab, ist es nicht automatisch so, das ich das nächste Bild_11 nennen kann, weil das würde heißen, das ich bei jedem löschvorgang den gesamten sting auslesen müsste und anschließend die Bilder neu benennen und die zeichenkette dann neu speichern müssten um sie sauber in einer chronologischen auflistung zu haben.
    Der Aufwand ist also zu groß weil ich z.B. das Bild_6 irgendwann mal gelöscht hab und der Zehnte eintrag in der Spalte jetzt Bild_11 heißt.
    Das nächste Bild sollte also Bild_6 oder Bild_12 heißen.

    Ich glaube die Problematik ist klar.
    Nun hab ich mir was heute morgen im Bus überlegt und erstmal so notiert.
    Beim testen läuft es auch, aber ich würde gerne wissen, ob es so gut gelöst ist, oder es wesentlich einfachere Lösungen gibt, die noch dazu weniger Performace kosten etc.

    hier mein script:

    PHP:
    <? php

    $Modellname
    = "Ente" //wird aus Datenbank ausgelesen
    $Bilder = "Ente_1.jpg,Ente_2.jpg,Ente_3.jpg,Ente_4.jpg,Ente_5.jpg,Ente_7.jpg,Ente_8.jpg,Ente_9.jpg,Ente_10.jpg," //wird auch aus der Datenbank ausgelesen
    $array explode ( ',' , $Bilder );

    $i = 1 ;
    do
    {
    $Bildname = explode ( '.' , $array [ $i - 1 ]);
    $vergleich = $Modellname . "_" . $i ;
    $ergebnis = $i ;
    $i ++;
    }
    while (
    $Bildname [ 0 ]== $vergleich );

    echo 
    $ergebnis ;
    ?>
    Vielen Dank!
     
  5. 10. Januar 2009
    AW: Onlineshop

    Kleine Frage: Ist es nicht völlig egal, ob ein Eintrag zwischendrin gelöscht wurde?

    Wenn du's in den Array einliest, siehts so aus:
    0 > Ente_1.jpg
    1 > Ente_2.jpg
    2 > Ente_5.jpg
    3 > Ente_8.jpg
    4 > Ente_32.jpg
    5 > Ente_1000.jpg

    Wenn du ein neues Bild in die DB einträgst, holst du dir einfach nur die $zahl des letzten Bildeintrags (i.d.F. 1000) und trägst das neue mit $i++ ein. Die Nummern der Bilder müssen ja nicht fortlaufend sein.
     
  6. 10. Januar 2009
    AW: Onlineshop

    ja stimmt eigentlich... das hab ich gar nicht bedacht ^^
    macht es dennoch sinn meine lösung zu benutzen, weil z.b. 1000 ja länger als 6 ist und daher mehr platz in der DB braucht?

    Vielleicht gillt nochd as argument, das es schöner anzuschauen ist ? <- das ist nicht wirklich ernst gemeint
     
  7. 10. Januar 2009
    AW: Onlineshop

    Naja also ich würde es ganz einfach in den Array einlesen und ausgeben lassen. Wenn es wirklich wichtig wäre, dass die Bildeinträge fortlaufend sind, würde ich es so machen, aber ich bin absolut kein php-pro :

    PHP:
    <? php
    function  foo ( $model , $images )
    {
      
    $array = explode ( ',' , $images );
      
    $imgcount = count ( $array )
      for(
    $i = 0 ; $i < $imgcount ; $i ++)
      {
        
    $array [ $i ]= $model . '_' . $i . '.jpg' ;
        echo 
    $array [ $i ]. '<br />' ;
      }
    }

    foo ( 'ente' , 'ente_1.jpg,ente_3.jpg' );
    ?>
    So fangen die Bilder halt mit 0 an, aber das lässt sich auch sehr einfach anpassen, wenn du bei 1 anfangen willst.

    Ah mir ist grad aufgefallen, dass count($array) aus der schleife rausmuss > performanter. So viel weiß ich gerade noch
     
  8. 10. Januar 2009
    AW: Onlineshop

    das mit der forschleife hatte ich auch erst, weil ich die bisher zu 90% genutzt habe und damit vertrauter war, aber ich entschied mich aus folgendem grund um:

    die forschleife läuft IMMER sooft durch wie es bilder gibt.
    bei 20 bildern sind es also sichere 20 mal.

    die do while macht schluss, wenn das fehlende glied in der kette gefunden ist..

    aber ob das jetzt wirklich "performanter" ist weiß ich nicht... daher frag ich ja ^^
     
  9. 10. Januar 2009
    AW: Onlineshop

    ich weiß nicht warum du des überhaupt in die db speichern willst?

    Ich hätte 3 vorschläge:
    1. Entweder du wirfst alle bilder in nen ordner und liest dann alle bilder die mit "ente_" anfangen aus und lässt sie dir anzeigen. Problem ist, dass es bei vielen bildern, sehr lange dauert.
    2. Du speicherst in ein array alles was hinter dem "_" kommen soll und prüfst ob das vorhanden ist. Denke nicht dass du mehr als 5 Bilder pro Artikel hast --> das ist von den ressourcen her nicht so gravierend. Da kannst du auch alle bilder in einen ordner hauen.
    3. Du erstellst dir ein script, welches du wöchentlich/täglich/immer wenn du was geändert hast abrufst und das script speichert dir dann alle bilder die mit "ente" anfangen in den ordner "ente" und benennt die bilddateien um so dass sie von 1 bis X hochgezählt werden. Dann erstellst du ein 2tes script, welches du aufrust sobald du ein paar bilder gelöscht hast und dieses script prüft dann die ordner, ob da irgendne unstimmigkeit ist und wenn eine da ist dann benennt er die dateien neu. Ansich ist das die "schnellste" lösung, da du das nicht ständig abrufst, sondern nur du bzw. nur das script (kann ja mitten inder nacht sein). So ist es ständig aktuell und am schnellsten.

    gruß
    gl
     
  10. 10. Januar 2009
    AW: Onlineshop

    ich würde eine foreach schleife benutzen
    -> foreach()

    edit: uups müll, hatte die frage falsch verstanden... aber so, wie ich das verstanden hab, is das doch eh nur für dich, is also egal, wie oft das durchläuft...
     
  11. 11. Januar 2009
    AW: Onlineshop

    @nicht heterolORd

    variante eins und drei ist zu ressourcen fressend das ist klar.
    weils das auslesen muss, steigt die last pro benutzer auf dem server, weil wenns nicht in ner DB steht, dann muss für jeden besucher bilder gesucht werden...

    und 2 hab ich nicht ganz verstanden, denke aber, das es ähnlich wie die beiden oben auf ordner und suchen basis funktioniert.

    was meinen die anderen?
    DB sinvool oder lieber das ganze frei in ordner und dann suchen wenn drauf zugegriffen wird?

    @t-low

    Ja und nein...
    Also es ist schon für mich, aber eben auch für andere die den Shop betreiben.
    Eben für alle die Bilder hochladen dürfen (nicht für besucher/kunden)
     
  12. 11. Januar 2009
    AW: Onlineshop

    Dann schreib halt noch ins script, welches du und nur du aufrufst, dass es die daten auch in der db aktualisieren soll.
    Dann hast du es, wie ich finde, am schonensten gelöst.

    Also nochmal:

    Du schreibst ein script und nennst es "script.php". Dieses script liest den Ordner der bilder aus und prüft dann ob die datei "ente.jpg" "ente_1.jpg" etc... in der mysqldb vorhanden ist und ob das bild im ordner ist. Falls das bild z.b. "ente_1.jpg" dann "ente_3.jpg" (also ente_2.jpg fehlt), nennt er alle bilder die größer 2 sind um, und zwar immer eins kleiner. --> aus 3 wird 2, aus 4 wird 3, usw... das gleiche machst du mit der db.
    Die datei kannst du ja immer nachts um 2 uhr aufrufen lassen, da is ja egal wie lange es dauert, weil du da ja nicht 100000 kudnen auf der seite haben wirst^^


    Aber ich würde von einer db abraten, weils einfach zu aufwendig ist. Das auslesen der untreordner (also variante 3), dürfte nicht sonderlich ressourcenfressend sein.

    gruß
    gl
     
  13. 11. Januar 2009
    AW: Onlineshop

    Ich hab das jetzt aber schon so fertig. Daher ist das Argument Aufwand keins mehr.
    Ist relativ simpel das ganze.
    Ich stell mir den gedanken ein sript zu sortierung aufrufen zu müssen auch irgendwie lästig vor.
    Weiß nicht warum, weils ja eigentlich kein ding ist ^^

    Ich weiß, das du auch einen Shop schreibst.
    Es geht hier also wirklich nicht um meinen Arbeitsaufwand sondern um reine Rechenlastoptimierung.
    Vielleicht mach ich darum aber auch zuviel geschiss, den bei meinen Tests war es immer sehr schnell fertig (getestet mit 30 Bildern auf funpic).
     
  14. 12. Januar 2009
    AW: Onlineshop

    Das einfachste wäre gewesen.

    Datenbank spalte 1

    id| artnr| sonstiger kram.
    -----------------------------
    1 | 5|


    datenbankspalte 2

    id| artnr| bildname|
    1| 5 | artikel1.jpg


    das ganze mit einem join zusammenfügen und glücklich werden. Nichts mit array's die eh total die performance in keller jagen oder sonst was. mysql ist für soetwas ausgelegt mit tausenden von querys innerhalb kürzester zeit zu druchsuchen.

    wenn du das bild löschen willst ersparst du dir zeit und arbeit.
    DELETE FROM spalte2 WHERE artnr=5 && bildname='"artikel1.jpg"'

    willst du alles löschen
    DELETE FROM spalte1 WHERE artnr=5
    DELETE FROM spalte2 WHERE artnr=5


    Du kannst eigentlich davon ausgehen um so mehr aufwand man in etwas kleines steckt..das geht auch einfacher und performanter.
     
  15. 16. Januar 2009
    AW: Onlineshop

    alles klar.
    Vielen Dank!

    Noch was:
    momentan ist ja total der run auf CMS.
    Macht es Sinn das in meinem Fall zu benutzen?
    Was sind die vor und nachteile davon, weil ich mich wenig befasst hab und es eigentlich auch vermeinden will mich jetzt um neue dinge kümmern zu müssen es sei denn es ist wirklich so vorteilhaft.

    Vielen Dank.
     
  16. 17. Januar 2009
    AW: Onlineshop

    cms?

    is einfach schon nen fertiges "script"( wobei script die ganze seite ist) und du nur noch das design anpassen musst und die entsprechenden daten einspeisen musst.

    In deinem falle: oscommerce bzw. xtcommerce

    gruß
    gl
     
  17. 19. Januar 2009
    AW: Onlineshop

    Joa was dsa so grob ist, weiß ich schon, aber Lohnt es sich, weil es auf dauer so Arbeitssparend ist und ist es das wirklich oder hat man nur scherereien weil man unflexibel ist weil bestimmte dinge nicht gehen etc.?
     
  18. 20. Januar 2009
    AW: Onlineshop

    musst du selber wissen.
    da is jeder anderer meinung.

    nen bisschen selbständigkeit schadet nicht!
     
  19. 15. Februar 2009
    AW: Onlineshop

    hallo o/

    Weil ich an ein ähnlichen Projekt gerade sitze und alles soweit auf die Reihe bekomme, wollte ich aber mal fragen, wie ihr das machen würdet.
    Einer will sich auf der Seite mit seiner Email-Adresse registrieren, er bekommt anschließend eine Email die er bestätigen muss um den Shop zu nutzen.
    Wie würdet ihr diesen Bestätigungslink gestalten?
    Caps geschriebene Worte sind Variablen.
    Meine Überlegungen:

    Einfach Daten anhängen?
    xxx.de/freischaltung.php?id=BENUTZERID&key=EMAIL.NAME.DATUM

    ein md5 wert von der email?
    xxx.de/freischaltung.php?id=BENUTZERID&key=md5(EMAIL)

    einfach einen zufalls Wert von xxZeichen erstellen?
    xxx.de/freischaltung.php?id=BENUTZERID&key=random String von 30 chars

    Was wäre zu empfehlen? Worauf sollte geachtet werden? Dankö
     
  20. 15. Februar 2009
    AW: Onlineshop

    Hey,

    meine Emfehlung ist immer nichts was offentsichtlich in dem Link auf den User hindeutet und schön lang und kompliziert ist. So hast dus am sichersten.

    Ich bastel mir für soetwas immer einen MD5Hash aus vielen komponenten zusammen:


    PHP:

    $hash 
    md5 ( $user . time (). $user - email . rand ( 100000 , 999999 ));


    Ist sehr simpel und schön sicher.



    GRuß Blackbird89
     
  21. 26. April 2009
    AW: Onlineshop

    kann mir jemand was genaueres zur SSL-verschlüsselung sagen?

    es muss kostenlos sein und ich würde gerne wissen wie ich das integriere, was es zu beachten gibt etc.

    dankeschön!
     
  22. 26. April 2009
    AW: Onlineshop

    Kostenlose SSL Verschlüsselungen mit richtigem Zertifikat gibt es nicht. Wäre ja auch dumm.
    Das Zertifikat musst du kaufen. Der Preis richtet sich je nach Bit Verschlüsselung.

    Ansonsten bekommen die Benutzer der Seite immer ein nerviges Fenster, dass es sich um eine unsichere SSL Verschlüsselung handelt....so in der Art: "Wie möchten sie fortfahren"
     
  23. 26. April 2009
    AW: Onlineshop

    ist dieses fenster auch der fall bei open ssl ?
    hab mal gehört das es sowas gibt.

    das problem ist, das wir und 100€/Jahr nicht leisten können...
     
  24. 26. April 2009
    AW: Onlineshop

    es gibt auch hoster die das günstig anbieten.

    wir zahlen bei uns (mit allem drum und dran) 5euro irgendwas.
    da is eben ssl mit dabei. da is halt dann die domain "https://deinedomain.hosterdomain.de"

    hat sicher aber noch niemand beschwert bisher^^
     
  25. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.