Variablenübergabe

Hallo,

Ich bin ein Grufti (60)
Mir fällt alles sehr schwer zu lernen
(PC, Internet, Programmierung).
Bin blutiger PHP-Anfänger (Null Ahnung).

Zuerst möchte ich wissen, wie ich PHP auf dem PC
laufen lassen kann.
Habe da im Internet was von Apache gelesen, scheint aber nur
für Linux zu sein.
Ich suche Apache für Win 98 oder XP.
Das würde mir sehr helfen.
Den PHP-Code nur auf dem Server zu testen, dass ist
echt umständlich. So komme ich nicht weiter.

Zum Problem:
Mittels Anfängerbuch ist es mir trotzdem gelungen,
einen Primitiv-Warenkorb zu coden.
Der funktioniert OHNE Datenbank. Nur reine TXT.Dateien.
Das funktioniert eigentlich ganz gut (auch die Verwaltung).

Beispiel:
Inhalt Textdatei:
1001 Ware 1 … 10.-- Euro
1002 Ware 2 … 15.-- Euro
1003 Ware 3 … 12.50 Euro
usw.

Diese Textdatei wird mit File ausgelesen.
Dieses Array wird dann mit einer FOR-Schleife ausgelesen
und mittels ECHO angezeigt.
Vor jeder Zeile befindet sich ein RADIO-BUTTON.
Klickt man das entsprechende RADIOBUTTON an und dann auf
den INPUT-BUTTON IN DEN WARENKORB, wird der Inhalt dieser Zeile
als TXT-Datei gespeichert.
Der Namen dieser Datei wird aus der IP ermittelt.

Zur Sicherheit habe ich noch ein Cookie gesetzt.
Das speichert die 1. IP (falls diese wechselt).

Nun das eigentliche Problem:
Ich möchte gerne auf die Radiobuttons verzichten.
D.h., nur ein Anklickfeld IN DEN WARENKORB, ohne erst den
Radiobutton zu aktivieren.
Mit A HREF und GET (statt POST) funktionierte ein Test auch.
Ich bin bei AOL.
Tests haben gezeigt, dass bei POST die IP gleich blieb.
Bei GET hatte ich plötzlich bei der Übermittlung immer eine
andere IP.
Ergo war der Warenkorb weg. Der hatte ja einen anderen IP-Namen.
Nun könnte ich da auch Cookies einsetzen.
Aber sich nur auf Cookies zu verlassen, erscheint mir zu unsicher.

Nun hatte ich eine Idee:
Warum muss man überhaupt Variablenwerte an eine andere Datei
übermitteln?
Gibt es da einen Trick, wo man das in der gleichen Datei übergeben
kann?.
Dann muss ja nichts übermittelt werden.

Etwa so:
Eine normale HTML-Datei mit etwas PHP-Code.
Bei klick auf IN DEN WARENKORB wird nicht eine AUSWERTUNG.PHP
aufgerufen, sondern die ist irgendwo mittels INCLUDE schon eingebunden.

Wäre ein schöner Trick.
Funktioniert glaube ich nicht.

Klaus

Hallo!
1.: Um Deine Scripte offline, also bei Dir auf dem Rechner zu testen, benötigst Du einen Webserver, wie Apache(läuft auch unter Windows). Den installierst Du lokal auf dem Rechner und startest ihn. So kannst Du deine Scripte auch offline testen.
2. Für den Warenkorb etc. würde ich als erstes testen, ob der Besucher gerade auf die Seite gekommen ist, oder ob schon Bestellungen etc getätigt wurden. Dies kannst Du mit einer Variablenabfrage machen(wenn die Variable xy den Wert a hat, zeige dies und das an, wenn nicht, zeige wasAnderes an).
Dann erstellst Du ein Formular, auf dem Du die Artikel mit Radiobuttons oder Select-Feldern (die mit Häkchen) anzeigen lässt. Dann lässt Du den Besucher/Kunden erst alles auswählen, was er möchte. Dann sollte er auf einen Absenden-Button klicken. Dort übergibst Du dann die Werte mit Post. Dies halte ich perönlich für das Beste. Hier lässt Du noch einmal alles anzeigen, was er bestellen möchte. Dann machst Du eine neue Frage: Wollen Sie wirklich? Mit einem Button wird dann die Bestellung (Post-Methode) endgültig abgeschickt.
Ich hoffe, ich konnte helfen.
Gruß
Florian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

süss *g*

Hallo,

Ich bin ein Grufti (60)
Mir fällt alles sehr schwer zu lernen
(PC, Internet, Programmierung).
Bin blutiger PHP-Anfänger (Null Ahnung).

