Überprüfung mit wahlweiser Ausgabe
KD-one
- php
Hallo alle,
Ich bin grad dabei, mein Gästebuch ein wenig zu verbessern und habe mir zur URL-Überprüfung folgendes zusammengeschustert.
Könntet Ihr mal drüberschauen, ob man das vereinfachen kann?
Insbesondere in Bezug auf stripos bin ich mir absolut nicht sicher, ob ich für diesen Zweck die beste Funktion gewählt habe.
if (empty($email))
{
$mailto ="---";
}
else
{
$mailto = "<a href="mailto:$email">$email</a>";
}
//bei leerem String soll "---" ausgegeben werden, ansonst eine anklickbare E-Mailadresse.
$find = "http://";
$protocol = stripos($url, $find);
//Hier soll geprüft werden, ob die URL mit "http://" oder ohne angegeben wurde
if (($protocol !== false) && ($url != "http://www.ihre-homepage.at"))
{
$homepage = "<a href="".$url."">".$url."</a>";
}
//Ausgabe, wenn "http://" angegeben(www.ihre-homepage.at ist eine Vorbelegung des Eingabefeldes!),
elseif (($protocol === false) && ($url != "www.ihre-homepage.at"))
{
$homepage = "<a href="http://".$url."">http://".$url."</a>";
}
//Ausgabe, wenn "http://" nicht angegeben.
elseif (empty($url) || ($url == "www.ihre-homepage.at") || ($url == "http://www.ihre-homepage.at"))
{
$homepage = "---";
}
//Ausgabe, wenn keine URL angegeben wurde.
Gruß
Kurt
Hallo,
programmiers gleich nochmal neu. Und ohne Vorbelegung des Homepagefeldes!
Grüße
Christoph
Hallo Christoph,
programmiers gleich nochmal neu. Und ohne Vorbelegung des Homepagefeldes!
Das ist natürlich eine äusserst hilfreiche Antwort, als Newbie in Sachen PHP weiß ich nun natürlich glatt, was ich besser machen könnte und was ich richtig/falsch gemacht habe.
Gruß
Kurt
Mahlzeit,
Das ist natürlich eine äusserst hilfreiche Antwort, als Newbie in Sachen PHP weiß ich nun natürlich glatt, was ich besser machen könnte und was ich richtig/falsch gemacht habe.
jo ok du hast ja Recht.
ich würde es anders machen:
if(substr($row['hp'], 0, 7) == "http://")
echo("<a href="".$row['hp'].""...
else
echo("<a href="http://".$row['hp'].""
mit stripos kenn ich mich nicht so gut aus. Noch nie benutzt, von daher kann ich wenig dazu sagen.
Grüße
Christoph
Hallo Christoph,
ich würde es anders machen:
if(substr($row['hp'], 0, 7) == "http://")
echo("<a href="".$row['hp'].""...
else
echo("<a href="http://".$row['hp'].""
Ja, das wäre eine Möglichkeit, die ich nicht bedacht habe.
Die ersten sieben Zeichen müssten ja bei korrekter Eingabe obiges ergeben, wobei in weiterer Folge auch noch auf fehlerhafte Eingabe(http:/, htpp: oder ähnliches) geprüft werden sollte, aber das hebe ich mir für später auf. :-)
Wobei die Extraktion des Domainamens und der Suffix ja auch machbar sein müsste...
Fehlt hierbei nur noch die Abfrage, ob überhaupt eine Eingabe erfolgt ist.
Ist das dann so sinnvoll?
if (!empty($url)
{
deinscriptentwurf
}
else
{
echo "---";
}
Gruß
Kurt
Hi,
Ist das dann so sinnvoll?
if (!empty($url)
{
deinscriptentwurf
}
else
{
echo "---";
}
hm ja, warum nicht.
Hallo Christoph,
Dank deiner Hilfe schaut es nun so aus und funktioniert:
if (!empty($email)) {
$mailto = "<a href="mailto:$email">$email</a>";
}
else {
$mailto ="---";
}
if (!empty($url)) {
if(substr($url, 0, 7) == "http://") {
$homepage = "<a href="$url">$url</a>";
}
else {
$homepage = "<a href="http://$url">$url</a>";
}
}
else {
$homepage = "---";
}
Danke dir!
Gruß
Kurt