Textfeld wird im Browser nicht angezeigt

Bueny

Grünschnabel
Hallo Allerseits,
ich denke nicht das dies wohl der richtige Ort ist an dem ich mich vorstellen sollte, doch sollte man vorweg wissen, dass ich mich erst seit Ende letzten Monats mit PHP beschäftige. Deswegen komm ich auch gleich zu meinem Problem.

Ich wollte ein Skript schreiben in dem ich Kategorien hinzufügen kann und das sie danach aufgelistet angezeigt werden. Ansich sollte dies kein Problem darstellen da ich das nach Vorgabe aus einem Buch gemacht habe (jedoch ist mir aufgefallen das auch das Buch nicht fehlerfrei ist).

Im folgenden Anhang (screen_a.jpg) sieht man den Screenshot aus Dreamweaver.
screen_a.jpg: So soll es ausschauen

Und nun der Screenshot aus Firefox (im IE siehts genauso aus).
screen_b.jpg: So ist die Ausgabe.

Jetzt kommt der Code den ich benutze:

PHP:
	<html>
		<head>
			<title>
            Kategorien einf&uuml;gen
            </title>
			<link href="css/style.css" rel="stylesheet" type="text/css">
		</head>
<body>
		<?php
			error_reporting(0);
			$name= $_GET["new"];
			$submit= $_GET["submit"];
			if(!$submit)
				{
		?>
<h2>Neue Kategorie einf&uuml;gen</h2>
	<ul>
		<?php
			include("include.php");
			$results = mysql_query("SELECT Name FROM kategorien");
			$menge = mysql_num_rows($result);
			while($row = mysql_fetch_row($result))
				{
					echo '<LI>';
					echo $row[0];
					echo "</LI>";
				}
		?>
</ul>
	<form action="kategorie.php" method="get">
	  <input name="kategorie" type="text" value="kategorie"/>
	  <input type="submit" name="submit" value="Neue Kategorie" />
</form>
		  <?php
			}
				else
			{
				echo "Es wurde eine neue Kategorie angelegt!";
				include("include.php");
				mysql_query("INSERT INTO kategorien (Name) VALUES ('$name')");
		?>
		  <script type="text/javascript">
		<!--
			location.href = 'kategorie.php';
		//-->
	      </script>
	      <?
			}
	?>
</body>
</html>


Wenn ich mir allerdings dann wieder den Code aus meinen browsern anschaue kommt:
HTML:
	<html>
		<head>
			<title>
            Kategorien einf&uuml;gen
            </title>
			<link href="css/style.css" rel="stylesheet" type="text/css">
		</head>
<body>
		<h2>Neue Kategorie einf&uuml;gen</h2>
	<ul>

Kann mir da vielleicht jemand behilflich sein?

Gruß Bueny

PS: unter der Suchfunktion kamen keine hilfreichen Ergebnisse zum Stichwort "Textfeld wird in Browser nicht angezeigt."
 

Anhänge

  • screen_a.jpg
    screen_a.jpg
    25,1 KB · Aufrufe: 18
  • screen_b.jpg
    screen_b.jpg
    37,4 KB · Aufrufe: 13
Moin,...

bei mir wird das Feld mit deinem Code angezeigt.
Da alles nach diesem hier:
PHP:
            include("include.php");
...fehlt, wäre es interessant zu wissen, was bei dir in der include.php drinnen steht.

P.S: Während der Entwicklung empfiehlt es sich, das error_reporting() nicht abzuschalten, denn du willst doch schliesslich Fehler ausbügeln, und nicht nur nen Flicken raufnähen, damit man sie nicht sieht ;) :-)
 
Ist normal, dass keine Ausgabe kommt. Für die Abfrage hast du den Variablennamen $results benutzt und bei den anderen Wertzuweisungen worin stehen müsste $results, $result stehen. Wie soll das script wissen^^
 
@Sven Mintel: Danke das mit dem error_reporting() war ne super Idee, jetzt bin ich schonmal einen Schritt weiter. In meiner include.php sind folgende MySQL-Daten eingetragen (da die Daten von XAMPP sind kann ich sie bedenkenlos schreiben)

PHP:
<?php
	$server="localhost";
	$user="root";
	$passwort=""; // Auf meinem Rechner benötige ich kein Passwort (die CMS die ich zuvor benutzt hab, haben ebenfalls funktioniert)
	$dbname="nono"
	$verbindung=@mysql_pconnect($server,$user,$passwort);
	if(! $verbindung)
		{
		die("Die Verbindung konnte nicht hergestellt werden!");
		}
	if (! mysql_select_db($dbname))
		{
		die("Die Datenbank ist nicht vorhanden!");
		}
?>

Jetzt, da ich weiss welche Fehler behoben werden müssten, finde ich sie nicht. Es meldet:

Code:
Notice: Undefined index: new in C:\xampp\htdocs\bb\kategorie.php on line 11

Notice: Undefined index: submit in C:\xampp\htdocs\bb\kategorie.php on line 12

Wobei sich an diesen zwei Zeilen folgendes befindet:

PHP:
			$name= $_GET["new"];
			$submit= $_GET["submit"];

Dann wäre da noch dieser Fehler:
Code:
Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\bb\include.php on line 6

Das widerrum wäre dann diese Zeile

PHP:
	$verbindung=@mysql_pconnect($server,$user,$passwort);



@KD3: Danke! Wäre mir nicht aufgefallen :)
 
Jetzt, da ich weiss welche Fehler behoben werden müssten, finde ich sie nicht. Es meldet:

Code:
Notice: Undefined index: new in C:\xampp\htdocs\bb\kategorie.php on line 11

Notice: Undefined index: submit in C:\xampp\htdocs\bb\kategorie.php on line 12
Dieser Fehler entsteht, wenn du auf eine Variable zugreifen willst, welche nicht existiert.
Umgehen kannst du das, indem du erst per [phpf]isset[/phpf] die Existenz der Variable prüfst.
Allerdings sind diese beiden Sachen nichts, was die Sache komplett ausbremst.

Folgendes allerdings schon :-)
Dann wäre da noch dieser Fehler:
Code:
Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\bb\include.php on line 6

Das widerrum wäre dann diese Zeile

PHP:
	$verbindung=@mysql_pconnect($server,$user,$passwort);

..allerdings sehe ich in dieser Zeile keinen Fehler, zeige bitte mal mehr davon, so 3 Zeilen davor und danach.
 
Leider muss ich dem Mod mal widersprechen. (Endlich *händereib*)

Der Fehler ist in Reihe 5 und ist das fehlende Semikolon;
PHP:
$dbname="nono"
 
Freut mich :). Danke! Muss anscheinend besser aufpassen, jedoch hätte ich da noch eine Frage: Wie bringe ich den Code dazu die Namen aufzulisten, die ich eingebe? Zur Verdeutlichung: es wird die Auflistung angezeigt, aber nur Punkte. Ich möchte aber das die Kategorie-bezeichnungen ebenfalls angezeigt werden.
Ausprobiert hab ich das auch schon in verschiedenen Formen. Die wären:

PHP:
<h2>Neue Kategorie einf&uuml;gen</h2>
	<ul>
		<?php
			include("include.php");
			$results = mysql_query("SELECT Name FROM kategorien");
			$menge = mysql_num_rows($results);
			while($row = mysql_fetch_row($results))
				{
					echo '<LI>';
					echo $row[0];
					echo $name; //test No. 1
					echo $results; //test No.2, und auch beides gemeinsam schon ausprobiert
					echo "</LI>";
				}
		?>
</ul>
 
Zurück