• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit Umlauten bei "include()"

Status
Für weitere Antworten geschlossen.

jukleidie

Mitglied
Hi Leute

Ich baue da gerade eine Webseite ( Jugendsinfonieorchester Schwerin )
und ich habe da ein Problem: Unter dem Menüpunkt "Forum" wird das Forum im Inhaltsteil Includet. Normalerweise sieht das Forum so aus: Jso Community

Dort wo ich das mit include() eingefügt habe sind die Umlaute nicht richtig geschrieben, und das Layout ist ein bisschen falsch.

Ich habe da keine Ahnung mehr was ich da machen soll.

Ich würde mich über schnelle Hilfe freuen... :wink:


Julius
 
Probier es mal so
PHP:
ob_start();
include("forum.wo.auch.immer.ext");
$forum = ob_get_contents();
ob_end_clean();
echo htmlentities($forum);
 
dann mach es mal so
PHP:
ob_start();
include("forum.wo.auch.immer.ext");
$forum = ob_get_contents();
ob_end_clean();
$pattern = array("ä","ö","ü","ß");
$replace = array("ä","ö","ü","ß");
echo str_replace($pattern,$replace);

Bei bedarf noch mehr in die arrays einfügen
 
Der Code sieht jetzt so aus:
PHP:
<?php



 $id = $_GET['id'];



$index = 'http://www.juklei.de/jso/startseite.php';

$aktuell = 'http://www.juklei.de/jso/aktuelles.php';

$dirigent = 'http://www.juklei.de/jso/dirigent.php';

$konzerte = 'http://www.juklei.de/jso/konzerte.php';

$proben = 'http://www.juklei.de/jso/proben.php';

$downloads = 'http://www.juklei.de/jso/downloads.php';

$forum = 'http://www.juklei.de/jso/forum/forum.php';

$presse = 'http://www.juklei.de/jso/presse.php';

$kontakt = 'http://www.juklei.de/jso/kontakt.php';

$impressum = 'http://www.juklei.de/jso/impressum.php';

 ?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>

<?php

switch ($id) {

case "0": echo "Jugendsinfonieorchester Schwerin";break;

case "1": echo "Jugendsinfonieorchester Schwerin";break;

case "2": echo "Jugendsinfonieorchester Schwerin";break;

case "3": echo "Jugendsinfonieorchester Schwerin"; break;

case "4": echo "Jugendsinfonieorchester Schwerin"; break;

case "5": echo "Jugendsinfonieorchester Schwerin";   break;

case "6": echo "Jugendsinfonieorchester Schwerin"; break;

case "7": echo "Jugendsinfonieorchester Schwerin";break;

case "8": echo "Jugendsinfonieorchester Schwerin"; break;

case "9": echo "Jugendsinfonieorchester Schwerin"; break;

case "10": echo "Jugendsinfonieorchester Schwerin";break;

case "11": echo "Jugendsinfonieorchester Schwerin";  break;

case "12": echo "Jugendsinfonieorchester Schwerin";break;

case "13": echo "Jugendsinfonieorchester Schwerin";break;

case "14": echo "Jugendsinfonieorchester Schwerin";break;

default: echo "Jugendsinfonieorchester Schwerin";

}

?>

</title>

<link href="layout.css" rel="stylesheet" type="text/css" media="screen" />

</head>



<body id="startseite">

<center>

<div id="wrapper">



<div id="kopfbereich">

<p>

<b><big>Das wird die Seite des JSO Schwerin</big></b>. <span>Wirklich toll</span>.

</p>

</div>



<div id="navibereich">

<ul>

<li id="navi1"> <a href="index.php?id=1">Start</a> </li>

<li id="navi2"> <a href="index.php?id=2">Aktuelles</a> </li>

<li id="navi3"> <a href="index.php?id=3">Dirigent</a> </li>

<li id="navi4"> <a href="index.php?id=4">Konzerte</a> </li>

<li id="navi5"> <a href="index.php?id=5">Proben</a> </li>

<li id="navi10"> <a href="index.php?id=6">Downloads</a></li>

<li id="navi6"> <a href="index.php?id=7">Forum</a> </li>

<li id="navi7"> <a href="index.php?id=8">Presse</a></li>

<li id="navi8"> <a href="index.php?id=9">Kontakt</a></li>

<li id="navi9"> <a href="index.php?id=10">Impressum</a></li>

</ul>



</div>



<div id="textbereich">



<!-- Beginn des Inhalts!!! -->

<?php

echo "id: ".$id."<br />";


switch ($id) {

case "0": include ($index); break;

case "1": include ($index); break;

case "2": include ($aktuell); break;

case "3": include ($dirigent); break;

case "4": include ($konzerte);  break;

case "5": include ($proben); break;

case "6": include ($downloads); break;

case "7": ob_start();
include("http://www.juklei.de/jso/forum/forum.php");
$forum = ob_get_contents();
ob_end_clean();
echo htmlentities($forum);  break;

case "8": include ($presse ); break;

case "9": include ($kontakt); break;

case "10": include ($impressum); break;

default: include ($startseite);


}

?>


</div>



<div id="strichoben"><br /></div>



<div id="fussbereich">

<adress>

<center>

<small><b>KONSERVATORIUM SCHWERIN</b></small><br/>

<em>Jugendsinfonieorchester</em>

</center>

</adress>

</div>

<div id="strichunten"><br /></div>



</div>

</center>

</body>

</html>
 
Nach der Änderung gibt es eine Fehlermeldung:

Code:
Fatal error:  Call to undefined function:  string_replace() in /kunden/167344_19055/jso/index.php on line 172
Zeile 172:
Code:
echo string_replace($pattern,$replace);   break;
Der Ganze Code:

PHP:
<?php



 $id = $_GET['id'];



$index = 'http://www.juklei.de/jso/startseite.php';

$aktuell = 'http://www.juklei.de/jso/aktuelles.php';

$dirigent = 'http://www.juklei.de/jso/dirigent.php';

$konzerte = 'http://www.juklei.de/jso/konzerte.php';

$proben = 'http://www.juklei.de/jso/proben.php';

$downloads = 'http://www.juklei.de/jso/downloads.php';

$forum = 'http://www.juklei.de/jso/forum/forum.php';

$presse = 'http://www.juklei.de/jso/presse.php';

$kontakt = 'http://www.juklei.de/jso/kontakt.php';

$impressum = 'http://www.juklei.de/jso/impressum.php';

 ?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>

<?php

switch ($id) {

case "0": echo "Jugendsinfonieorchester Schwerin";break;

case "1": echo "Jugendsinfonieorchester Schwerin";break;

case "2": echo "Jugendsinfonieorchester Schwerin";break;

case "3": echo "Jugendsinfonieorchester Schwerin"; break;

case "4": echo "Jugendsinfonieorchester Schwerin"; break;

case "5": echo "Jugendsinfonieorchester Schwerin";   break;

case "6": echo "Jugendsinfonieorchester Schwerin"; break;

case "7": echo "Jugendsinfonieorchester Schwerin";break;

case "8": echo "Jugendsinfonieorchester Schwerin"; break;

case "9": echo "Jugendsinfonieorchester Schwerin"; break;

case "10": echo "Jugendsinfonieorchester Schwerin";break;

case "11": echo "Jugendsinfonieorchester Schwerin";  break;

case "12": echo "Jugendsinfonieorchester Schwerin";break;

case "13": echo "Jugendsinfonieorchester Schwerin";break;

case "14": echo "Jugendsinfonieorchester Schwerin";break;

default: echo "Jugendsinfonieorchester Schwerin";

}

?>

</title>

<link href="layout.css" rel="stylesheet" type="text/css" media="screen" />

</head>



<body id="startseite">

<center>

<div id="wrapper">



<div id="kopfbereich">

<p>

<b><big>Das wird die Seite des JSO Schwerin</big></b>. <span>Wirklich toll</span>.

</p>

</div>



<div id="navibereich">

<ul>

<li id="navi1"> <a href="index.php?id=1">Start</a> </li>

<li id="navi2"> <a href="index.php?id=2">Aktuelles</a> </li>

<li id="navi3"> <a href="index.php?id=3">Dirigent</a> </li>

<li id="navi4"> <a href="index.php?id=4">Konzerte</a> </li>

<li id="navi5"> <a href="index.php?id=5">Proben</a> </li>

<li id="navi10"> <a href="index.php?id=6">Downloads</a></li>

<li id="navi6"> <a href="index.php?id=7">Forum</a> </li>

<li id="navi7"> <a href="index.php?id=8">Presse</a></li>

<li id="navi8"> <a href="index.php?id=9">Kontakt</a></li>

<li id="navi9"> <a href="index.php?id=10">Impressum</a></li>

</ul>



</div>



<div id="textbereich">



<!-- Beginn des Inhalts!!! -->

<?php

echo "id: ".$id."<br />";


switch ($id) {

case "0": include ($index); break;

case "1": include ($index); break;

case "2": include ($aktuell); break;

case "3": include ($dirigent); break;

case "4": include ($konzerte);  break;

case "5": include ($proben); break;

case "6": include ($downloads); break;

case "7": ob_start();
include("http://www.juklei.de/jso/forum/forum.php");
$forum = ob_get_contents();
ob_end_clean();
$pattern = array("ä","ö","ü","ß");
$replace = array("&auml;","&ouml;","&uuml;","&szlig;");
echo string_replace($pattern,$replace);   break;

case "8": include ($presse ); break;

case "9": include ($kontakt); break;

case "10": include ($impressum); break;

default: include ($startseite);


}

?>


</div>



<div id="strichoben"><br /></div>



<div id="fussbereich">

<adress>

<center>

<small><b>KONSERVATORIUM SCHWERIN</b></small><br/>

<em>Jugendsinfonieorchester</em>

</center>

</adress>

</div>

<div id="strichunten"><br /></div>



</div>

</center>

</body>

</html>
 
dann mach es mal so
PHP:
ob_start();
include("forum.wo.auch.immer.ext");
$forum = ob_get_contents();
ob_end_clean();
$pattern = array("ä","ö","ü","ß");
$replace = array("&auml;","&ouml;","&uuml;","&szlig;");
echo str_replace($pattern,$replace);
Bei bedarf noch mehr in die arrays einfügen

du hast den string vergessen,
PHP:
echo str_replace($pattern,$replace, $forum);
 
Klingt so, als ob dem Server diese Funktion (string_replace() ) Irgend wie Undefiniert erscheint. warum das denn?

Es ist anzumerken, das ich in PHP nur das Grundlegene beherrsche.

Habe es jetz geändert. Da ist der Fehler trotzdem noch :sad::sad::sad::sad::sad::sad::sad:

Julius
 
Zuletzt bearbeitet von einem Moderator:
PHP:
echo "id: ".$id."<br />";
mach da doch bitte,wenns schon sein muss, ein
PHP:
if(is_numeric($id))
{
echo "id: $id<br />";
}
else
{
echo 'XSS attack detected! Hacker Alert!';
}
Danke :) oder willst du in so wenig Code schon ne sicherheitslücke drin haben?
MfG
Corni
 
PHP:
echo "id: ".$id."<br />";
mach da doch bitte,wenns schon sein muss, ein
PHP:
if(is_numeric($id))
{
echo "id: $id<br />";
}
else
{
echo 'XSS attack detected! Hacker Alert!';
}
Danke :) oder willst du in so wenig Code schon ne sicherheitslücke drin haben?
MfG
Corni
Das verhindert höchstens ein Notice, was soll das mit XSS zu tun haben?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben