echo im HTML Quelltext ausgeben

Steffen Giers

Erfahrenes Mitglied
Guten Tag...

Folgendes Problem...

Ich habe ein Formular welches Daten an eine Datenbank schickt. Funktioniert auch alles wunderbar. Allerdings wird die Statusmeldung, ob die Daten eingetragen wurden oder nicht, links oben über der eigentlichen Seite angezeigt.

Ich könnte natürlich den HTML Quelltext in des Echo einfügen und dann mit der jeweiligen Meldung ausgeben. Aber das scheint mir ähm.. unelegant und ich denke das gehört auch nicht zu guten Stil.

Welche möglichkeiten hätte ich? Platzhalter?

PHP:
$result = mysql_db_query($dbname,$query,$verbindung);
if($result)
	{
	echo "Der User \"$username\" wurde erfolgreich angelegt";
	}
else
	{
	echo "Fehler beim Eintragen der Daten";
	}

Danke für eure Hilfe..

bye Steffen
 
Zuletzt bearbeitet:
Hi,
das ist aber doch nicht der ganze Code oder?
Was mir aber komisch vorkommt ist, dass die if-Anweisung keinen vergleich hat.
Muss ja auch kontrolliert werden ob etwas passiert ist, in deinem Falle denk ich so:
PHP:
if($result == true )
    {
    echo "Der User \"$username\" wurde erfolgreich angelegt";
    }
