Kezdőoldal » Számítástechnika » Weblapkészítés » Hogy tudom az alábbi kódban...

Hogy tudom az alábbi kódban megvizsgálni az e-mailt ezzel a parancsal: <? php ereg ("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\. [a-zA-Z0-9\-\. ]+$]", $email) ; ? >?

Figyelt kérdés

A másik része:

<?php


if ( !empty($_POST['nev']) and !empty($_POST['felado']) and !empty($_POST['targy']) and !empty($_POST['uzenet']))

{

$to = '....@gmail.com';

$subject = $targy;

$message = $uzenet;

$headers = "From: ". $nev . " <" . $felado . ">\r\n";


mail($to, $subject, $message, $headers);

$kimenet.='Kedves '.$_POST['nev'].' az üzenete sikeresen el lett küldve!';

}


else { $kimenet.='Kérem, hogy töltse ki az összes mezőt!';}


?>


2012. okt. 28. 14:31
 1/8 anonim ***** válasza:

ereg -et nem használjuk már, php5-ben már elavult.. helyette:

preg_match() használata ajánlott...

2012. okt. 28. 14:57
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

de amúgy:


$mail = ; //amelyiket ellenőrizni akarod..pl $felado


if(!$mail OR ($mail == (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$mail)))) {

$kimenet.='Kérem, hogy töltse ki az összes mezőt!';

}

else {

$kimenet.='Kedves '.$_POST['nev'].' az üzenete sikeresen el lett küldve!';

}

2012. okt. 28. 15:03
Hasznos számodra ez a válasz?
 3/8 2xSü ***** válasza:

A reguláris kifejezéssel is gond van. Néhány szabályos email címet nem enged át, míg néhány nem szabályosat igen.

Pl. nem engedi át a gipsz.jakab@valami.hu -t, vagy a gipszjakab+hirlevel@valami.hu -t.

Átengedi viszont a gipszjakab@valami.tulhosszuorszagkod -t.


Én ezt a kis függvényt használom email ellenőrzésre:


function is_email($email){

$x = '\d\w!\#\$%&\'*+\-/=?\^_`{|}~'; //megengedett karakterek az accountnévben

return count($email = explode('@', $email, 3)) == 2

&& strlen($email[0]) < 65 //domain hossza<65

&& strlen($email[1]) < 256 //accountnév hossza<256

&& preg_match("#^[$x]+(\.?([$x]+\.)*[$x]+)?$#", $email[0]) //accountnév ellenőrzés (a végén nem lehet pont)

&& preg_match('#^(([a-z0-9]+-*)?[a-z0-9]+\.)+[a-z]{2,6}.?$#', $email[1]); //domain név ellenőrzés (2-6 karakteres országkód, nem lehet -- sorozat benne)

}


De még ez sem korrekt, köszönhetően az ékezetes domain neveknek.

2012. okt. 28. 15:05
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:
és ezt az utolsót, hogy tudom beletenni az eredeti kódomba?
2012. okt. 28. 15:09
 5/8 2xSü ***** válasza:

Az a gond, hogy nem érted az alapvető programozási elemeket sem. Össze akarsz gányolni valami kódot, mindenféle programozási alapismeret nélkül. Aztán szépen összevágsz két kódot, amiben pl. ugyanaz a ciklusváltozó van egymáson belül, azt csodálkozol, hogy miért nem akarja befejezni a levélküldést. Szegény szerencsétlen áldozatok meg megkapják 2000 példányban a leveledet, ráadásul esetleg hibás karakterkódolással, mert ez nincs tisztázva a levélen belül…


Tudod mekkora kockázatot jelent egy POST paraméterként megadható címzett? Remekül ki tudnám használni, hogy valakinek a levelezőrendszerébe generáljak pár tízezer levelet, csak a megfelelő HTTP kérést kell ismételgetnem…


Szóval bocs, de én személy szerint nem fogok segíteni egy kód összebarkácsolásában, amíg egy feltételes elágazással nem bírsz megbirkózni.

2012. okt. 28. 15:55
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:

ez nem egy működő oldal lesz, csak tanulok. éppen ezért kellene a segítség, hogy lássam, hogy hogy néz ki egy ilyen. nem fog senki sem több ezer levelet kapni, mert ez csak egy próba. szóval légy szíves írd le :)


egy php mail-t akarok egy e-mail ellenőrzéssel összekötni. semmi extra :)

2012. okt. 28. 16:15
 7/8 2xSü ***** válasza:

Jó, legyen: [link]


De nehogy használd ezt a kódot élesben! Fel ne töltsd a netre! Oké, lokális gépen kísérletezéshez, tanulásra jó, de számtalan probléma van vele.


Pl. a tárgy vagy a név megfelelő preparálásával egészen másra lehet rávenni a rendszert, mint amit el szeretnél érni. Pl. hozzáadni címzetteket, megváltoztatni a feladót, stb…


Nem elég azt ellenőrizni, hogy egy formból érkező adat ki van-e töltve, hanem ellenőrizni kell azt is, hogy a megfelelő formátumban van-e. Pl. a tárgyban vagy a névben nincs-e sortörés. Vagy a név nem egy üres szóköz-e, stb…

2012. okt. 28. 20:55
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:
köszönöm a segítséget. működik.
2012. okt. 29. 13:09

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!