Hjälp med att sålla ut text som icke är email format

Permalänk
Medlem

Hjälp med att sålla ut text som icke är email format

Hej!

Har en liten ruta där folk kan skriva in sin email för att "subscriba" kan vi kalla det.

Får in många tomma svar och bara skräp. Vill att det bara ska gå att skriva email i rutan. Och endast en gång per IP/session

Kodar i PHP

Visa signatur

MacBook Pro 15" 2016
-
robin.se

Permalänk
Medlem

Nu kan inte jag PHP, men du har ju frågeställningen klar.

Det du får göra är ju att först kolla så inte strängen är tom, sen köra regex mot strängen för att kolla så det är en e-post, sen logga IP numret eller sessionen.

Borde inte ta många minuter att googla på det.

Hade jag kunnat PHP hade jag hjälpt dig med kod

Visa signatur

...

Permalänk
Medlem

Skulle tro att detta är det enklaste sättet:
http://www.w3schools.com/php/filter_validate_email.asp

Permalänk
Medlem
Skrivet av knuspaflex:

Skulle tro att detta är det enklaste sättet:
http://www.w3schools.com/php/filter_validate_email.asp

Den där var ju bäst. Hade ingen aning om att det fanns inbyggt i standardlibbet.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Tack!

Men jag är inte speciellt bra på PHP. Är väl bara HTML jag FÖRSTÅR.
Kan ni hjälpa mig att knöla in koden?

Visa signatur

MacBook Pro 15" 2016
-
robin.se

Permalänk
Medlem

Om du postar din kod som du har nu där du behandlar formulärdatan så kan jag hjälpa dig med att fixa till din kod :). Skulle kunna förklara hur du skulle gå tillväga men jag tror att det första sättet blir enklare (både för dig och mig) då du inte kan PHP.

Permalänk
Medlem
Skrivet av knuspaflex:

Om du postar din kod som du har nu där du behandlar formulärdatan så kan jag hjälpa dig med att fixa till din kod :). Skulle kunna förklara hur du skulle gå tillväga men jag tror att det första sättet blir enklare (både för dig och mig) då du inte kan PHP.

<?php $connect = mysql_connect("localhost", "root", "******") or die ("Error , check your server connection."); mysql_select_db("database"); $v_email=$_POST['email']; $query="insert into contact(email) values('$v_email')"; mysql_query($query) or die(mysql_error()); echo "TEXT"; ?>

Visa signatur

MacBook Pro 15" 2016
-
robin.se

Permalänk
Medlem
Skrivet av Pakki:

<?php $connect = mysql_connect("localhost", "root", "******") or die ("Error , check your server connection."); mysql_select_db("database"); $v_email=$_POST['email']; $query="insert into contact(email) values('$v_email')"; mysql_query($query) or die(mysql_error()); echo "TEXT"; ?>

Här har du ett förslag på hur du använder dig utav det uttrycket som jag länkade till.

<?php $connect = mysql_connect("localhost", "root", "******") or die ("Error , check your server connection."); mysql_select_db("database"); if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $text = "E-mail is not valid"; } else { $text = "E-mail is valid"; $v_email=$_POST['email']; $query="insert into contact(email) values('$v_email')"; mysql_query($query) or die(mysql_error()); } echo $text; ?>

Permalänk
Medlem
Skrivet av knuspaflex:

Här har du ett förslag på hur du använder dig utav det uttrycket som jag länkade till.

<?php $connect = mysql_connect("localhost", "root", "******") or die ("Error , check your server connection."); mysql_select_db("database"); if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $text = "E-mail is not valid"; } else { $text = "E-mail is valid"; $v_email=$_POST['email']; $query="insert into contact(email) values('$v_email')"; mysql_query($query) or die(mysql_error()); } echo $text; ?>

Funkar kalas! Tack

Visa signatur

MacBook Pro 15" 2016
-
robin.se