Neues Profilfeld mit functions_validate.php überprüfen?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
baerenwurm
Mitglied
Beiträge: 285
Registriert: 06.11.2002 16:29
Kontaktdaten:

Neues Profilfeld mit functions_validate.php überprüfen?

Beitrag von baerenwurm »

Hi.

Hab eben ein neues - dem Website-Feld sehr ähnliches - (URL-)Profilfeld eingefügt.

Hab den "website"- und "www"-Code kopiert und die Variablen umbenannt.

Gleichwohl ich Folgendes in der functions_validate.php kopiert hab ("website" wurde umbenannt)

Code: Alles auswählen

	// website has to start with http://, followed by something with length at least 3 that
	// contains at least one dot.
	if ($website != "")
	{
		if (!preg_match('#^http[s]?:\/\/#i', $website))
		{
			$website = 'http://' . $website;
		}

		if (!preg_match('#^http[s]?\\:\\/\\/[a-z0-9\-]+\.([a-z0-9\-]+\.)?[a-z]+#i', $website))
		{
			$website = '';
		}
	}
funktioniert das mit der URL-Umwandlung nicht, d.h. angenommen man gibt im Profil in dem neuen Feld eine URL ohne "http://" ein (z. B. www.test.de), wird folgendes ausgegeben: "http://www.meinforum.de/www.test.de" :/
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Frage: Muss es unbedingt preg_match sein?

Mach mal aus

Code: Alles auswählen

      if (!preg_match('#^http[s]?:\/\/#i', $website))
      {
         $website = 'http://' . $website;
      }
dies hier

Code: Alles auswählen

      if (strpos($website, 'http') !== 0)
      {
         $website = 'http://' . $website;
      }
und schau was raus kommt. Wenn es immer noch falsch ist. Schau mal per message_die welchen Wert $website vor dem ersten if überhaupt hat. Vielleichst suchst Du den Fehler ja auch an der falschen Stelle.

Grüße,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Antworten

Zurück zu „Coding & Technik“