Fehler im Code?
Sonia
- php
Hallo,
ich hab zum start eine kleine php datei geschrieben.
nun hab ich sie übertragen aber Netscape behauptet gleich
"unable to locate the Server" und Explorer behauptet
"das angegebene skript konnte nicht fehlerfrei ausgeführt werden"
jetz frage ich mich ob meine datei einen fehler hat oder ob ich
bei der konfiguration der .htaccess datei was falsch gemacht
habe.
kann mir bitte jemand sagen ob ich hier unten im code einen fehler drin
habe?
es geht ganz normal los mit
<html>
...
<body>
<table>
....
<td>Überschrift
<?PHP
if($menuenummer=1)
{
echo "Dies ist Menü Nr.1"
}
elseif($menuenummer=2)
{
echo "Dies ist Menü Nr.2"
}
else
{
echo "Herzlich Willkommen"
}
?></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>txt
<?PHP
if($menuenummer=1)
{
echo "Dieser Text gehört zu Menü 1"
}
elseif($menuenummer=2)
{
echo "Dieser Text gehört zu Menü 2"
}
?>
</td>
...
<table>
</body>
</html>
Viele dankeschön schonmal :-)
Gruss
Sonia
Hallo Sonia,
bin mir nicht 100% sicher, ob Plicht oder einfach etwas sauberer, aber Zeilen sollten stets mit ";" abgeschlossen sein, auch wenn nix mehr danach kommt.
Also z.B.
elseif($menuenummer=2)
{
echo "Dieser Text gehört zu Menü 2";
}
Allgmein: Lief irgendwas in PHP überhaupt schon? Einfachster Test ob die Konfiguration paßt:
<? php_info(); ?> (Gibt Angaben zur PHP-Verion usw. aus)
Gruß aus Würzburg
Julian
hi
Allgmein: Lief irgendwas in PHP überhaupt schon? Einfachster Test ob die Konfiguration paßt:
<? php_info(); ?> (Gibt Angaben zur PHP-Verion usw. aus)
es lief noch garnicht. deswegen weiss ich ja nicht ob der
Fehler an der konfiguration oder an dem skript liegt.
danke für den tip! den werd ich sofort probieren :-)
Sonia
Hallo Sonia!
if($menuenummer=1)
Das ist eine "Zuweisung", und ergibt _immer_ true --> es wird eh immer Menüpunkt 1 angezeigt ...
Sonst fiel mir spontan kein Fehler auf ...
echo "Dies ist Menü Nr.1"
Ist vielleicht auch noch etwas "unschön", lieber:
echo('Dies ist Menü Nr. 1');
MfG
Götz
hi
if($menuenummer=1)
Das ist eine "Zuweisung", und ergibt _immer_ true --> es wird eh immer Menüpunkt 1 angezeigt ...
hm ich will aber eine abfrage.. wie ist das dann?
etwa so:
if(menuenummer=1) <---???
...
[...]
echo "Dies ist Menü Nr.1"
Ist vielleicht auch noch etwas "unschön", lieber:
echo('Dies ist Menü Nr. 1');
danke, war nur "schnell" zusammengestöpselt als kleiner
Anfang wo ein misratenes ü nicht wehtut ;-)
aber machen die Klammern einen Unterschied?
Hallo Sonia!
if($menuenummer=1)
if(menuenummer=1) <---???
nein!
if($menuenummer == 1)
--> http://www.php.net/manual/de/language.operators.comparison.php
aber machen die Klammern einen Unterschied?
nein, aber der ; sollte imho hin ... zumal ich's mit Klammern übersichtlicher find, aber das ist ja egal :)
MfG
Götz
hi
if($menuenummer=1)
Das ist eine "Zuweisung", und ergibt _immer_ true --> es wird eh immer Menüpunkt 1 angezeigt ...
hm ich will aber eine abfrage.. wie ist das dann?
etwa so:
if(menuenummer=1) <---???
...
if($menuenummer==1)
Gruesse
Wilhelm
Hallo nochmal,
ich hab jetz den vorschlag mit der version gemacht und
es kommt immernoch dasselbe.
könnte es einen fehler in meiner .htaccess datei geben?
da steht nicht viel drin, nur folgendes:
AddType x-mapp-php4 .php4 DirectoryIndex index.php4
gruss sonja
Hallo Sonia,
muß gestehen, hatte mich vertan.
(aus PHP-Doku)
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);
?>
Hatte aus dem Stegreif einen Unterstrich zu viel.
Gruß aus Wurzburg
Julian
Hallo Sonia,
muß gestehen, hatte mich vertan.
macht nix
funktioniert trotzdem nicht
Hallo sonia!
macht nix
funktioniert trotzdem nicht
Dann stimmt etwas an Deiner .htaccess bzw. httpd.conf nicht nehm ich mal an.
Hast Du Zugriff auf die httpd.conf (heißt die auch bei nicht-Apache-Web-Servern so?)?
Wenn ja, würd ich hier direkt die entsprechenden einträge reinschreiben (die findest du in diversen LAMP/WAMP Tutorien, die funktionieren normnalerweise problemlos).
Ansonsten evtl. mal beim Provider nachfragen, was man in die .htaccess genau reinschreiben soll, damit es funktioniert ... evtl. Endung .php udn nicht .php4 oder so ...
MfG
Götz
Dann stimmt etwas an Deiner .htaccess bzw. httpd.conf nicht nehm ich mal an.
httpd.conf? wenn die in meinem root-verzeichnis liegt dann
hab ich wohl zugriff drauf... aber sie ist mir noch nicht unter
die Nase gelaufen... *Haare rauf* O Mann warum muss das immer so
kompliziert sein? *#?ß"§!grrrrrrrr
ich vermute das es eigentlich ganz einfach ist ...wenn mans weiss wies
geht.
Ich hab die dateiendung auf .php geändert und
.htaccess
auf folgenden inhalt <brodel>:
AddType x-mapp-php4 .php
DirectoryIndex index.php
und genau so stehts auch in den FAQs
und funktioniert trotzdem nicht <heul>
ich krieg hier noch die Kriese *grummel*
<tief durchatme>
tschuldige
ich versuche es seit heute morgen und bin mit
meinem kleinen Latein am ende
verzweifelte Grüsse
Sonia
Hallo Sonia!
httpd.conf?
Nein, die Datei liegt nicht in deinem root-Verzeichnis.
Dies ist die zentrale Konfigurationsdatei für den Webserver (zumindest, wenn's ein Apache ist).
.htaccess
AddType x-mapp-php4 .php
DirectoryIndex index.php
... das x-mapp-php4 kommt mir irgendwoher bekanntvor ... vielleicht bist du bei puretec? ... oder halt sonst ein großer .. irgendwoher kenn ich die Zeile halt ;)
Kannst du überhaupt .htaccess nutzen?
Im Zweifelsfall einfach kurz den Support anmailen ...
btw: bei DirectoryIndex würd ich auch noch index.html index.htm oder so dahinterschreiben ... der vollständigkeit halber, ist aber eigentlich egal! ;)
MfG
Götz
rehi,
Nein, die Datei liegt nicht in deinem root-Verzeichnis.
Dies ist die zentrale Konfigurationsdatei für den Webserver (zumindest, wenn's ein Apache ist).
da komme ich nicht dran..
... das x-mapp-php4 kommt mir irgendwoher bekanntvor ... vielleicht bist du bei puretec? ... oder halt sonst ein großer .. irgendwoher kenn ich die Zeile halt ;)
ja, das ist 1&1, gibts da ein geheimnis von dem ich nix weiss? sowas wie
"Sie muessen nur den Nippel aus der Flasche ziehn ..." oder so?
Kannst du überhaupt .htaccess nutzen?
Ja, kann ich, das hab ich jetzt schon mehrfach überprüft
Im Zweifelsfall einfach kurz den Support anmailen ...
hab ich, ich hab aber die Hoffnung das ich noch so drauf komme damits
nicht so lang dauert bis ich weitermachen kann
btw: bei DirectoryIndex würd ich auch noch index.html index.htm oder so dahinterschreiben ... der vollständigkeit halber, ist aber eigentlich egal! ;)
ich werds probieren
cu
Sonia
Hallo Sonia!
da komme ich nicht dran..
ja, dachte ich mir auch schon fast ;)
ja, das ist 1&1, gibts da ein geheimnis von dem ich nix weiss? sowas wie
"Sie muessen nur den Nippel aus der Flasche ziehn ..." oder so?
... mehr als dich auf --> http://www.google.com/search?q=puretec%2Bphp%2Bx-mapp&sourceid=opera&num=100 zu verweisen kann ich kaum tun ... und dort steht es auch so, wie du's drin hast ...
btw: das zitat oben müßte eher so lauten
<cite src="songtext.net - Mike Krüger: Nippel">
Sie müssen nur den Nippel durch die Lasche zieh'n,
und mit der kleinen Kurbel ganz nach oben dreh'n;
da erscheint sofort ein Pfeil,
und da drücken Sie dann drauf,
und schon geht die Tube auf!
</cite>
MfG
Götz
ja, das ist 1&1, gibts da ein geheimnis von dem ich nix weiss? sowas wie
"Sie muessen nur den Nippel aus der Flasche ziehn ..." oder so?
... mehr als dich auf --> http://www.google.com/search?q=puretec%2Bphp%2Bx-mapp&sourceid=opera&num=100 zu verweisen kann ich kaum tun ... und dort steht es auch so, wie du's drin hast ...
oh ich glaub da war n' guter link drunter ... könnte es sein, das
ein HTML Dokument mit PHP drin was anderes ist als
ein PHP dokument mit n bissl HTML?
btw: das zitat oben müßte eher so lauten
<cite src="songtext.net - Mike Krüger: Nippel">
Sie müssen nur den Nippel durch die Lasche zieh'n,
und mit der kleinen Kurbel ganz nach oben dreh'n;
da erscheint sofort ein Pfeil,
und da drücken Sie dann drauf,
und schon geht die Tube auf!
</cite>
Plopp ;-) ....
och da is ja nur zahnpasta drin
:-)))))))))))))))))))))))
*gg*
Hallo Sonia!
ein HTML Dokument mit PHP drin was anderes ist als
ein PHP dokument mit n bissl HTML?
Eigentlich nicht, denn was auf .php aufhört, ist ein PHP-Dokument, egal wieviel oder wie wenig HTML drin steht ;)
Was auf .php* aufhört, muß normalerweise durch den PHP-Interpreter/Parser (was ist's denn .. er sagt immer "parse error" .. also wohl nen Parser?!)
Plopp ;-) ....
och da is ja nur zahnpasta drin
... du weißt ja hoffentlich:
Mindestens 3 Minuten putzen .. oder so .. hab ich im Kindergarten gelernt! ;))
MfG
Götz
Hallo Götz
ein HTML Dokument mit PHP drin was anderes ist als
ein PHP dokument mit n bissl HTML?
Eigentlich nicht, denn was auf .php aufhört, ist ein PHP-Dokument, egal wieviel oder wie wenig HTML drin steht ;)
Was auf .php* aufhört, muß normalerweise durch den PHP-Interpreter/Parser (was ist's denn .. er sagt immer "parse error" .. also wohl nen Parser?!)
hm ... *verwirrt sei* ... wann nenne ich denn das php* ??
meine html datei mit php soll nur auf einen Klick auf einen Link reagieren.
bzw den Text der Seite wechseln... welche Endung muss ich denn da nehmen?
oder wenn ich einfach nur sowas drin habe
<? phpinfo(); ?>
und sonst nichts an php. Komisch in den sog. Dokumentationen hab ich davon
noch nix gelesen..
Plopp ;-) ....
och da is ja nur zahnpasta drin
... du weißt ja hoffentlich:
Mindestens 3 Minuten putzen .. oder so .. hab ich im Kindergarten gelernt! ;))
also *mein* Zahnarzt hat immer gesagt 5 Minuten..hm Löcher hab ich keine,
da muss ichs wohl richtig gemacht haben ;-)
gruss
Sonia
Hallo Sonia!
hm ... *verwirrt sei* ... wann nenne ich denn das php* ??
*sorry*, falls du's falsch verstanden hast:
hier war nicht "bla.php*" gemeint, sondern z.B. "bla.php", "bla.php3" oder "bla.php4" oder so ...
oder wenn ich einfach nur sowas drin habe
<? phpinfo(); ?>
Nenn sie doch einfach "test.php" oder "phpinfo.php" oder so.
also *mein* Zahnarzt [...]
An Zahnärzte mag ich lieber gar net denken ... ich mag Arztbesuche generell nicht ... auch wenn er meist net viel macht ... hoffentlich kann ich noch lange meien Weisheit behalten ... ;)
MfG
Götz
Hi Sonia,
Ich hab die dateiendung auf .php geändert und
Aha.
AddType x-mapp-php4 .php
Das bedeutet: "Wenn ein URL mit der Endung ".php" angesprochen wird,
dann setze den Mime-Typ auf "x-mapp-php4".
DirectoryIndex index.php
Das bedeutet: "Wenn ein URL angesprochen wird, der auf '/' endet,
dann prüfe, ob eine Datei 'index.php' in diesem Verzeichnis existiert".
Was ich noch nicht gesehen habe, ist eine Anweisung mit der Bedeutung
"wenn ..., dann lasse das Dokument durch den PHP-Interpreter auswerten".
Dafür gäbe es mehrere Möglichkeiten.
Eine davon wäre, daß Du PHP als Apache-Modul verwendest und daß dieser
intern alle "x-mapp-php4"-Zugriffe verarbeitet.
Eine andere wäre, daß PHP als "Action"-Handler für die Endung .php
eingebunden ist - so würde ich mir die CGI-Version von PHP vorstellen.
Was ich damit sagen will, ist:
Deine beiden Anweisungen da oben sind zwar nicht falsch, aber sie defi-
nieren m. E. nicht, _welche_ Deiner Dateien mit PHP ausgeführt werden
sollen.
Wie das bei PHP genau funktioniert, hängt wahrscheinlich davon ab, wel-
che PHP-Einbindungsmethode Du verwendest - davon gibt es mindestens zwei
(eingebundenes Modul und CGI-Aufruf).
Und ja, das _ist_ bei PHP nun mal kompliziert, eben _weil_ es mehrere
Möglichkeiten gibt und _weil_ PHP mit seiner ini-Datei offensichtlich
neben der Apache-Konfiguration noch irgendwas Eigenes braucht.
'Normale' Module hängen sich so in den Apache hinein, daß sie dessen
Anweisungssprache erweitern, so daß die httpd.conf (plus eventuelle
.htaccess-Dateien) die vollständige Konfigurations-Informationsmenge
des Apache-Universums enthalten.
Viele Grüße
Michael
Hallo Michael!
Was ich noch nicht gesehen habe, ist eine Anweisung mit der Bedeutung
"wenn ..., dann lasse das Dokument durch den PHP-Interpreter auswerten".
Ich weiß es nicht, aber ich glaube, daß die bei 1&1 das irgendwie so hingeschustert haben, daß das mit der AddType-anweisung normalerweise funktionieren sollte.
Genaueres kann ich dir au net sagen, aber wenn sie's so in der FAQ schreiben, könnte das auch in der Tat so funktionieren .. da gibt's bestimmt genug Möglichkeiten (wenn man den Mime-Type definiert, dann weiß der Server doch bestimmt auch, was er nun mit dieser Datei machen soll... natürlich nur, wenn die Puretecler das so eingerichtet haben, oder?).
MfG
Götz
Hallo Michael
Was ich noch nicht gesehen habe, ist eine Anweisung mit der Bedeutung
"wenn ..., dann lasse das Dokument durch den PHP-Interpreter auswerten".
Dafür gäbe es mehrere Möglichkeiten.
Eine davon wäre, daß Du PHP als Apache-Modul verwendest und daß dieser
intern alle "x-mapp-php4"-Zugriffe verarbeitet.
darauf habe ich keinen Einfluss:
in den FAQ steht folgendes
->>
Wie kann ich herausfinden, welche Module bei PHP geladen werden?
Bei 1&1-Internet.profi ist die gd-Library in der neuesten Version installiert, unsere Version
beherrscht .jpg, .png, .wbmp und .gif - Dateien. Auch ist die FreeType - Library installiert.
Die IMAP-Funktionen sind derzeit nicht installiert!
Die genauen Angaben können Sie über die Ausgabe von phpinfo() einsehen...
<<-
haha, sehr witzig wenn das noch nicht mal geht
kannst du was damit anfangen?
Ich hab auch beim Support angerufen, aber wer hätts gedacht
Daueranrufbeantworter nachdem man von einer Telefonnummer zur anderen
gejagt worden ist.
[...]
Deine beiden Anweisungen da oben sind zwar nicht falsch, aber sie defi-
nieren m. E. nicht, _welche_ Deiner Dateien mit PHP ausgeführt werden
sollen.
in den FAQ stand das 'DirectoryIndex index.php' aber genau das tut ?
wie macht man es denn normalerweise?
Wie das bei PHP genau funktioniert, hängt wahrscheinlich davon ab, wel-
che PHP-Einbindungsmethode Du verwendest - davon gibt es mindestens zwei
(eingebundenes Modul und CGI-Aufruf).
äh, was meinst du ? meine index.php datei?
Und ja, das _ist_ bei PHP nun mal kompliziert, eben _weil_ es mehrere
Möglichkeiten gibt und _weil_ PHP mit seiner ini-Datei offensichtlich
neben der Apache-Konfiguration noch irgendwas Eigenes braucht.
ja, wenn man nicht viel Zeit hat und es laufen muss, rauft man sich halt
schonmal die Haare.
ich hab die URL mit drangehängt, die meldungen von explorer und Netscape
finde ich komisch...
[...]
.htaccess-Dateien) die vollständige Konfigurations-Informationsmenge
des Apache-Universums enthalten.
meine einzige zugriffsmöglichkeit ist die .htaccess datei.
Dh. was auch immer ich tun muss um php zum laufen
zu kriegen, muss von dort aus zu machen sein....
*seufz*
schöne Grüsse
sonia
Hi Sonia,
Dafür gäbe es mehrere Möglichkeiten.
Eine davon wäre, daß Du PHP als Apache-Modul verwendest und daß dieser
intern alle "x-mapp-php4"-Zugriffe verarbeitet.
darauf habe ich keinen Einfluss:
ich meinte auch nicht, daß Du etwas tun sollst.
Ich meinte: Die von Dir (und Deinem Provider) gelieferten lückenhaften
Informationen darüber, welche der vielen Möglichkeiten zur Einbindung von
PHP auf seinem Server tatsächlich verwendet wurde, macht es extrem schwer,
Dir zu helfen.
Wie kann ich herausfinden, welche Module bei PHP geladen werden?
Nicht bei PHP, sondern im Apache.
Wenn Du einen URL Deines Servers in
http://aktuell.de.selfhtml.org/sonst/serverid.htm
eingibst und Dein Apache sich 'normal' verhält, dann wird der auflisten,
was er so alles an Fremdmodulen enthält. (Standardmodule bekommst Du nur
über die Kommandozeile auf dem Server selbst heraus, dort mit 'httpd -l').
kannst du was damit anfangen?
Nein - ich benutze auch kein PHP. Ich versuche nur, Deine Apache-Konfi-
guration zu erraten, um überhaupt erst mal einen Ansatzpunkt zu finden.
Ich hab auch beim Support angerufen, aber wer hätts gedacht
Daueranrufbeantworter nachdem man von einer Telefonnummer zur anderen
gejagt worden ist.
Hm. Vielleicht solltest Du Dir mal Gedanken über einen anderen Provider
machen. Rechne mal die Zeit, die Du an diesem Problem schon sitzt, in
Geld um ...
Deine beiden Anweisungen da oben sind zwar nicht falsch, aber sie defi-
nieren m. E. nicht, _welche_ Deiner Dateien mit PHP ausgeführt werden
sollen.
in den FAQ stand das 'DirectoryIndex index.php' aber genau das tut ?
DirectoryIndex definiert, was passiert, wenn Du einen URL ansprichst, der
nicht einer Datei, sondern einem Verzeichnis entspricht. Der Apache kann
in diesem Fall
Wie das bei PHP genau funktioniert, hängt wahrscheinlich davon ab, wel-
che PHP-Einbindungsmethode Du verwendest - davon gibt es mindestens zwei
(eingebundenes Modul und CGI-Aufruf).
äh, was meinst du ? meine index.php datei?
Nein - die Apache-Konfiguration, die dafür verantwortlich ist, daß Dokumente
eines bestimmten Typs (bei Dir offenbar solche, die auf .php enden) durch den
PHP-Interpreter verarbeitet (= 1. geparst und 2. interpretiert) werden.
meine einzige zugriffsmöglichkeit ist die .htaccess datei.
Dh. was auch immer ich tun muss um php zum laufen
zu kriegen, muss von dort aus zu machen sein....
Es sieht so aus, daß Deine Aufgabe aufgrund Deiner Randbedingungen
mindestens übertrieben schwierig gemacht wird.
Wenn es um Server-Konfiguration und -Programmierung geht und Du nur einen
stark eingeschränkten Zugang zum Server hast, muß wenigstens ein wirklich
guter Support vorhanden sein. Fehlt beides, dann solltest Du den Hoster
wechseln.
Viele Grüße
Michael