Unbekannter Fehler im Code. Bildschirm weiß

  • Themenstarter Themenstarter moritz115
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
M

moritz115

EDIT Bitte letzten Post angucken! (auf seite 4) Den rest müsst ihr dafür nicht zwingend durchlesen


Hallo,

ich habe ein Problem. Ich habe einen PHP-Code. Leider bleibt der Bildschirm einfach weiß.

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
include("config.php");
mysql_connect($host, $user, $passwd) or die ("Keine Verbindung hergestellt!");
mysql_select_db ("$db1") or die ("Datenbank nicht geöffnet! Bitte schreibe eine Mail an uns und schreibe uns diesen Hinweis. An: <mailto>info@ein-mal-page.de</mailto>. Vielen Dank!");

$id = "'".$_GET['id']."'";
$name_holen = "SELECT `name` FROM `wwp_page` WHERE `ID` = $id";
$name_hab = mysql_query($name_holen) or die (mysql_error());
$name_ausg = mysql_fetch_row($name_hab) or die(mysql_error());
$name_ausgeben = $name_ausg[0];

?>
<title> <?php 
$name_ausgeben;
?>
 - ein-mal-page.de
</title>
</head>
<body>

<?php

$inhalt_holen = "SELECT `Inhalt` FROM `wwp_page` WHERE `ID` = $id";
$inhalt_hab = mysql_query($inhalt_holen) or die (mysql_error());
$inhalt_ausg = mysql_fetch_row($inhalt_hab) or die(mysql_error());
$inhalt_ausgeben = $inhalt_ausg[0];

$inhalt_ausgeben;





?>
</body>
</html>



Die $id ist aber besetzt und die Datenbankverbindung wird hergestellt. So viel weiß ich schonmal.
Aber woran liegt jetzt das Problem?

Vielen Dank für eure hilfe und mfg
 
Zuletzt bearbeitet von einem Moderator:
Menschen gibt es, die gibt es gar nicht. Du musst deine Werte natürlich noch mit echo ausgeben:
PHP:
<?php
include("config.php");
mysql_connect($host, $user, $passwd) or die ("Keine Verbindung hergestellt!");
mysql_select_db ("$db1") or die ("Datenbank nicht geöffnet! Bitte schreibe eine Mail an uns und schreibe uns diesen Hinweis. An: <mailto>info@ein-mal-page.de</mailto>. Vielen Dank!");

$id = "'".$_GET['id']."'";
$name_holen = "SELECT `name` FROM `wwp_page` WHERE `ID` = $id";
$name_hab = mysql_query($name_holen) or die (mysql_error());
$name_ausg = mysql_fetch_row($name_hab) or die(mysql_error());
$name_ausgeben = $name_ausg[0];

$inhalt_holen = "SELECT `Inhalt` FROM `wwp_page` WHERE `ID` = $id";
$inhalt_hab = mysql_query($inhalt_holen) or die (mysql_error());
$inhalt_ausg = mysql_fetch_row($inhalt_hab) or die(mysql_error());
$inhalt_ausgeben = $inhalt_ausg[0];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $name_ausgeben; ?> - ein-mal-page.de
</title>
</head>
<body>
<?php echo $inhalt_ausgeben; ?>
</body>
</html>

PS: Ich habe dein Skript noch derart verändert, dass die ganzen Datenbankabfragen vor der Bildschirmausgabe durchgeführt werden. Sollte man generell so lösen: erst Daten verarbeiten und dann ausgeben.
 
Hallo,

vielen Dank. Das war ein sehr dummer Fehler :D Peinlich.
Klappt :)

Vielen Dank!
 
PHP, Was gibt MySQL zurück, wenn Eintrag nicht vorhanden ist?

Hallo,

ich habe diesen Code:

PHP:
$name_holen = "SELECT `name` FROM `wwp_page` WHERE `ID` = $id";
$name_hab = mysql_query($name_holen) or die (mysql_error());
$name_ausg = mysql_fetch_row($name_hab) or die(mysql_error());
$name_ausgeben = $name_ausg[0];

Was gibt mysql bei $name_ausgeben zurück, wenn es keinen Eintrag mit der ID $id gibt?

Vielen Dank und mfg
moritz115
 
Es wird ein Leeres Result zurück gegeben, bzw. ein Ergebnis mit 0 Reihen.

Das heißt man kann diesen Fall, durch mysql_num_rows() abfangen.
 
Hallo,

also ich habe jetzt das:


