CreativPur
Erfahrenes Mitglied
Hallo,
ich habe folgendes Problem,
Auf meiner Seite werden alle Umlaute richtig angezeigt.
Dies wird logischerweise durch folgenden meta erzeugt.
Jetzt habe ich auf dieser Seite ein Newsletter-Formular, wo die Daten in eine Datenbank (MySQL) übertragen werden.
Dort werden die Umlaute weder richtig umgewandelt noch ausgegeben..
Nehme ich den Meta-Code raus, funktioniert meine Datenbank, aber die gesamte Seite wird ohne Umlaute dargestellt.
Mein Code für die Datenbank..
Worin liegt der Fehler ?
Wie kann ich überprüfen lassen, ob die Mail-Adresse schon besteht, und wenn ja, wie verhindere ich einen doppelten Eintrag ?
Vielen Dank für eure Hilfe
ich habe folgendes Problem,
Auf meiner Seite werden alle Umlaute richtig angezeigt.
Dies wird logischerweise durch folgenden meta erzeugt.
HTML:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Jetzt habe ich auf dieser Seite ein Newsletter-Formular, wo die Daten in eine Datenbank (MySQL) übertragen werden.
Dort werden die Umlaute weder richtig umgewandelt noch ausgegeben..
Nehme ich den Meta-Code raus, funktioniert meine Datenbank, aber die gesamte Seite wird ohne Umlaute dargestellt.
Mein Code für die Datenbank..
PHP:
<?php
if(isset($_POST['senden']))
$datenbank_host = 'xxxxx';
$datenbank_user = 'xxxxx';
$datenbank_passwort = 'xxxxx';
$datenbank_name = 'xxxxx';
if (!isset($_POST['senden'])) $_POST['senden'] = '';
if (!isset($_POST['vorname'])) $_POST['vorname'] = '';
if (!isset($_POST['name'])) $_POST['name'] = '';
if (!isset($_POST['email'])) $_POST['email'] = '';
if ($_POST['senden'] != '' AND $_POST['vorname']!= '' AND $_POST['name'] != '' AND $_POST['email'] != '') {
$link = @mysql_connect($datenbank_host,
$datenbank_user, $datenbank_passwort);
if (!$link) {
die('keine Verbindung möglich: ' .
mysql_error());
}
$db_selected =
@mysql_select_db($datenbank_name, $link);
if (!$db_selected) {
die ('Kann '.$datenbank_name.' nicht benutzen : ' . mysql_error());
}
$sql_insert = "INSERT INTO `user`
(`vorname`,`name`,`email`)
VALUES('".mysql_escape_string($_POST['vorname'])."','".mysql_escape_string($_POST['name'])."','".mysql_escape_string($_POST['email'])."')";
if (@mysql_query($sql_insert, $link) != false) {
echo '<span style="color:blue;">Ihr Newsletter wurde bestellt!</span>';
$_POST['vorname'] = '';
$_POST['name'] = '';
$_POST['email'] = '';
} else {
echo 'Der Eintrag wurde nicht
gespeichert!';
}
@mysql_close($link);
}
echo '<br />';
echo '<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="post"">';
echo '<input type="text" name="vorname" class=" text-center" placeholder="Ihr Vorname" value="'.htmlspecialchars($_POST['vorname']).'"/> ';
echo '<input type="text" name="name" class="text-center" placeholder="Ihr Nachname" value="'.htmlspecialchars($_POST['name']).'"/> ';
echo '<input type="text" name="email" class="full text-center" placeholder="Ihre Email-Adresse" value="'.htmlspecialchars($_POST['email']).'"/> <br/>';
echo '<button class="btn bg-gray" type="submit" name="senden" value="absenden"> Newsletter bestellen <i class="fa fa-long-arrow-right"> </i> </button>';
echo '</form>';
?>
Worin liegt der Fehler ?
Wie kann ich überprüfen lassen, ob die Mail-Adresse schon besteht, und wenn ja, wie verhindere ich einen doppelten Eintrag ?
Vielen Dank für eure Hilfe