else
    {
    echo "Fehler beim Eintragen der Daten";

MFG,
Sven
 
svennson hat gesagt.:
das ist aber doch nicht der ganze Code oder?
Was mir aber komisch vorkommt ist, dass die if-Anweisung keinen vergleich hat.

Wenn ein Boolean (Wahrheitswert) wahr ist, dann kann man ihn auch direkt fragen ... das bedeutet:
wenn da steht if($t_result) dann steht da für php if(true) ... und wenn man da if($t_result == true) hinschreiben würde, würde da stehen if(true==true) ... ergibt das selbe Ergebnis ...
 
ich würd sagen, dass das schon stimmt. wenn der Query ausgeführt wurde, dann ist $result belegt, also true. Außerdem würde sonst immer die Meldung kommen, dass es nicht geglückt ist
 
Nein das ist natürlich nicht der ganze Code...

Hier ist die vollständige Seite... Ich habe markiert wo das echo eigentlich ausgegeben werden soll.

PHP:
<?php
//Festlegung der Serverdaten:
$dbserver = "localhost";
$dbuser = "root";
$dbpwd = "";
$dbname = "v157204";


if((isset($_POST['username'])) && (isset($_POST['pwd']))) 
/*Überprüft ob eine Eingabe stattgefunden hat*/
{
// Herstellen einer Datenbankverbindung:
$verbindung = @mysql_connect("$dbserver","$dbuser","$dbpwd");
if (!$verbindung) {
echo "Keine Verbindung möglich!\n";
exit;
}

// Mysql Query zum speichern des Eintrags in der Tabelle der Datenbank:
	$query = "
			INSERT INTO `users` 
				(vorname, nachname, username, pwd, email)
			VALUES (
				'$vorname',
				'$nachname',
				'$username',
				'$pwd',
				'$email'
			)";

// Ausführen der Query
$result = mysql_db_query($dbname,$query,$verbindung);
if($result)
	{
	echo "Der Benutzer \"$username\" wurde erfolgreich in die Datenbank eingetragen";
	}
else
	{
	echo "Fehler beim Eintragen der Daten";
	}
}
?>
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">     

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>Home Page-Dj Nelson.de</title>
<link rel="stylesheet" type="text/css" href="css/mainstylesheet.css"/>
</head>

<body>

<!--Gesamtinhaltsbox(Container)-Anfang-->
<div id="container">
<h1 id="header"></h1>
<ul class="mainnav">
		<li><a href="index.php">Home</a></li>
		<li><a href="#">Portofilio</a></li>
		<li><a href="#">Musik</a></li>
		<li><a href="#">Kontakt</a></li>
		<li><a href="#">Linkage</a></li>
</ul>

<div id="spalte_links">
<ul class="subnav ">
<h2>Sub Überschrift</h2>
		<li><a href="#">Submenüpunkt 1</a></li>
		<li><a href="#">Submenüpunkt 2</a></li>
		<li><a href="#">Submenüpunkt 3</a></li>
		<li><a href="#">Submenüpunkt 4</a></li>
		<li><a href="#">Submenüpunkt 5</a></li>
</ul>
</div>

<div id="spalte_rechts">

<!---Formular Anfang-->
<div class="contentblock">
<h3>Neuen User in Datenbank einfügen...</h3>
<h4>Userdaten</h4>
<form class="kontakt" action="<?=$PHP_SELF;?>" method="post">
	<fieldset>
	<label>Vorname</label>
			<input class="kontakt" type="text" name="vorname" value="Vorname" onblur="if(this.value=='') this.value='Vorname';" onfocus="if(this.value=='Vorname') this.value='';" >
	<label>Nachname</label>
			<input class="kontakt" type="text" name="nachname" value="Nachname" onblur="if(this.value=='') this.value='Nachname';" onfocus="if(this.value=='Nachname') this.value='';" >
	<label>Username</label>
			<input class="kontakt" type="text" name="username" value="Username" onblur="if(this.value=='') this.value='Username';" onfocus="if(this.value=='Username') this.value='';" >
	<label>Passwort</label>
			<input class="kontakt" type="text" name="pwd" value="Passwort" onblur="if(this.value=='') this.value='Passwort';" onfocus="if(this.value=='Passwort') this.value='';">
	<label>Email</label>
			<input class="kontakt" type="text" name="email" value="Email" onblur="if(this.value=='') this.value='Email';" onfocus="if(this.value=='Email') this.value='';" >
	<label>&nbsp;</label>
			<input class="loginbutton" type="submit" value="Senden">
	</fieldset>
</form>
<!--Formular Ende-->

<p>...echo "Hier soll das Echo hin..." </p>
</div>
</div>


<p id="footer">
<a href="#">|css|</a>
<a href="#">|xhtml|</a>
<a href="#">|imprint|</a>
</p>
</div>
<!--Gesamtinhaltsbox(Container)-Ende-->
</body>
</html>


So siehts aus...
 
Zuletzt bearbeitet:
Speichere mal die Ausgabe in einer Vaiablen, hier jetzt mal $meldung. Dann lade die HTML Datei in ein Variable. ( $variable = implode('',file('PFAD ZUR DATEI')) ).
Schreib dann unter die IF-Anweisung:
echo eval($variable);

In der HTML Datei schreibst du an der Stelle, wo die Meldung kommen soll einfach $meldung. Das sollte klappten.

mb fanste

PS: mach mal beim action Befehl noch das = hinter <? weg und mach aus $PHP_SELF mal $_SERVER['PHP_SELF']
 
Zuletzt bearbeitet:
So habe folgenden Lösung gefunden?!

Ich habe das echo der if-Abfrage durch eine Variable ersetzt (besser in einer Variable gespeichert) und weiter unten im Quelltext des HTML-Teils, an der Stelle wo das Ergebniss der Abfrage ausgegeben werden soll <?=$meldung?> eingesetzt. Das ist wahrscheinlich auch nicht der Königsweg aber es funktioniert. Und das sehr gut... :-)

PHP:
$result = mysql_db_query($dbname,$query,$verbindung);
		if($result)
			{
			$meldung = "Der Benutzer \"$username\" wurde erfolgreich in die Datenbank eingetragen!";
			}
			else
			{
			$meldung = "Fehler beim Eintragen der Daten!";
			}

PHP:
 //Quelltext des HTML-Teils
<?=$meldung?>

Danke an fanste , der den Wald vor meinem Haus ein wenig gestutzt hat! ;)
 
Zurück