|
You last visited: Today at 00:22
Advertisement
[Problem - PHP] Gästebuch Umlaute
Discussion on [Problem - PHP] Gästebuch Umlaute within the Web Development forum part of the Coders Den category.
09/26/2012, 18:37
|
#1
|
elite*gold: 81
Join Date: Aug 2012
Posts: 19
Received Thanks: 0
|
[Problem - PHP] Gästebuch Umlaute
Hey Community,
ich habe ein Gästebuch aus dem Internet geladen.
Codes:
Index.php:
PHP Code:
<html>
<head>
<title>Gästebuch</title>
</head>
<style type="text/css">
/* Hintergrund
--------------------------------- */
body {
background-color: #c8d0db;
}
/* allgemeine Linkfarbe und Größe
--------------------------------- */
a:link {color: #0000CC; font: 13px arial, sans-serif;}
a:visited {color: #0000CC; font: 13px arial, sans-serif;}
a:active {color: #0000CC; font: 13px arial, sans-serif;}
a:hover {color: #0000CC; font: 13px arial, sans-serif;text-decoration:none;}
</style>
<body>
<p><img src="gaestebuch.png" alt="Hier können Sie sich in unser Gästebuch eintragen"></img></p>
Hier können Sie einen Beitrag im Gästebuch verfassen<br><br>
<form action="eintrag.php" Method="post">
Ihr Name:<br>
<input name="Name" size="30"><br><br>
E-Mail:<br>
<input name="E-Mail" size="30"><br>
<br><br>
Beitrag:<br>
<textarea name="inhalt" cols="30" rows="6"
wrap="physical"></textarea><br>
<input type="submit" value="Eintragen">
</form>
<hr color="#000080">
<font size="2">
<?php
$beitrag = file("gbinhalt.txt");
krsort($beitrag);
foreach($beitrag as $ausgabe)
{
$ausgabe = stripslashes($ausgabe);
$zerlegen = explode("|", $ausgabe);
echo "<font color=\"#330000\" size=\"2\">
<hr>
Eintrag von $zerlegen[1]
geschrieben am $zerlegen[2]
</td>
</tr>
<tr>
<td>
<br>
$zerlegen[3]
</td>
</tr>
</table><br>
";
}
?>
</font>
</body>
</html>
eintrag.php:
PHP Code:
<html>
<head>
<title>Gästebuch</title>
</head>
<style type="text/css">
/* Hintergrund
--------------------------------- */
body {
background-color: #c8d0db;
}
/* allgemeine Linkfarbe und Größe
--------------------------------- */
a:link {color: #0000CC; font: 13px arial, sans-serif;}
a:visited {color: #0000CC; font: 13px arial, sans-serif;}
a:active {color: #0000CC; font: 13px arial, sans-serif;}
a:hover {color: #0000CC; font: 13px arial, sans-serif;text-decoration:none;}
</style>
<body>
<?php
$user = $_POST["Name"];
$user = htmlentities($user);
$inhalt = $_POST["inhalt"];
$inhalt = htmlentities($inhalt);
$inhalt = str_replace("\n", "<br>", $inhalt);
$email = $_POST["EMail"];
$email = htmlentities($email);
if ($inhalt == "" or $user == "")
{
echo "Bitte füllen Sie das Feld \"Namen\"
und \"Inhalt\" aus";
}
else
{
$datum= date("d.m.Y H:i:s");
$eintrag="$email|$user|$datum|$inhalt";
$datei = fopen("gbinhalt.txt", "a");
fwrite($datei, "\n".$eintrag);
fclose($datei);
echo "Ihr Eintrag wurde in das Gästebuch eingetragen. Ihre eMail-Adresse
wird NICHT angezeigt.";
}
?>
<br>
<a href="gaestebuch.php">Zurück zum Gästebuch</a>
</body>
</html>
gbinhalt.txt:
PHP Code:
|öäü|26.09.2012 18:32:20|öäü
Problem: Alle Umlaute werden immer als Sysmbole etc. gespeichert (siehe gbinhalt.txt), obwohl alle FOrmulare UTF-8 Kodiert sind.
Wie schaffe ich es, dass die Umlaute richtig angezeigt werden?
Mit Hoffnung auf Hilfe,
Ich :P
|
|
|
09/26/2012, 19:38
|
#2
|
elite*gold: 1
Join Date: Feb 2009
Posts: 6,378
Received Thanks: 7,996
|
Umlaute durch die jeweiligen HTML-Repräsentation ersetzen.

Hier wäre der Thread übrigens besser aufgehoben gewesen.
|
|
|
09/27/2012, 19:24
|
#3
|
elite*gold: 81
Join Date: Aug 2012
Posts: 19
Received Thanks: 0
|
Hallo,
ich möchte nicht bei jedem einzelnen Beitrag die Umlaute manuell ändern müssen.
Geht das nicht auch anders?
Edit: Ich bitte Dich, meinen Thread zu moven.
|
|
|
09/27/2012, 21:14
|
#4
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
|
mittels PHP die Umlaute vor dem Speichern ändern.
|
|
|
09/27/2012, 21:45
|
#5
|
elite*gold: 81
Join Date: Aug 2012
Posts: 19
Received Thanks: 0
|
Wie Du vielleicht festgestellt hast, bin ich mit php nicht so erfahren ... Daher erhoffte ich mir eine mehr, nennen wir es "coderische" Antwort, im Sinne von Codes, die mir dabei helfen.
|
|
|
09/27/2012, 22:22
|
#6
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
|
PHP Code:
<?php
$ausgabe = "Ein Text mit äußerst vielen Umlauten";
$umlaute = array(”/ä/”,”/ö/”,”/ü/”,”/Ä/”,”/Ö/”,”/Ü/”,”/ß/”);
$replace = array(”ä”,”ö”,”ü”,”Ä”,”Ö”,”Ü”,”ß”);
$ausgabe = preg_replace($umlaute , $replace , $ausgabe);
echo $ausgabe;
?>
|
|
|
09/27/2012, 22:40
|
#7
|
elite*gold: 81
Join Date: Aug 2012
Posts: 19
Received Thanks: 0
|
Schonmal Danke für den Code, aber wie bau ich den nun genau in mein Gästebuch ein, bzw. wo genau muss der hin?
|
|
|
09/27/2012, 22:46
|
#8
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
|
einfach $ausgabe durch dein $eintrag ersetzen und es zwischen die deklarierung von $eintrag und dem fwrite setzen (und natürlich die ausgabe rauskicken)
|
|
|
09/28/2012, 16:09
|
#9
|
elite*gold: 81
Join Date: Aug 2012
Posts: 19
Received Thanks: 0
|
Habe es wie gesagt eingesetzt.
Bei Eintrag meldet es nun:
Parse error: syntax error, unexpected ';', expecting ')' in /mnt/webk/a3/03/5228103/htdocs/neu/eintrag.php on line 38
Line 38:
$replace = array(”ä”,”ö”,”ü”,”Ä”,”Ö”,”Ü”,”&szl ig;”);
PHP Code:
<html> <head> <title>Gästebuch</title> </head> <style type="text/css"> /* Hintergrund --------------------------------- */ body { background-color: #c8d0db; } /* allgemeine Linkfarbe und Größe --------------------------------- */ a:link {color: #0000CC; font: 13px arial, sans-serif;} a:visited {color: #0000CC; font: 13px arial, sans-serif;} a:active {color: #0000CC; font: 13px arial, sans-serif;} a:hover {color: #0000CC; font: 13px arial, sans-serif;text-decoration:none;} </style> <body> <?php $user = $_POST["Name"]; $user = htmlentities($user); $inhalt = $_POST["inhalt"]; $inhalt = htmlentities($inhalt); $inhalt = str_replace("\n", "<br>", $inhalt); $email = $_POST["EMail"]; $email = htmlentities($email); if ($inhalt == "" or $user == "") { echo "Bitte füllen Sie das Feld \"Namen\" und \"Inhalt\" aus"; } else { $datum= date("d.m.Y H:i:s");
$ausgabe = "$email|$user|$datum|$inhalt"; $umlaute = array(”/ä/”,”/ö/”,”/ü/”,”/Ä/”,”/Ö/”,”/Ü/”,”/ß/”); $replace = array(”ä”,”ö”,”ü”,”Ä”,”Ö”,”Ü”,”ß”); $ausgabe = preg_replace($umlaute , $replace , $ausgabe);
echo $ausgabe; $datei = fopen("gbinhalt.txt", "a"); fwrite($datei, "\n".$eintrag); fclose($datei); echo "Ihr Eintrag wurde in das Gästebuch eingetragen. Ihre eMail-Adresse wird NICHT angezeigt."; } ?> <br> <a href="gaestebuch.php">Zurück zum Gästebuch</a> </body> </html>
Zeile 37 und 38 sieht so aus:
$umlaute = array(”/ä/”,”/ö/”,”/ü/”,”/Ä/”,”/Ö/”,”/Ü/”,”/ß/”);
$replace = array(”ä”,”ö”,”ü”,”Ä”,”Ö”,”Ü”,”&szl ig;”);
Elitepvpers ändert das, keine Ahnung warum ...
|
|
|
09/29/2012, 10:16
|
#10
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
|
Ich schreibs dir nacher am pc richtig ... Du hast nen syntag fehler reingebaut
|
|
|
09/29/2012, 12:00
|
#11
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
General Coding -> Web Development
#moved
|
|
|
09/29/2012, 13:24
|
#12
|
elite*gold: LOCKED
Join Date: Feb 2011
Posts: 194
Received Thanks: 50
|
Übrigens ist gegen einen gescheiten Head mit Contenttype und Charset nix auszusetzen..
|
|
|
09/30/2012, 23:02
|
#13
|
elite*gold: 81
Join Date: Aug 2012
Posts: 19
Received Thanks: 0
|
Quote:
Originally Posted by NotEnoughForYou
Ich schreibs dir nacher am pc richtig ... Du hast nen syntag fehler reingebaut
|
Ich warte gespannt und Danke im Voraus
|
|
|
09/30/2012, 23:04
|
#14
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
|
sry heute hats mir nicht mehr gereich, morgen mach ichs dir
#edit
PHP Code:
<html> <head> <title>Gästebuch</title> </head> <style type="text/css"> /* Hintergrund --------------------------------- */ body { background-color: #c8d0db; } /* allgemeine Linkfarbe und Größe --------------------------------- */ a:link {color: #0000CC; font: 13px arial, sans-serif;} a:visited {color: #0000CC; font: 13px arial, sans-serif;} a:active {color: #0000CC; font: 13px arial, sans-serif;} a:hover {color: #0000CC; font: 13px arial, sans-serif;text-decoration:none;} </style> <body> <?php $user = $_POST["Name"]; $user = htmlentities($user); $inhalt = $_POST["inhalt"]; $inhalt = htmlentities($inhalt); $inhalt = str_replace("\n", "<br>", $inhalt); $email = $_POST["EMail"]; $email = htmlentities($email); if ($inhalt == "" or $user == "") { echo "Bitte füllen Sie das Feld \"Namen\" und \"Inhalt\" aus"; } else { $datum= date("d.m.Y H:i:s");
$ausgabe = "$email|$user|$datum|$inhalt";
$umlaute = array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/"); $replace = array("ä","ö","ü","Ä","Ö","Ü","ß"); $ausgabe = preg_replace($umlaute , $replace , $ausgabe); $datei = fopen("gbinhalt.txt", "a"); fwrite($datei, "\n".$ausgabe); fclose($datei); echo "Ihr Eintrag wurde in das Gästebuch eingetragen. Ihre eMail-Adresse wird NICHT angezeigt."; } ?> <br> <a href="gaestebuch.php">Zurück zum Gästebuch</a> </body> </html>
ich habe jetzt nur den Umlauten replacer eingefügt... da ist natürlich noch vieles nicht 1a aber für den anfang zum üben kann man das so lassen.
|
|
|
10/01/2012, 22:01
|
#15
|
elite*gold: 170
Join Date: Mar 2010
Posts: 369
Received Thanks: 187
|
wtf?
why net einfach
$output = htmlentities($input, ENT_QUOTES, "UTF-8"),
|
|
|
 |
|
Similar Threads
|
Gästebuch
03/25/2012 - Web Development - 9 Replies
Hey,
Ich brauche hilfe bei einem Gästebuch, das ich nach einem Tutorial im Internet gelernt habe.
Das Gästebuch speichert die geschriebenen Dinge in einer Textdatei "gaestebuch.txt". Die Beiträge in dieser txt werden direkt hinter den vorherigen Eintrag gehängt. Dies möchte ich nicht. Ich möchte das er z.B. 2 Zeilenumbrüche macht um es besser zu strukturieren. Sonstige Vebesserungvorschläge und Kritik sind erwünscht!
Hier die Gaestebuch.php:
<html>
<head>
<title>Gästebuch</title>
|
Gästebuch
10/19/2011 - General Coding - 6 Replies
Hallo ich habe per php ein gästebuch erstellt.. nur habe ich ein problem..
ich habe in der datenbank 4 spalten
ID | NAME | MAIL | NACHRICHT
er trägt alles ein... bis auf die ID.. ich will ja nicht das sie
die ID selber eintragen müssen ich will das es das automatisch macht..
ich dachte es geht mit dem hier..
|
Gästebuch entsperren :D
03/10/2011 - Main - 2 Replies
Hey,
habe vor längerer Zeit mal mein Gästebuch gesperrt. Nun will ich es wieder entsperren, nur weiß ich nicht mehr wo :D.
Weiß das vll. einer?
Hab in der SuFu iwie nichts gefunden.
|
Gästebuch zum Vollmalen ^^
04/17/2007 - Off Topic - 16 Replies
Hi,
auf http://www.graphicguestbook.com/ kann man sich ein gästebuch machen wo man anstatt reinschreibt etwas reinmalt ^^ find ich lusitg.
So sieht es ungefähr aus: http://www.graphicguestbook.com/parad1ze
:D
|
mein...gästebuch...<_<
09/27/2005 - Main - 48 Replies
so...voll ;_;
|
All times are GMT +1. The time now is 00:23.
|
|