PHP – die neusten Beiträge

PHP POST Umlaute Kodierung falsch?

Hi!

Also ich habe ein Kontaktformular auf meiner HTML Seite. Da gibt man halt so Sachen wie Name und eine Nachricht und so weiter ein. Die Daten werden dann per POST an die PHP Datei geschickt, welche diese per Mail verschicken soll. Das Mail versenden klappt auch soweit, aber die Umlaute werden als komische Sonderzeichen angezeigt, der Rest der Mail kommt normal an. Ich dachte vielleicht interpretiert der mail Befehl die Sonderzeichen irgendwie falsch, deshalb habe ich in meiner PHP noch folgende Zeilen eingebaut die die Umlaute aus der Nachricht entfernen sollen bevor sie verschickt wird.

$messagemail = $_POST['message'];

$messagemail = str_replace("ä", "ae" , $messagemail);
$messagemail = str_replace("ü", "ue" , $messagemail);
$messagemail = str_replace("ö", "oe" , $messagemail);
$messagemail = str_replace("Ä", "Ae" , $messagemail);
$messagemail = str_replace("Ü", "Ue" , $messagemail);
$messagemail = str_replace("Ö", "Oe" , $messagemail);
$messagemail = str_replace("ß", "ss" , $messagemail);
$messagemail = str_replace("´", "" , $messagemail);
$messagemail = str_replace("`", "" , $messagemail);
$messagemail = str_replace("é", "" , $messagemail);
$messagemail = str_replace("è", "" , $messagemail);

Allerdings ersetzt der str replace Befehl in dem String garnichts, die Mail kommt wie vorher mit seltsamen Sonderzeichen an. Jetzt habe ich die Befürchtung, dass die Sonderzeichen nicht durch den Mail Befehl so verunstaltet werden, sondern schon durch das Senden mit POST an das PHP Dokument. Wenn die Sonderzeichen nämlich schon falsch im PHP Dokument ankommen, kann str_replace natürlich auch keine ä oder ö usw. finden bzw. ersetzen.

Wie kann ich kontrollieren, dass die Sonderzeichen mit POST richtig übertragen werden??

LG Yoda00

Codierung, PHP

Kann ich gleichzeitig einen Wert ändern und auslesen (SQL)?

Ich möchte eine Tabelle erstellen in die verschiedene Werte eingetragen werden sollen. Darunter gibt es eine Spalte mit dem Namen "ID". Diese ID soll immer eins höher als die zuletzt hinzugefügte ID sein. Da IDs aber auch wieder gelöscht werden können, habe ich mir überlegt dass man ein Eintrag erstellt welcher die ID 0 besitzt

Die Tabelle besitzt noch eine zweite Zeile namens "Content". Wenn man jetzt einen neuen Eintrag macht, soll der Content des Eintrages mit der ID 0 um 1 erhöht werden, außerdem soll der neue Eintrag als ID den neuen wert des Contents bekommen:

Tabelle vorher

ID| Content

0 | 10


Tabelle nacher

ID| Content

0 | 11

11| "Ich mag Kekse"

Da dieser Code auch funktionieren soll, wenn viele Leute gleichzeitig neue Einträge erstellen, kommt das UPDATE von mySQL ganz gelegen:

UPDATE table_name SET content =content+1 WHERE ID=0

Hiermit wird schonmal verhindert, dass wenn zwei Leute gleichzeitig einen Eintrag erstellen, die ID nur um 1 erhöht wird.

Jetzt soll aber gleichzeitig der content bei ID=0 ausgelesen werden. Wenn man die anweisungen nacheinander ausliest kann es sein, dass benutzer 1 den wert bekommt der durch benutzer 2 entstanden ist (wenn sie gleichzeitig einen neuen Eintrag machen). (zumindest wenn man nach dem oben genannten code den Content mit SELECT ausließt.)

Wie kann man also mit MySQL in einer Zeile einen Wert ändern und gleichzeitig auslesen? in diesem Fall soll der Content bei ID=0 um eins erhöht werden und gleichzeitig soll der gleiche Content ausgelesen werden. (Dabei ist es egal ob man den Wert von vor der Addition oder den von danach bekommt, da man ja dann noch +1 rechnen kann :D )

SQL, programmieren, MySQL, PHP

XAMPP Apache startet nicht bzw. bleibt hängen?

Hallo, immer wenn ich irgendein Programm mit (Apache, MySQL...) mit XAMPP starten möchte, bleibt das Control Panel bei Versuche Apache Windows Dienst zu starten... stehen ;( Weiß jemand wie ich das beheben kann?

Das steht im Control Panel:

14:45:31  [main]    Initialisere Control Panel
14:45:31  [main]    Windows Version:  Home  64-bit
14:45:31  [main]    XAMPP Version: 7.0.0
14:45:31  [main]    Control Panel Version: 3.2.2  [ Compiled: Nov 12th 2015 ]
14:45:31  [main]    Mit Administratorrechten gestartet - gut!
14:45:31  [main]    XAMPP Installationsverzeichnis: "c:\xampp\"
14:45:31  [main]    Voraussetzungen werden geprüft
14:45:31  [main]    Alle Voraussetzungen sind erfüllt
14:45:31  [main]    Initialisiere Module
14:45:31  [Apache]  Apache Dienst mit falschem Pfad erkannt
14:45:31  [Apache]  Ändere XAMPP Apache und Control Panel Einstellungen oder
14:45:31  [Apache]  Entferne/Deaktiviere den anderen Windows Dienst vorher
14:45:31  [Apache]  Pfad gefunden: ERROR: Could Not Get Service Config
14:45:31  [Apache]  Erwarteter Pfad: "c:\xampp\apache\bin\httpd.exe" -k runservice
14:45:31  [mysql]   MySQL Dienst mit falschem Pfad erkannt
14:45:31  [mysql]   Ändere XAMPP MySQL und Control Panel Einstellungen oder
14:45:31  [mysql]   Entferne/Deaktiviere den anderen Windows Dienst vorher
14:45:31  [mysql]   Pfad gefunden: ERROR: Could Not Get Service Config
14:45:31  [mysql]   Erwarteter Pfad: c:\xampp\mysql\bin\mysqld.exe --defaults-file=c:\xampp\mysql\bin\my.ini mysql
14:45:31  [filezilla]   FileZilla Dienst mit falschem Pfad erkannt
14:45:31  [filezilla]   Ändere XAMPP FileZilla und Control Panel Einstellungen oder
14:45:31  [filezilla]   Entferne/Deaktiviere den anderen Windows Dienst vorher
14:45:31  [filezilla]   Pfad gefunden: "C:\program files\xampp\filezillaftp\filezillaserver.exe"
14:45:31  [filezilla]   Erwarteter Pfad: "c:\xampp\FileZillaFTP\filezillaserver.exe"
14:45:31  [Tomcat]  Tomcat Dienst mit falschem Pfad erkannt
14:45:31  [Tomcat]  Ändere XAMPP Tomcat und Control Panel Einstellungen oder
14:45:31  [Tomcat]  Entferne/Deaktiviere den anderen Windows Dienst vorher
14:45:31  [Tomcat]  Pfad gefunden: ERROR: Could Not Get Service Config
14:45:31  [Tomcat]  Erwarteter Pfad: c:\xampp\tomcat\bin\tomcat7.exe //RS//Tomcat7
14:45:31  [main]    Starte Check-Timer
14:45:31  [main]    Control Panel bereit
14:45:33  [Apache]  Versuche Apache Windows Dienst zu starten...
14:47:58  [Apache]  Versuche Apache Windows Dienst zu starten...
14:50:08  [mysql]   Versuche MySQL Windows Dienst zu starten...

Danke für jede Hilfe Croghs

HTML, Apache, MySQL, PHP, xampp

Meistgelesene Beiträge zum Thema PHP