Notice: Meldung obwohl alles läuft...

Crav3X

Erfahrenes Mitglied
Hallo,

dies ist mein erster Besuch bei euch und hoffe das ich gleich mal eure Hilfe in anspruch nehmen darf ;)

Übe mich grad etwas in PHP und habe mit einer Switch anweisung verschiedene section eingebaut damit ich die seiten in ein "template" einbauen kann mit hilfe von zb: "index.php?seite=gbook".

Funktioniert alles auch wunderbar!
Seit dem ich aber die Config.php direkt in die index.php included habe kommt auf der default seite die "Notice: Undefined variable: crav in /var/www/web8/html/tools/core.php on line 4-9"


Hier die Switch anweisung:
PHP:
switch($crav){
case "news": include("system/news.php"); break;
case "links": include("system/links.php"); break;
case "gbook": include("system/gbook.php"); break;
case "gbookadd": include("system/gbookadd.php"); break;
case "gbadd": include("system/gbadd.php"); break;
case "shoutadd": include("system/shoutadd.php"); break;

default: include("system/home.php"); break;
}


und hier die Index.php

PHP:
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
require ("config.php");
?>
<table border="0" cellpadding="0" cellspacing="1" width="908">
	<tr>
		<td colspan="3" bgcolor="#339966"><font size="4"><b>Crav3X&nbsp;PHP Train</b></font></td>
	</tr>
	<tr>
		<td width="150" bgcolor="#339966" valign="top"><b>Men&uuml;</b><b><br>
			</b><a href="index.php">Home</a><br>
			News<br>
			<a href="index.php?crav=gbook" target="_self">G&auml;stebuch</a><br>
			Impressum<br>
			<br>
			<br>
			<br>
			<b>Admin</b><br>
			<br>
			Neue News<br>
			Edit Impressum<br>
		</td>
		<td bgcolor="#33cc66" width="607" valign="top">Content<br>
			<?php  
include ("tools/core.php");
?>
</td>
	<td bgcolor="#339966" width="147" valign="top"><?php
include("system/shoutbox.php");
?></td>
	</tr>
	<tr>
		<td colspan="3" bgcolor="#339966">
			<center>
				<font size="2"></font></center>
		</td>
	</tr>
</table>


Hier noch ein link zum anschauen web8.crav3x.de

Habe auch schon hier nach der Meldung gesucht und es mit der "if" abfrage probiert... Die meldung sind weg... nur Funktioniert das dann mit den seiten aber nicht mehr...

Hoffe mir kann jemand bei meinem wenn auch dummen fehler helfen kann!

Schonmal vielen Dank
Crav
 
Woher kommt denn die Variable $crav?
Kommt sie aus der URL oder einem Formular?

Ansonsten versuch sie mal so zu setzen:

PHP:
$crav = ( !empty($_GET['crav']) ? htmlspecialchars($_GET['crav']) : false );

Anpassen solltest du eben woher deine Variable kommt.
 
Variable $crav ist ja denk ich die Switch anweisung die ich in der Index.php Include.
wieso der sagt das sie nicht definiert ist versteh ich nicht...


Aber es t! DANKE :D

Kannst du mir den schnippsel einmal kurz erklären? Wäre Nett! Danke danke
 
Zuletzt bearbeitet:
Klar, das ganze ist eine Kurzfassung einer [phpf]if[/phpf]-Bedingung.

Ausgeschrieben würde das ganze so aussehen:

PHP:
if(!empty($crav)) {
  $crav = htmlspecialchars($_GET['crav']);
} else {
  $crav = false;
}

Es prüft ob $crav gesetzt ist und ob es leer ist.
Falls nein, wird $crav der Wert aus der URL übertragen.
Falls ja, wird es auf false gesetzt.

Und klick bitte noch auf "Erledigt" falls es das wirklich ist.
 
Zurück