schon wieder Variablen

httpd.conf

Habe mir die httpd.conf in httpd noch einmal angesehen.
Dort waren die Änderungen leider nicht zu sehen.
Dann werde ich die Prozedur eben noch einmal machen.
Die Reihenfolge der Argumente beim mv Befehl war doch richtig, oder?
 
php einfach

hier einmal eine php Datei, die im selben Ordner liegt und einwandfrei geparst wird, also das Datum wird korrekt angezeigt:

<bb>
<html>
<head>
<title>Today's Date</title>
</head>
<body>
<p>Today's Date (according to this Web Server) is
<?php
echo date("l, F dS Y.");
?></p>
</body>
</html>
</bb>

Leider weiß ich auch nicht so genau, wie das einbinden in BB Code geht, aber vielleicht habe ich es ja intuitiv richtig gemacht.
 
Einbinden geht so, indem du einfach dein Script in folgendes einschließt

[*php]


skript

[*/php]

Das * musst du wegmachen, ist nur damit das nicht gewandelt wird.

Wichtig ist, das bei den o.g. 2 Zeilen in der httpd.conf die Raute am Anfang weg ist.

Aber wenn das Datum nun geparsed wird, scheint alles ok zu sein.

Wie sieht es denn mit dem echo der phpinfo(); aus? Mach das einmal bitte, dann schauen wir uns das eigentliche Skript von dir an, sobald wir sicher sind, das die Serverumgebung korrekt läuft.


Yves
 
php Module

Also habe gerade noch einmal die httpd.conf nachgesehen und die Module sind jetzt nicht mehr auskommentiert.
Das mit dem BB Code wird über den # Button oben eingestellt?
Und PHP Code wird über den PHP Button dargestellt?
 
Keine Ahnung… ich hab die Buttons ausgeblendet. Ich schreib das lieber selbst immer. Aber ich glaube schon.

BB Code (Bulletin Board Code) ist Oberbegriff für Formatierungen in einem Forum. So ähnlich wie CSS kann man sagen.

Wenn die Rauten weg sind und auch das Datum geparsed wird scheint ja alles ok zu sein.

Mache trotzdem mal eben das echo der phpinfo(); und sag kurz dann ob du ne große Tabelle mit Infos siehst oder nur ne weiße Seite.

Liebe Grüße

Yves
 
phpinfo

Anbei mal die phpinfo als html Datei.
Es ist halt die Version von entropy, oder?
Die html Datei wurde vom Forum abgelehnt.
Daher habe ich sie als txt Datei nun angehängt.
 
zend

Das mit der Zend Scriptin Engine kommt mir spanisch vor.

Ich hatte mal zu Test Zwecken das Zend Studio mir angesehen, es aber dann wieder verworfen und gelöscht. Aber anscheinend ist da noch ein Rest übrib geblieben. Nur wie werde ich den denn nun wieder los?
 
Keine Sorge. Ist alles perfekt so. phpinfo(); ist eine Funktion in PHP die ZEND zur Verfügung stellt. Ist überall bei PHP standardmäßig dabei. Also keine Sorge.

Wir wissen nun, das die Serverumgebung steht.

Jetzt poste bitte nocheinmal dein Script, das nicht funktioniert.

Ich schaue mir das dann genau an und sag dir, wo der Fehler liegt.


Liebe Grüße

Yves
 
php "kompliziert"

Hier das Skript, bei dem php nicht geparst wird:
PHP:
<html>
<head>
    <title>Ergebnis</title>
</head>
<body>
Und hier kommt das Ergebnis:<br/>

<?php
echo "oder doch nicht?";
$erg=$_REQUEST['w1']+$_REQUEST['w2']; 
echo "Die Summe von " . $_REQUEST['w1'] . " und " . $_REQUEST['w2'] . " ist" . $erg;
?>

</body>
</html>

Die Zeile mit "Und hier kommt das Ergebnis:" wird noch gezeigt.
 
Blöde Frage schon mal vorab… wie lautet die Dateiendung des Scripts?


Yves
 
Dein Script ist vollkommen ok. Das dazugehörige Formular verwendet übrigens POST, als würde ich auch auf die Vars mit POST zugreifen. REQUEST geht auch, damit greift man auf Vars zu wenn diese entweder mit GET oder POST übermittelt wurden. Aber da das in deinem Falle ja klar ist, ist POST sauberer.

Warum macht du einen / in dem <br> ?

PHP:
<html> 
<head> 
<title>Ergebnis</title> 
</head> 
<body> 
Und hier kommt das Ergebnis:<br> 

<?php 
$erg=$_POST['w1']+$_POST['w2']; 
echo 'Die Summe von '.$_POST['w1'].' und '.$_POST['w2'].' ist '.$erg; 
?> 

</body> 
</html>


Liebe Grüße

Yves


BTW… hat geklappt mit dem Formatieren des Scripts in BB Code. Ist so viel übersichtlicher :)
 
php "kompliziert"

Das Skript habe ich mit Supetha unter dem Namen Ergebnis.php in Unicode UTF16 codiert abgespeichert.
Allerdings habe ich auch schon andere Kodierungen wie UTF8 ausprobiert.

Halt! Gerade noch einmal Western (Windows Latin1) probiert und die php Zeilen werden interpretiert, aber die Variablen werden nicht dargestellt, bzw. als Ergebnist kommt bei 2+3 eine 0 heraus.
 
Kodierung Western (Windows Latin1) ist die Lösung

Habe gerade das erste Skript mit dem Formular auch noch in Western (Windows Latin 1) konvertiert und jetzt geht es.

