Filter_var()
Fermé
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
-
21 janv. 2012 à 12:26
Mickael86480 Messages postés 660 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 - 8 févr. 2012 à 01:04
Mickael86480 Messages postés 660 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 - 8 févr. 2012 à 01:04
8 réponses
Anoen
Messages postés
196
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
11 septembre 2013
25
21 janv. 2012 à 23:39
21 janv. 2012 à 23:39
Cette fonction est récente, utilises-tu la bonne version de PHP ? (PHP 5.2 ou supérieur)
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
22 janv. 2012 à 11:54
22 janv. 2012 à 11:54
Comment puis-je savoir car j'utilise ce que j'ai appris quand j'étais en cours :)
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
22 janv. 2012 à 12:02
22 janv. 2012 à 12:02
j'ai utilisé phpinfo() pour connaitre ma version et il m'indique que je suis en version 1 donc comment puis-je faire pour passer à une version qui accepte cette fonction stp?
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
23 janv. 2012 à 10:36
23 janv. 2012 à 10:36
Bonjour,
Tu utilises Wamp ? Si c'est le cas, retélécharge-le. Il sera à jour.
Tu utilises Wamp ? Si c'est le cas, retélécharge-le. Il sera à jour.
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
23 janv. 2012 à 11:35
23 janv. 2012 à 11:35
J'utilise Wamp5, ce n'est pas suffisant? De plus, je ne sais pas si sa à une importance mais mon site est déjà en ligne, donc je n'utilise plus Wamp
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
23 janv. 2012 à 12:04
23 janv. 2012 à 12:04
Wamp5 suffit normalement...
Et s'il est en ligne, je suppose que c'est un problème avec la version de php de ton serveur. où es-tu hébergé ?
Et s'il est en ligne, je suppose que c'est un problème avec la version de php de ton serveur. où es-tu hébergé ?
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
23 janv. 2012 à 12:09
23 janv. 2012 à 12:09
chez free
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
23 janv. 2012 à 12:14
23 janv. 2012 à 12:14
Alors il faut les contacter. C'est leur version de php qui n'est pas à jour.
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
23 janv. 2012 à 12:17
23 janv. 2012 à 12:17
Ok sinon existe-t-il une fonction similaire qui passerai avec ma version?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
23 janv. 2012 à 12:29
23 janv. 2012 à 12:29
Vu ici https://bytes.com/topic/php/answers/645723-function-similar-filter_var-php4-3-a qu'il faut tester ceci : parse_url
Ou une variante de la fonction vue ici https://stackoverflow.com/questions/1544214/filter-var-versus-preg-match : preg_match
Ou une variante de la fonction vue ici https://stackoverflow.com/questions/1544214/filter-var-versus-preg-match : preg_match
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
23 janv. 2012 à 12:32
23 janv. 2012 à 12:32
Ok merci, je teste et je post le résultat, bon ou mauvais
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
23 janv. 2012 à 14:19
23 janv. 2012 à 14:19
j'ai testé parse_url mais je ne pense pas que cela me corresponde car elle cherche une chaine de caractère dans une url (sauf erreur de ma part) ensuite preg_match pourrait correspondre mais je n'arrive pas à m'en servir (j'ai cherché sur internet mais rien y fait)
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
23 janv. 2012 à 14:26
23 janv. 2012 à 14:26
Même avec les exemples officiels ?
https://www.php.net/manual/fr/function.preg-match.php
https://www.php.net/manual/fr/function.preg-match.php
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
23 janv. 2012 à 14:28
23 janv. 2012 à 14:28
C'est sur ce site que je suis, voici ce que j'ai écrit et le résultat :
$mail = preg_match('hotmail.fr', $_POST['mail']);
echo'mail:'.$mail.'';
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in /mnt/104/sdb/b/4/mickael.bernaudeau/identification.php on line 37
mail:
$mail = preg_match('hotmail.fr', $_POST['mail']);
echo'mail:'.$mail.'';
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in /mnt/104/sdb/b/4/mickael.bernaudeau/identification.php on line 37
mail:
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
Modifié par AssassinTourist le 23/01/2012 à 14:38
Modifié par AssassinTourist le 23/01/2012 à 14:38
Et ceci ?
$mail = preg_match("/hotmail.fr/", $_POST['mail']);
echo "mail : ".$mail;
$mail = preg_match("/hotmail.fr/", $_POST['mail']);
echo "mail : ".$mail;
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
6 févr. 2012 à 23:28
6 févr. 2012 à 23:28
Donc après vérification le mail est bien envoyé, mais j'aimerai afficher un lien qui renvoie directement sur mon site (pour activer son compte). Seulement voila quand j'ouvre le mail je vois le code HTML au lieu d'un simple lien. Voici se que j'ai fais :
merci de vos lumières.
$message = ' <html> <head> </head> <body> <a href="mickael.bernaudeau.free.fr">Je confirme mon inscription</a> </body> </html> '; mail($_POST['mail'], 'Confirmation d\'inscription', $message);
merci de vos lumières.
Utilisateur anonyme
7 févr. 2012 à 00:13
7 févr. 2012 à 00:13
oui c'est tout à fait normal, contenu du mail n'est que du texte et ne sera pas donc affiché comme un élément html.
Mais si j'ai bon souvenir, je crois qu'on met une page html contenant le code html que tu veux voir s'afficher en pièce jointe du mail à envoyer. La page html sera affichée comme message lors de la réception du mail et non comme pièce jointe.
Mais si j'ai bon souvenir, je crois qu'on met une page html contenant le code html que tu veux voir s'afficher en pièce jointe du mail à envoyer. La page html sera affichée comme message lors de la réception du mail et non comme pièce jointe.
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
7 févr. 2012 à 00:27
7 févr. 2012 à 00:27
ok donc si je comprends bien, je dois envoyer joint au mail une page html? Ou je me trompe?
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
7 févr. 2012 à 00:38
7 févr. 2012 à 00:38
ok comment puis-je faire pour joindre un fichier (dans le code), j'utilise toujours mail()?
ça c'est le plus dur, c'est tout un protocole. Fait des recherches tu trouveras des bons tutos là dessus . Oui c'est toujours avec la fonction mail(), mais là on séparer le corps et la pièce jointe par une frontière. C'est vraiment pas évident donc il faut prendre du temps de lire un bon tuto avant de s'y lancer. Mais si tu as la moindre question n'hésite pas.
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
7 févr. 2012 à 00:56
7 févr. 2012 à 00:56
Utilisateur anonyme
Modifié par eone2 le 7/02/2012 à 21:20
Modifié par eone2 le 7/02/2012 à 21:20
Tu n'y comprends rien parce que c'est du copier coller ton code. On va va pas faire le travail à ta place, il faut chercher et faire plusieurs test pour arriver au résultat souhaité.
il faut deja au depart definir la frontiere par
$file = "confirmer_compte.html";
$fp = fopen($file, "rb"); // b c'est pour les windowsiens
$attachment = fread($fp, filesize($file));
fclose($fp);
tu peux remplacer ça par:
$attachment=file_get_contents('ton_fichier htmll');
pas besoin d'encodage
tu peux aussi mettre les entetes
il faut deja au depart definir la frontiere par
$boundary=md5(uniqid(rand()));
$file = "confirmer_compte.html";
$fp = fopen($file, "rb"); // b c'est pour les windowsiens
$attachment = fread($fp, filesize($file));
fclose($fp);
tu peux remplacer ça par:
$attachment=file_get_contents('ton_fichier htmll');
pas besoin d'encodage
tu peux aussi mettre les entetes
$entete = "From: adresse@domaine.com \r\n"; $.= "MIME-Version: 1.0\r\n"; $entete .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n\n"; //corps $msg ="--". $boundary ."\n"; $msg .="Content-Type: text/html; name=\"nom.html\"\r\n"; $msg.= "Content-Disposition: inline; filename=\"nom_fichier.html\"\r\n\n $attachment"; //envoi mail('adresse_destinataire','sujet',$msg,$entete);
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
8 févr. 2012 à 01:02
8 févr. 2012 à 01:02
Ok merci donc voici ce que j'ai fais :
seulement il me signale qu'il s'agit d'un spam donc le mail n'a pas été envoyé.
$boundary=md5(uniqid(rand())); $attachment=file_get_contents('confirmer_compte.html'); $attachment = chunk_split(base64_encode($attachment)); $msg .= "--$boundary--\r\n"; $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n"; $msg .= "\r\n"; $msg .= $attachment . "\r\n"; $msg .= "\r\n\r\n"; $msg .= "--$boundary--\r\n"; $entete = "From: bernaudeau.mickael.free.fr \r\n"; $entete .= "MIME-Version: 1.0\r\n"; $entete .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n\n"; //corps $msg ="--". $boundary ."\n"; $msg .="Content-Type: text/html; name=\"confirmer_compte.html\"\r\n"; $msg.= "Content-Disposition: inline; filename=\"confirmer_compte.html\"\r\n\n $attachment"; //envoi mail(''.$_POST['mail'].'','test',$msg,$entete);
seulement il me signale qu'il s'agit d'un spam donc le mail n'a pas été envoyé.
Mickael86480
Messages postés
660
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
11 mars 2021
35
8 févr. 2012 à 01:04
8 févr. 2012 à 01:04
je viens de voir que cette fonction serai bloquée chez certains hébergeurs pour éviter cela. Comme chez free je suppose. Donc y a-t-il une fonction similaire autorisée?