Ausgabeproblem bei Messengerabfrage

T

TearOfDragon

Guten Morgen zusammen,

Ich hätte eine kleine Frage zu einem Problem, was mich jetzt schon seit einiger Zeit nervt und ich trotz stundenlanger Suche und ausprobieren nicht lösen kann... Wäre schön, wenn mir jemand dabei evtl helfen könnte, oder mir nen Denkansatz gibt ^^

Folgendes... Ich will in einem Formular eine MSN Nummer überprüfen lassen.... Standartwert ist auf Default gesetzt und wird auch so ausgegeben ohne Probleme....

Feld Defaultwert: Name
Feld: Name wird eingetragen -> Ausgabe klappt und zeigt z.b. beispiel@hotmail.com an
Feld Defaultwert: Name bleibt eingetragen -> Ausgabe wird inaktiv geschaltet klappt auch

Falls jetzt der Fall sein sollte, das ein User z.b. beispiel@hotmail.com direkt eingibt, scheitert meine Ausgabe, sprich bekomme beispiel@hotmail.com@hotmail.com angezeigt... :(

PHP:
 //gescheiterte Ausgabe zu ändernder Teil
if(trim($row_alles['MSN_Messenger']) == "@hotmail.com")  {echo "<a href=\"mailto:".$row_alles['MSN_Messenger']."</a>"."\" >";
}
else
{
//ab hier klappts // wenn Messenger Default Name -> inaktiv
if(trim($row_alles['MSN_Messenger']) == "Name") {echo "<img src=\"smilies/no_msn.gif\" border=\"0\" alt='MSN'>";
}
else
{
//leer -> inaktiv
if (empty($row_alles['MSN_Messenger']))
                {
                    echo "<img src=\"smilies/no_msn.gif\" border=\"0\" alt='MSN'>";
                }
				//ansonsten gebs aus
                else
                {
                    echo "<a href=\"mailto:".$row_alles['MSN_Messenger']."@hotmail.com"."\" target='_new'><img src='smilies/msn.gif' border='0' alt='MSN'></a>";
                }
}
}

Müsste ja theoretisch ja auch über ne Schleife gehen, so wie ich mir das vorstelle, das die Zeichen rückwärts gezählt und abgezogen werden.....bin bloß nicht der Php Profi....
 
Hi,

oben ist alles korrekt. Dein Fehler liegt in der letzte if-Abfrage..

Wenn jemand z.B. beispiel@hotmail.com einträgt, dann tritt der letzte Fall ein. Das Feld ist nicht leer. Deine

Abfrage muss du ein wenig komplizierter gestallten und dein gewünschtes Ziel zu erreichen. Das Problem ist, dass

nicht alle Hotmail benutzen. Du musst gucken, ob in dem String ein @ Zeichen vorhanden ist. Wenn das der Fall ist,

dann gibst du einfach die eingabe aus. Wenn das nicht der Fall ist, dann hängst du ein @hotmail.com dran.

PHP:
<?php
  //Prüft ob ein @ Zeichen vorhanden ist und gibt den Rest zurück
  if(strstr($row_alles['MSN_Messenger'],'@'))
  {
    echo $row_alles['MSN_Messenger'];
  }
  else
  {
    echo $row_alles['MSN_Messanger'] . "@hotmail.com";
  }
?>
 
Huuum, 1000 Dank erstmal für den Tip ;)

Irgendwie hat das aber noch nicht so geklappt, das einzigste was ich dann geschafft hatte, war, das der Eintrag dann doppelt zu sehen war mit 2 unterschiedlichen Angaben oder garnicht, jenachdem ;P War ein bissl irritiert wegen der "letzten Abfrage"?

Habe jetzt aber für meinen Teil aber auch nicht wirklich den Nerv dazu, mich heute nochmal dranzusetzen sondern sage nochmal Bscheid, wie es gelaufen war mit dem Script ;)
 
Zurück