Problem mit echo/print

Devilness

Grünschnabel
Hallo zusammen,

ich versuche gerade eine .php Seite zu schreiben, die auf einem lokalen Server (XAMPP) laufen soll. Das eigentliche Problem ist jetzt, dass der befehl echo entweder den String den er ausgeben soll nicht ausgibt, oder, sobald ich html-Tags einfüge, mir ab dem öffnenden Tag den gesamten php-Quelltext ausgibt.

PHP:
<?php
				$con = mysql_connect("localhost","root","root");
				if(!$con){
					die('Datenbankfehler:'.mysql_error().'Bitte versuchen Sie es später erneut.');
				}
				mysql_select_db("jk-verlag", $con);
				
				$user_name = $_POST['username'];
				$user_pass = $_POST['password'];
				
				$query = "SELECT *
							FROM `users_login`
							WHERE `u_name` = '$user_name'
							AND `u_pass` = '$user_pass';";
				$result = mysql_query($query) or die(mysql_error());
				$res_count = 0;
				$res_status = "failed";
				
				while($row = mysql_fetch_array($result)){
					$res_count = $res_count + 1;
				}
				
				if($res_count == 1) {
					$res_status = "successful";
				}
				
				echo "<p>Login $res_status.</p>";
				
				mysql_close($con);
			?>

Betreffende Zeile ist diese
PHP:
echo "<p>Login $res_status.</p>";
Ab dort wird alles ausgegeben exclusive der Tags selber. Das <p> erkennt er und macht daraus einen Absatz, aber z.B. die Überschriften <h1> bis <h6> erkennt er nicht...

Die php-Version bei XAMPP ist 5.3.8, also eine der neuesten. Da es schon länger her ist, dass ich mit php gearbeitet habe, bin ich momentan etwas aufgeschmissen. Ich wäre über jegliche Hilfe sehr froh :)

Gruß, Devilness
 
Was für <h1> bis <h6> ? Ich sehe die in deinem Code nirgends.

sobald ich html-Tags einfüge, mir ab dem öffnenden Tag den gesamten php-Quelltext ausgibt.
Zeig mal wie du das machst. Also den entsprechend fehlerhaften Code.
 
Betreffende Zeile ist diese
PHP:
echo "<p>Login $res_status.</p>";
Ab dort wird alles ausgegeben exclusive der Tags selber. Das <p> erkennt er und macht daraus einen Absatz, aber z.B. die Überschriften <h1> bis <h6> erkennt er nicht...

Die Zeile, die ich da angegeben habe, ist die fehlerhafte Zeile. Das mit den Überschriften habe ich so gemeint, dass er nur manche diese html-Tags auch tatsächlich ausführt, d.h. wenn ich <p>...</p> habe machte er einen Absatz, gibt aber den kompletten php-Quellcode danach aus, wenn ich nun statt <p>...</p> <h1>...</h1> schreiben WÜRDE, würde er den entsprechenden Text nicht als Überschrift, sondern ganz nocrmal ausgeben und dann den restlichen Quellcode.

Ich hoffe es ist jetzt verständlich, was ich meinte ;)
 
Hilft jetzt erstmal nicht zum Problem, aber deine While-Schleife brauchst du hier gar nicht.
hier würde eigentlich "mysql_num_rows($result)" reichen.

Welchen Error-Level hast du denn eingestellt?
Vielleicht lässt sich anhand diesem ja noch was machen.
 
Danke trotzdem Maniac.

Was mir grad noch ein- bzw. aufgefallen ist, ist dass die besagte Zeile
PHP:
echo "<p>Login $res_status.</p>";
auch nicht den Wert der Variablen ausspuckt, sonder den Variablennamen selbst, obwohl an dieser stelle entweder "failed" oder "successful" hätte stehen müssen...

Und das obwohl ich das echo in doppelten Anführungszeichen stehen habe und nicht in einfachen...
 
Dann versuch dich mal durch
PHP:
echo "<p>Login {$res_status}.</p>";  
echo "<p>Login " . $res_status . ".</p>";  
var_dump($res_status);
 
Habe gerade beide Varianten ausprobiert und keine hat geklappt... Ich kannte sogar die untere, hab aber nicht daran gedacht, nur leider funktioniert auch diese nicht...

Ich gehe auch über localhost auf die Seite und die Seite liegt im htdocs-Ordner, was also auch nicht der Fehler sein dürfte... Ich habe so langsam das Gefühl, das liegt an XAMPP selbst, obwohl ich das eigentlich normal installiert habe und es keine Komplikationen gab.

Muss man sonst bei XAMPP nach der Installation noch etwas einstellen? (Wäre mir zumindest neu...)
 
Wird überhaubt etwas geparst oder wird der ganze Code ausgegeben?

Hast du am Anfang der Seite <?php ?
 
Ja, habe ich (s.Quelltext im ersten Post). Ich bin gerade dabei XAMPP einmach mal neu zu installieren, mal schauen, ob es etwas bringt...

EDIT: Jetzt funktioniert es... Ich habe keine Ahnung, was ich anders gemacht habe, aber okay... Das Problem ist jetzt jedenfalls gelöst.
 
Zuletzt bearbeitet:
Zurück