Yippieeee.

Aber warum?
 
Übrigens

Das "einfache" php Skript ist in Western(Mac OS Roman) kodiert gewesen.
 
Poste bitte noch einmal das Formular.

Als Codierung in SubEthaEdit würde ich prinzipiell UTF8 (Unicode) empfehlen.

Eventuell wird da nichts interpretiert, weil du den Code nur kopiert hast.

Hier würde ich dir allein schon zur Übung empfehlen, Codes aus dem Netz immer abzutippen und nicht zu kopieren. Dann versteht man auch schneller, was man da eigentlich macht.

Anyway… rück raus das Formular ;)


Yves
 
Formular

Hier noch einmal der Vollständigkeit halber das Formular, abgespeichert als Addition.html:
PHP:
<html>
<head>
    <title>Addition</title>
</head>
<body>

Bitte tragen Sie zwei Zahlen ein, und senden Sie das Formular ab:<br/> 
<form action="Ergebnis.php" method="POST"> 
<p> Wert 1: <input name="w1"></p> 
<p> Wert 2: <input name="w2"></p> 
<p><input type="submit"><input type="reset"></p> 
</form> 

</body>
</html>

Übrigens habe ich deine Themen zu den globalen Variablen gelesen. Waren sehr interessant, aber so 100%igt verstanden habe ich sie nicht.

Übrigens es funktioniert auch mit UTF8 Kodierung. Vielleicht habe ich nach dem konvertieren vergessen abzuspeichern.
 
Vielen Dank

Yves, vielen lieben Dank schon einmal, dass nun dir schon zum zweiten Mal die Zeit genommen hast, mir bei einem Problem zu helfen.

Habe in diesem Thread schon wieder eine Menge gelernt.

Danke, danke, danke.
 
Kein Problem, dafür sind wir ja alle da. Und wenn man sich gegenseitig hilft… ;) Ich halt jetzt mal keine Predigt, weisst doch was ich meine :)

Wenn ich das richtig verstanden habe haben wir nun dein Problem gelöst das darin bestand:

- Serverumgebung für PHP zu erstellen

- Codierung von Scripten


Wunderbar.

Und nun zu den Globals.

Was ist dir da noch unklar?
 
globals

Wie kann jemand auf globale Variable von außen zugreifen?
Da php ja geparst wird, weiß er doch die Namen der Variablen gar nicht, außer sie werden über dateiname.php?variablenname weitergegeben.
Aber bei der post und get Methode dürfte doch nichts schief gehen, oder?
Und was bedeutet in diesem Zusammenhang, dass die register globals = off sind?
 
Re: globals

Vorab… du hast alles richtig verstanden!

Original geschrieben von Steglich
Wie kann jemand auf globale Variable von außen zugreifen?
&nbsp;
Wenn man die Vars mit datei.php?varname=value übergibt. Dann wäre der Inhalt von $varname==value. Wenn du das in der Browserzeile änderst kannst du zb $varname==nasenmann definieren.

Original geschrieben von Steglich
Da php ja geparst wird, weiß er doch die Namen der Variablen gar nicht, außer sie werden über dateiname.php?variablenname weitergegeben.
[/B]
&nbsp;

Siehe oben. Wenn die Variablen so wie du sagst weitergegeben werden dann sieht man ja Namen und Wert in der Browserzeile. Teilweise erkennt man auch im Quelltext bei Formularen den Varnamen und Wert (zb input type="hidden" name="varname" value="nasenmann").

Original geschrieben von Steglich

Aber bei der post und get Methode dürfte doch nichts schief gehen, oder?
Und was bedeutet in diesem Zusammenhang, dass die register globals = off sind?
&nbsp;

Genau. Wenn Register_globals=Off ist dann kann man Variablen nicht mehr mit datei.php?varname=wert übergeben, sondern muss entweder GET (über die Browserzeile) bzw POST (über HTTP Post Mechanismus) verwenden. Die GET Variante ist auch zu manipulieren, daher empfielt sich immer die Verwendung von POST. Und ebenfalls dann auch nur Übernahme mit POST und nicht etwas mit REQUEST.

Sowie dein Script oben gecodet ist, ist alles kein Problem und funktioniert auch mit globals=Off.

Generell brauchst du dir aber auch meist nur sicherheitstechnische Sorgen zu machen, wenn du mit SQL arbeitest, Stichwort SQL Injection. Dort müsstest du sicherheitsrelevaten Daten am besten über ein Formular mit inputtype="hidden" und POST übergeben. Man sieht zwar im Quelltext Varname und Value, kann aber nichts injezieren :)


Mal ein kleines Beispiel:

Du hast ein Formular um eine Email zu versenden. Der Mailbefehl steht in einer 2. Datei mit Namen mail.php.

Wenn du nun die Daten unsicher übergibst, könnte in der Browserzeile folgendes stehen:

mail.php?empfänger=mail@domain.de?nachricht=blabla?betreff=blabla (etc)

Ich könnte jetzt, da der Empfänger als Var übergeben wird, eine beliebige Empfängeradresse eintragen und somit über dein Kontaktformular an jeden böse Emails oder Spam verschicken. Den Ärger hast du dann erst einmal am Hals.

Besser wäre die Empfängeradresse mit

<input type="hidden" name="empfänger" value="mail@domain.de">

und mittels POST zu übergeben.

Schon ist chändlicher Chabernack ausgeschlossen.


Übrigens kannst du in der php.ini direkt mal register_globals=off definieren, falls nicht schon geschehen.

Liebe Grüße

Yves
 
Zurück
Oben Unten