Jede Menge Newbie-Fragen

Kaeschdin

Erfahrenes Mitglied
Hallo zusammen,

ich hab schon ein paar Skripte in PHP-Coder geschrieben, die mittels dem Menüpunkt "Run" in PHP-Coder auch funktionieren (sie enthalten kein "echo", sondern führen nur bestimmte Dateioperationen aus).

Doch nun muss ich die Skripte in HTML packen, damit sie später im Internet ausführbar sind. Aber leider stoß ich auf einige Probleme:

1. Scheinbar ist mein PHP nicht richtig konfiguriert. Zuerst hatte ich PHP und den Apache-Webserver. Der Webserver hat funktioniert (sah ich nach Aufruf von http://127.0.0.1). Doch PHP nicht. Wenn ich diese phpinfo-Funktion nutze oder ein HTML-Dokument öffne, dass PHP enthält, bekomme ich nur eine leere Seite angezeigt. Nun habe ich Xampp, aber das Problem bleibt.

2. Der Apache-Webserver ersetzt mir doch das Hochladen der Dateien auf einen richtigen Webserver, oder? Ist sozusagen meine lokale Entwicklungsumgebung.

3. Wahrscheinlich hängt mit 1. zusammen, dass ich keine Variablen übergeben kann. Wenn ich zum Beispiel in Dokument A eine Variable namens var für ein Formular deklariere und diese in Dokument B mit echo ("Das ist $var"); anspreche, erscheint im Browser nur "Das ist". Die Einstellung register_global = on und die Benutzung von $_post bringen keinen Erfolg :(

4. Ich habe ein Skript, dass in einem Dokument A einen Platzhalter durch den Text aus Dokument B ersetzt. Das klappt super per "Run" im PHP-Coder. Nun möchte ich, dass dieser Schritt ausgeführt wird, wenn ich im Browser auf einen "weiter"-Button klicke. Ich muss doch dann nur den Button mit diesem PHP-Skript verknüpfen, oder? Funktioniert nämlich nicht :( Vielleicht liegt ja auch das an meinem unter 1. geschilderten Problem.

Kann sich jemand erklären, was ich falsch mache?

Danke,

Kerstin
 
zu 1. Wenn du wirklich Xampp runtergeladen hast, dann ist PHP normalerweise vorkonfiguriert, und sollte auch funktionieren. Natürlich solltest du auch die Batch Datei setup_xampp.bat ausführen. Andernfalls solltest du mal die xampp_manual.txt und die liesmich.txt lesen.

zu 2. Ja

zu 3. Hängt sehr wahrscheinlich mit 1. zusammen, ich würde dir aber auch empfehlen grundsätzlich mit register_globals = off und $_POST zu arbeiten.

zu 4. Hm... am besten (gilt auch für die andren Scripte) schreibst du mal ein bisschen Code dazu, dann können wir dir auf jeden fall besser helfen, als wie wenn du dein problem nur schilderst.

mfg

Devil

PS: Was ist eigentlich PHP-Coder?
 
Original geschrieben von Kaeschdin
ich hab schon ein paar Skripte in PHP-Coder geschrieben, die mittels dem Menüpunkt "Run" in PHP-Coder auch funktionieren (sie enthalten kein "echo", sondern führen nur bestimmte Dateioperationen aus).
Ich kenn PHP-Coder nicht aber ich würd mich nicht drauf verlassen, dass die Scripte dann später auch auf dem Server laufen.

Original geschrieben von Kaeschdin
1. Scheinbar ist mein PHP nicht richtig konfiguriert. Zuerst hatte ich PHP und den Apache-Webserver. Der Webserver hat funktioniert (sah ich nach Aufruf von http://127.0.0.1). Doch PHP nicht. Wenn ich diese phpinfo-Funktion nutze oder ein HTML-Dokument öffne, dass PHP enthält, bekomme ich nur eine leere Seite angezeigt. Nun habe ich Xampp, aber das Problem bleibt. ).
Hm, also der Apache ist auch gestartet? Woher hast Du denn die Xampp-Version? Gerade für den Anfang empfehle ich das Paket von apachefriends.org. Einfache Installation, einfach nur in ein gewünschtes Verzeichnis entpacken, Apache/MySQL starten, fertig. Wenn Du damit fertig bist, kannst Du eigentlich direkt durch den Aufruf von http://127.0.0.1 sehen, ob auch alles läuft (Apache, PHP, MySQL etc).

Original geschrieben von Kaeschdin
2. Der Apache-Webserver ersetzt mir doch das Hochladen der Dateien auf einen richtigen Webserver, oder? Ist sozusagen meine lokale Entwicklungsumgebung.
Genau, Du kannst also bequem Deine Dateien lokal auf Deinem Rechner entwicklen. Wenn Du dann fertig bist, kannst Du alles auf einmal auf Deinen Webspace hochladen. Allerdings solltest Du, gerade wenn Du den Apache unter Windows laufen hast, zwischendurch mal die Dateien auch auf dem "richtigen" Webserver testen, da dort in den meisten Fällen Linux läuft. Eigentlich gibts da wenig Probleme, aber testen sollte man hier und doch mal :o)

Original geschrieben von Kaeschdin
3. Wahrscheinlich hängt mit 1. zusammen, dass ich keine Variablen übergeben kann. Wenn ich zum Beispiel in Dokument A eine Variable namens var für ein Formular deklariere und diese in Dokument B mit echo ("Das ist $var"); anspreche, erscheint im Browser nur "Das ist". Die Einstellung register_global = on und die Benutzung von $_post bringen keinen Erfolg :(.
Also, ganz egal wie register_global eingestellt ist, solltest Du immer mit dem superglobalen $_POST- bzw $_GET-Array arbeiten. Also wenn Du in deinem Dokument A per Formular (also POST) eine Variable an Dokument B übergibst, solltest Du sie da mitteles
PHP:
<? echo $_POST['name_der_variable']; ?>
ausgeben können.

Original geschrieben von Kaeschdin
4. Ich habe ein Skript, dass in einem Dokument A einen Platzhalter durch den Text aus Dokument B ersetzt. Das klappt super per "Run" im PHP-Coder. Nun möchte ich, dass dieser Schritt ausgeführt wird, wenn ich im Browser auf einen "weiter"-Button klicke. Ich muss doch dann nur den Button mit diesem PHP-Skript verknüpfen, oder? Funktioniert nämlich nicht :( Vielleicht liegt ja auch das an meinem unter 1. geschilderten Problem.
Ein wenig PHP-Code würde hier helfen.
 
Danke für eure Antworten.

Ich hatte die neueste Xampp-Version von apachefriends.org heruntergeladen und auch die Setup-Datei ausgeführt sowie die Apache Bat-Datei. Wie gesagt funktioniert http://127.0.0.1 auch (es erscheint das Xampp-Intro).

PHP-Coder ist ein PHP-Editor.

Die superglobalen Funktionen hatte ich ja probiert, aber das Problem bleibt.

Den Code und die Dateien für 4. werd ich demnächst mal posten.

Also ich hab noch immer leere Seiten :(

Meine Dokumente befinden sich in C:\xampp\htdocs\. Wie rufe ich z. B. eine dort liegende html-Datei im Browser auf? Vielleicht mach ich da den Fehler.
 
Original geschrieben von Kaeschdin
Danke für eure Antworten.

Ich hatte die neueste Xampp-Version von apachefriends.org heruntergeladen und auch die Setup-Datei ausgeführt sowie die Apache Bat-Datei. Wie gesagt funktioniert http://127.0.0.1 auch (es erscheint das Xampp-Intro).

(...)

Also ich hab noch immer leere Seiten :(

Meine Dokumente befinden sich in C:\xampp\htdocs\. Wie rufe ich z. B. eine dort liegende html-Datei im Browser auf? Vielleicht mach ich da den Fehler.
Also wenn Du das Xampp-Intro siehst, solltest Du ja links im Menü die Einträge für PHP, MySQL etc. finden. Da kannst Du direkt sehen, ob auch alles funktioniert.

Die ganzen Dateien liegen unter C:\xampp\htdocs, also Dein Dokument-Root. Dieses Verzeichnis rufst Du wie Du es oben schon beschrieben hast, mitteles http://127.0.0.1 auf. Wenn Du jetzt im htdocs-Ordner einen neuen Ordner erstellst, rufst Du Ihn mittels http://127.0.0.1/unterordner auf. Dabei sollte in dem Verzeichnis eine index.php oder index.html (können aber auch mehr sein, das sollte in der Apache-Config stehen) liegen, ansonsten musst Du eine entsprechende Datei explizit mitangeben.

Wenn Du bei den Xampp-Infos alle Seiten angezeigt bekommst, dann sollte eigentlich alles funktionieren.
 
Juchhuuu,

danke Chino!

Ich Dummchen hab die Dateien im Browser immer mit C:\xampp\htdocs\dateiname.htm aufgerufen.

Mit http://127.0.0.1/dateiname.htm funktioniert es *freu*. Auch die Übergabe der Variablen passt jetzt. Dazu noch eine Frage. In meinem Dokument mit der übergebenen Variable steht:

<?
echo $HTTP_POST_VARS["groesse"];
?>

Wenn ich jetzt nicht nur die Variable im Browser sehen will, sondern dort stehen soll "Sie haben ... gewählt" und statt der Punkte die Variable stehen soll, wie schreib ich das im PHP-Code?

Vielen lieben Dank nochmal für eure Hilfe. Jetzt komm ich endlich weiter :)
 
PHP:
echo "Sie haben gewählt".$HTTP_POST_VARS['groesse'];
Aber das sind nun wirklich PHP Basics, die du dir mit Hilfe eines Buches oder eines Einsteiger Tutorials aneignen solltest.
 
Original geschrieben von Tim Comanns
PHP:
echo "Sie haben gewählt".$HTTP_POST_VARS['groesse'];

Aber das sind nun wirklich PHP Basics, die du dir mit Hilfe eines Buches oder eines Einsteiger Tutorials aneignen solltest.

Ich hab hier zwei PHP-Einsteigerbücher vor mir liegen. In beiden wird nur die Register-global-Variante beschrieben. Du kannst mir glauben, dass ich nicht gleich beim ersten Problem auf dieses Forum zurückgreife. Zumal es hier leider des Öfteren vorkommt, dass man wegen - wie ich finde - Kleinigkeiten ermahnt wird. Das finde ich eigentlich sehr schade.

Nichts für ungut, aber ich bemühe mich wirklich, hier keinem zur Last zu fallen, weil ich die Suchfunktion missachte oder sonstwas.
 
Original geschrieben von Kaeschdin
Ich hab hier zwei PHP-Einsteigerbücher vor mir liegen. In beiden wird nur die Register-global-Variante beschrieben. Du kannst mir glauben, dass ich nicht gleich beim ersten Problem auf dieses Forum zurückgreife. Zumal es hier leider des Öfteren vorkommt, dass man wegen - wie ich finde - Kleinigkeiten ermahnt wird. Das finde ich eigentlich sehr schade.

Nichts für ungut, aber ich bemühe mich wirklich, hier keinem zur Last zu fallen, weil ich die Suchfunktion missachte oder sonstwas.
Das war ja auch kein Vorwurf sondern der Hinweis, dass du das, so du denn noch am Anfang deiner PHP Lernphase bist, recht bald lernen wirst, weil es nunmal zu den Basics gehört.
Es geht wirklich nicht um "zur Last fallen", aber wie man mittels echo Strings ausgibt und/oder wie man Strings mit Variablen in der Ausgabe kombiniert ist nunmal absolut essentiell und wir am laufenden Band überall erklärt. ;)
 
Zurück