PHP:
$name_holen = "SELECT `name` FROM `wwp_page` WHERE `ID` = $id";
$name_hab = mysql_query($name_holen) or die (mysql_error());
$name_ausg = mysql_fetch_row($name_hab) or die(mysql_error());
$name_ausgeben = $name_ausg[0];

if (mysql_fetch_row($name_ausgeben) != false)
{

$inhalt_holen = "SELECT `Inhalt` FROM `wwp_page` WHERE `ID` = $id";
$inhalt_hab = mysql_query($inhalt_holen) or die (mysql_error());
$inhalt_ausg = mysql_fetch_row($inhalt_hab) or die(mysql_error());
$inhalt_ausgeben = $inhalt_ausg[0];


Weiter unten kommt noch ein else. Leider funktioniert das so nicht. Weißer Bildschirm... :(
Muss aber an der if anweisung liegen, also das da iwie nicht false oder etwas anderes ausgegeben wird. Denn ohne if ging es ;)
 
Zuletzt bearbeitet von einem Moderator:
Weißer Bildschirm
Ein weißer Bildschirm mit diesem Code?

Moment, da war doch erst kürzlich was...

Unbekannter Fehler im Code. Bildschirm weiß

Bitte keine Doppelposts im Forum zu ein und demselben Problem! Danke!

Netiquette hat gesagt.:
12. Bitte erstelle keine Doppel-/Mehrfach-/Pushpostings. Dazu zählen insbesondere das Erstellen identischer Themen in mehreren unterschiedlichen Unterforen, das mehrfache oder erneute Einstellen eines bereits vorhandenen Themas, und das Posten von Beiträgen, die einzig und allein dem Zweck dienen, das entsprechende Thema in der Themenauflistung wieder weiter oben zu platzieren (sog. „Thread Pushing“). Derartige Beiträge werden restlos gelöscht. Sollte der Eindruck bei unseren Moderatoren entstehen, dass wissentlich gegen diesen Punkt verstoßen wurde, hat dies die unbegrenzte Sperrung des Accounts zur Folge.

Die beiden Themen werden dann mal zusammengetackert.

mfg Maik
 
Nachdenken.

mysql_fetch_row liefert false wenn der Result leer ist.
Woher kommt der Result? Von mysql_query.
Was verwendest du? Eine Variable mit primitiven Typ.

PHP:
$name_holen = "SELECT `name` FROM `wwp_page` WHERE `ID` = $id"; 
$name_hab = mysql_query($name_holen) or die (mysql_error()); 
$name_ausg = mysql_fetch_row($name_hab) or die(mysql_error()); 
$name_ausgeben = $name_ausg[0];

Such mal die Variable, welche mit mysql_fetch_row bereits arbeitet und schreibe deine if diesbezüglich um.
 
Hallo,

so geht es auch nicht.... :(


PHP:
$id = "'".$_GET['id']."'";
$name_holen = "SELECT `name` FROM `wwp_page` WHERE `ID` = $id";
$name_hab = mysql_query($name_holen) or die (mysql_error());
$name_ausg = mysql_fetch_row($name_hab) or die(mysql_error());
$name_ausgeben = $name_ausg[0];

if (mysql_fetch_row($name_ausg) != false)
{

$inhalt_holen = "SELECT `Inhalt` FROM `wwp_page` WHERE `ID` = $id";
$inhalt_hab = mysql_query($inhalt_holen) or die (mysql_error());
$inhalt_ausg = mysql_fetch_row($inhalt_hab) or die(mysql_error());
$inhalt_ausgeben = $inhalt_ausg[0];



Und so auch nicht:


PHP:
$id = "'".$_GET['id']."'";
$name_holen = "SELECT `name` FROM `wwp_page` WHERE `ID` = $id";
$name_hab = mysql_query($name_holen) or die (mysql_error());
$name_ausg = mysql_fetch_row($name_hab) or die(mysql_error());
$name_ausgeben = $name_ausg[0];

if ($name_ausg != false)
{

$inhalt_holen = "SELECT `Inhalt` FROM `wwp_page` WHERE `ID` = $id";
$inhalt_hab = mysql_query($inhalt_holen) or die (mysql_error());
$inhalt_ausg = mysql_fetch_row($inhalt_hab) or die(mysql_error());
$inhalt_ausgeben = $inhalt_ausg[0];


Was ist falsch?... :(


Danke für eure Hilfe!
 
Status
Nicht offen für weitere Antworten.
Zurück