Avatar billede boselbach Nybegynder
17. december 2004 - 13:47 Der er 4 kommentarer og
1 løsning

Se om mail eksistere eller om det inde holder @

Hej, jeg er ved at lave en gæstebog, jeg er bare støt på et mindre problem, jeg har lavet det sådan at man kan trykke på det navn der har skrevet en besked så kan man sende en mail til man med mailto:

men det jeg gerne ville have er at php ser om der er nogen mail og hvis der er så se om den inde holder et @ for hvis den ikke gør skal den ikke lavet et link ud af det navn som har skrevet beskedn... her er den kode som ikke virker.


<?
include('PHP/connect.php');
$result = mysql_query("SELECT * from guest order by id DESC");
while ($row = mysql_fetch_array($result))
{
?>
<center>
<table style="border: 1px solid #FFFFFF" width="450" cellspacing="3" cellpadding="0" bgcolor="#336699">
    <tr>
        <td align="center" bgcolor="#666666"><font><?= $row["Dato"] ?></font></td>
    </tr>
    <tr>
        <td><font><?=$row["Kommentar"] ?></font></td>
    </tr>
<?
$email = $row["Email"];
$navn = $row["Navn"]
if (strlen($email) <= 0 OR strrpos($email, "@") === FALSE) {
    $navn = $navn;
} else {
    $navn = "<a href=\"mailto:<?= $row["Email"] ?>\"><?= $row["Navn"] ?>";
}
?>
    <tr>
        <td align="center" bgcolor="#666666"><font>Skrevet af:<b>$navn<b></font></td>
    </tr>
</table>
</center>
<?
echo "<br>";
}
?>

Jeg håber der er en der kan hjælpe

med venlig hilsen
Bo
Avatar billede yellow Nybegynder
17. december 2004 - 14:04 #1
$email = $row["Email"];
$navn = $row["Navn"]
if( strpos($email,"@") ){
    $navn = "<a href='mailto:$email'>$navn</a>";
}
Avatar billede boselbach Nybegynder
17. december 2004 - 14:16 #2
tak for hjælpen,
yellow du får ponitne, men inden jeg lukker spørgsmålet kan du så ikke hjælpe mig med hvordan man så kan se om der er skrevet .dk eller lign.. efter @ og om der står noget før @

Med venlig hilsen
Bo
Avatar billede boselbach Nybegynder
17. december 2004 - 14:36 #3
Du kan jo lige få pointne..
Avatar billede yellow Nybegynder
17. december 2004 - 14:38 #4
Du skal nok have fat i en regular expression hvis du vil validere emailen yderligere.

f.eks:
$email = $row["Email"];
$navn = $row["Navn"]
if( preg_match('/^[a-z0-9æøå&\'\.\-_\+]+@[a-z0-9æøå\-]+\.([a-z0-9æøå\-]+\.)*?[a-zæøå]{2,}$/is', $email) ){
    $navn = "<a href='mailto:$email'>$navn</a>";
}

Jeg kan ikke huske alle email "reglerne" lige på stående fod, men det er noget ala ovenstående du evt. kan bruge.
Avatar billede boselbach Nybegynder
17. december 2004 - 14:45 #5
ok tak for..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester