Probleme mit Codes

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Ashero
Mitglied
Beiträge: 4
Registriert: 07.06.2012 14:20

Probleme mit Codes

Beitrag von Ashero »

Hey Leute und zwar kann ich mich nicht auf meiner eigenen Homepage registrieren. Dort wird mir immer dieser Fehlercode angezeigt:

Code: Alles auswählen

Warning: preg_replace() [function.preg-replace]: No ending delimiter '+' found in C:\xampp\htdocs\register.php on line 45

Warning: preg_replace() [function.preg-replace]: No ending delimiter '+' found in C:\xampp\htdocs\register.php on line 46

Warning: preg_replace() [function.preg-replace]: No ending delimiter '+' found in C:\xampp\htdocs\register.php on line 47

Notice: Undefined variable: error in C:\xampp\htdocs\register.php on line 49
So sieht es aus in der register.php (das sind die drei Zeilen..

Code: Alles auswählen

} else if (isset($_POST['register'])) {
	$username = stripinput(trim(preg_replace("+/", "+", $_POST['username'])));
	$email = stripinput(trim(preg_replace("+/", "+", $_POST['email'])));
	$password1 = stripinput(trim(preg_replace("+/", "+", $_POST['password1'])));
Hier ist Zeile 49:

Code: Alles auswählen

	if (!preg_match("/^[-0-9A-Z_@\s]+$/i", $username)) $error .= $locale['403']."<br>\n";
Zuletzt geändert von Ashero am 07.06.2012 14:27, insgesamt 1-mal geändert.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Probleme mit Codes

Beitrag von BNa »

Sicher, das das mit phpbb3 zu tun hat?

Code: Alles auswählen

} else if (isset($_POST['register'])) {
   $username = stripinput(trim(preg_replace("+/", "+", $_POST['username'])));
   $email = stripinput(trim(preg_replace("+/", "+", $_POST['email'])));
   $password1 = stripinput(trim(preg_replace("+/", "+", $_POST['password1'])));
Ashero
Mitglied
Beiträge: 4
Registriert: 07.06.2012 14:20

Re: Probleme mit Codes

Beitrag von Ashero »

Schätze ja.. Bin nicht unbedingt der Beste auf diesem Gebiet. Wenn nicht -> Sorry. Aber wäre trotzdem echt gut wenn ich das Problem beseitigt bekomme..
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Probleme mit Codes

Beitrag von BNa »

Schätze ja..
Die Codezeilen aus deinem obigem Post auf jeden Fall nicht, da es keine register.php im foren root gibt.
Poste doch mal die ganze Datei ins Pastebin https://www.phpbb.de/support/pastebin.php
Ashero
Mitglied
Beiträge: 4
Registriert: 07.06.2012 14:20

Re: Probleme mit Codes

Beitrag von Ashero »

Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Probleme mit Codes

Beitrag von BNa »

PHP-Fusion 6 Content Management System :-?

Also erstmal ist es ziemlich chaotisch programmiert. Hier fehlt tatsächlich der Delimiter.

Finde

Code: Alles auswählen

} else if (isset($_POST['register'])) {
   $username = stripinput(trim(preg_replace("+/", "+", $_POST['username'])));
   $email = stripinput(trim(preg_replace("+/", "+", $_POST['email'])));
   $password1 = stripinput(trim(preg_replace("+/", "+", $_POST['password1']))); 
Ersetze testweise mit

Code: Alles auswählen

} else if (isset($_POST['register'])) {
   $username = stripinput(trim(preg_replace("#\+#", "+", $_POST['username'])));
   $email = stripinput(trim(preg_replace("#\+#", "+", $_POST['email'])));
   $password1 = stripinput(trim(preg_replace("#\+#", "+", $_POST['password1']))); 
Wobei ich mich nach dem Sinn frage + mit + zu ersetzen, aber sei es drum

Noch sowas

Code: Alles auswählen

if (!preg_match("/^[-0-9A-Z_@\s]+$/i", $username)) $error .= $locale['403']."<br>\n"; 
Ersetze mit

Code: Alles auswählen

if (!isset($error))
{
$error = '';
} 
if (!preg_match("/^[-0-9A-Z_@\s]+$/i", $username)) $error .= $locale['403']."<br>\n"; 
Ashero
Mitglied
Beiträge: 4
Registriert: 07.06.2012 14:20

Re: Probleme mit Codes

Beitrag von Ashero »

Vielen Dank.. Aber die Registrierung funktioniert komischerweise immernoch nicht. Nun kommt dieser Fehler wenn ich mich registrieren möchte..

http://www.pic-upload.de/view-14554655/ ... 2.png.html

Mit freundlichen Grüßen
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Probleme mit Codes

Beitrag von BNa »

Ja klar, weil eregi() deprecated ist (soll heissen, wird nicht mehr benutzt in aktuellen PHP Versionen). Ist also eine alte Funktion auf dem Abstellgleis. Das Script scheint demnach veraltet. Besorg Dir besser eine aktuelle Version, schonmal wegen der Sicherheit. Das zu fixen ist bezahlte Arbeit, die Zeit kostet. Lohnt sich nicht. Ausser, das ist nun sowas von genial und nicht mehr zu kriegen, dann eventuell schon.
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“