wenn ich das so lese bezweifle ich dass Du nur so schwer lernen kannst :wink:

Zuerst möchte ich wissen, wie ich PHP auf dem PC
laufen lassen kann.
Habe da im Internet was von Apache gelesen, scheint aber nur
für Linux zu sein.

Apache gibt es nicht nur für Linux.
Für Dich würde ich Dir zum easyphp oder xampp raten.
Damit machst Du Deinen eigenen Rechner zum vollwertigen Server (mit wenig Bandbreite)
Hier gibts easyphp: http://www.easyphp.org/telechargements.php3

Zum Problem:
Mittels Anfängerbuch ist es mir trotzdem gelungen,
einen Primitiv-Warenkorb zu coden.
Der funktioniert OHNE Datenbank. Nur reine TXT.Dateien.
Das funktioniert eigentlich ganz gut (auch die Verwaltung).

vorsicht bei lokalen Tests. Es kann sein, dass dem User, die Rechte fehlen, Dateien zu schreiben. Dann hast Du schnell ein Problem mit Deinen Scripten und weisst vermutlich nicht, wie man diese wieder lösen könnte… Aber wir wollen den Teufel nicht an die Wand malen…

Zur Sicherheit habe ich noch ein Cookie gesetzt.
Das speichert die 1. IP (falls diese wechselt).

und das bringt was? Versteh ich nicht so ganz. Aber alles was Du getrennt vom Server speicherst sollte nur zur wiedererkennung da sein. Wenn ein Netzwerk über einen Proxyserver auf Deine Seite zugreift haben alle die gleiche IP. Das könnte dann ziemlich chaotisch enden…

Nun das eigentliche Problem:
Ich möchte gerne auf die Radiobuttons verzichten.
D.h., nur ein Anklickfeld IN DEN WARENKORB, ohne erst den
Radiobutton zu aktivieren.
Mit A HREF und GET (statt POST) funktionierte ein Test auch.
Ich bin bei AOL.

*lach* was hat denn das „ich bin bei AOL“ damit zu tun? *g*
Dass ein GET funktioniert war vorhersehbar… Aber wenn Du nicht mit checkboxen arbeitest kann man immer nur einen artikel gleichzeitig in den Warenkorb legen… Vielleicht will man das ja nicht… Oder vielleicht will man mehr als einmal den gleichen Artikel? Dann bräuchte man auch wieder Formulare…

Tests haben gezeigt, dass bei POST die IP gleich blieb.
Bei GET hatte ich plötzlich bei der Übermittlung immer eine
andere IP.

Versteh ich nicht so recht warum - kann man aber auch nicht ohne Deinen Code zu kennen… Aber vielleicht war ja noch jemand auf der Seite und hat da „rumgepfuscht“ :wink:

Nun könnte ich da auch Cookies einsetzen.
Aber sich nur auf Cookies zu verlassen, erscheint mir zu
unsicher.

Warum „nur“ auf Cookies verlassen? Cookies bieten gute Möglichkeiten der Identifizierung. Für Dich wären Session-Variablen zwar evtl besser geeignet, aber ich mag cookies ehrlich gesagt lieber :wink:
Schon mal daran gedacht da einen „geheimen“ Inhalt reinzulegen, den nur der Server und der Client kennen kann? So hast Du schnell eine relativ sichere Authentifizierung.

Nun hatte ich eine Idee:
Warum muss man überhaupt Variablenwerte an eine andere Datei
übermitteln?
Gibt es da einen Trick, wo man das in der gleichen Datei
übergeben
kann?.
Dann muss ja nichts übermittelt werden.

doch muss es…
Du kannst natürlich die Scripte miteinander verbinden. Dann musst Du aber auch das Script umschreiben.
Das wäre z.B. auf die Art denkbar, dass eine aktions-variable übergeben wird, die dann die richtige Stelle im Script ausführt.
Stichworte dazu wären Switch, If…Then…Else oder function
z.b. also
if ($_POST[‚aktion‘] = „warenkorb“) warenkorb();
else zeigalleartikel();
Das Script wird dann aber eben selbst nochmal aufgerufen statt das andere Script aufzurufen… Erhöht dennoch u.U. Deine Flexibilität.

schau doch einfach mal bei den apachefriends vorbei. Die haben ein feines Tool zur Implementierung eines Apache unter Windows entwickelt. Neuerdings läuft das Teil schon als setup.
www.apachefriends.org

Ciaoi, Ron

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]