Pb sur formulaire PHP
Fermé
Dicab
Messages postés
173
Date d'inscription
lundi 25 août 2008
Statut
Membre
Dernière intervention
22 novembre 2024
-
24 avril 2009 à 23:17
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 - 25 avril 2009 à 10:33
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 - 25 avril 2009 à 10:33
A voir également:
- Pb sur formulaire PHP
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Formulaire de reclamation instagram - Guide
- Le formulaire rempli - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
4 réponses
Smoking bird
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
58
25 avril 2009 à 03:55
25 avril 2009 à 03:55
sors nous les 20 lignes qui précèdent la ligne 78, l'erreur doit se situer par là (technique de debug standard^^ très efficace)
Ensuite, te sers tu des commentaires? Ils sont aussi très efficaces en debug, il te permette de localiser par désactivation de lignes de code ce qui cloche.
Ensuite, te sers tu des commentaires? Ils sont aussi très efficaces en debug, il te permette de localiser par désactivation de lignes de code ce qui cloche.
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 330
25 avril 2009 à 09:54
25 avril 2009 à 09:54
I'a plein de trucs qui vont pas.
D'abord je te corrige le début (il manque des quotes) :
Ensuite,
la variable $scan n'est assignée nulle part. SI tu l'utilises malgré tout, elle contient NULL. Et tu peux essayer d'ouvrir NULL comme tu veux, .... ce sera une ressource invalide de toute manière.
Les variables $PSEUDO, $CODE, $MESSAGE, $EMAIL ne sont initialisées nulle part .sSlon la configuration de PHP, $PSEUDO ne vaut pas forcément $_POST['PSEUDO'], tu dois faire une affectation toi-même en faisant les vérifications nécessaires (surtout si tu envoies ça par mail après, il faut au moins : échapper les caractères spéciaux, vérifier que l'e-mail est un e-mail, éventuellement vérifier que la longueur n'est pas trop grande).
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete,$mail_pj))
Là-dedans il y a une erreur de syntaxe, je te laisse trouver ou elle est.
Ensuite un problème de fond : tu ne vérifies pas que les deux e-mails sont les mêmes !
Tu vérififies uniquement que la seconde adresse n'est pas vide, ce n'est pas suffisant !
D'abord je te corrige le début (il manque des quotes) :
<?php $msg_erreur = "Votre messagen'a pas pu être envoyé pour les raisons suivantes :<br/><br/>"; $msg_ok = "Votre message a bien été envoyé."; $message = $msg_erreur; define('MAIL_DESTINATAIRE','*****@biuzone.fr'); define('MAIL_SUJET','Formulaire de contact');
Ensuite,
la variable $scan n'est assignée nulle part. SI tu l'utilises malgré tout, elle contient NULL. Et tu peux essayer d'ouvrir NULL comme tu veux, .... ce sera une ressource invalide de toute manière.
Les variables $PSEUDO, $CODE, $MESSAGE, $EMAIL ne sont initialisées nulle part .sSlon la configuration de PHP, $PSEUDO ne vaut pas forcément $_POST['PSEUDO'], tu dois faire une affectation toi-même en faisant les vérifications nécessaires (surtout si tu envoies ça par mail après, il faut au moins : échapper les caractères spéciaux, vérifier que l'e-mail est un e-mail, éventuellement vérifier que la longueur n'est pas trop grande).
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete,$mail_pj))
Là-dedans il y a une erreur de syntaxe, je te laisse trouver ou elle est.
Ensuite un problème de fond : tu ne vérifies pas que les deux e-mails sont les mêmes !
Tu vérififies uniquement que la seconde adresse n'est pas vide, ce n'est pas suffisant !
Dicab
Messages postés
173
Date d'inscription
lundi 25 août 2008
Statut
Membre
Dernière intervention
22 novembre 2024
2
25 avril 2009 à 10:24
25 avril 2009 à 10:24
Merci Yoan pour ces éléments de réponse...
Déjà, pour la vérification de l'email, elle se fait auparavant, sur la page HTML, au moyen d'une comparaison de champ (cette ligne sur la page de traitement ne sers donc en fait à rien, je suis en train de comprendre lol)
Pour ce qui est de la variable $scan, c'est le champ "Parcourir" du formulaire HTML qui se nomme ainsi.. N'est-ce pas suffisant ?
Et pour l'erreur de syntaxe qui se cache dans if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete,$mail_pj))
Hé ben.... c'est une des lignes que je croyais vraiment juste :-( je trouve pas où est l'erreur...
Arf
Déjà, pour la vérification de l'email, elle se fait auparavant, sur la page HTML, au moyen d'une comparaison de champ (cette ligne sur la page de traitement ne sers donc en fait à rien, je suis en train de comprendre lol)
Pour ce qui est de la variable $scan, c'est le champ "Parcourir" du formulaire HTML qui se nomme ainsi.. N'est-ce pas suffisant ?
Et pour l'erreur de syntaxe qui se cache dans if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete,$mail_pj))
Hé ben.... c'est une des lignes que je croyais vraiment juste :-( je trouve pas où est l'erreur...
Arf
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 330
25 avril 2009 à 10:33
25 avril 2009 à 10:33
Déjà, pour la vérification de l'email, elle se fait auparavant, sur la page HTML, au moyen d'une comparaison de champ
C'est pas suffisant ! On ne fait jamais confiance à ce qui se passe côté client, vérifie également les données côté serveur.
Pour ce qui est de la variable $scan, c'est le champ "Parcourir" du formulaire HTML qui se nomme ainsi.. N'est-ce pas suffisant ?
Je ne sais pas trop comment fonctionne l'envoi de fichiers. Toujours est-il que ta variable $scan n'existe pas. Ca doit être $_FILES['scan'].
Hé ben.... c'est une des lignes que je croyais vraiment juste :-( je trouve pas où est l'erreur...
Non en fait c'est bon, j'avais pas fais gaffe que ce n'étaient pas des variables, autant pour moi.
C'est pas suffisant ! On ne fait jamais confiance à ce qui se passe côté client, vérifie également les données côté serveur.
Pour ce qui est de la variable $scan, c'est le champ "Parcourir" du formulaire HTML qui se nomme ainsi.. N'est-ce pas suffisant ?
Je ne sais pas trop comment fonctionne l'envoi de fichiers. Toujours est-il que ta variable $scan n'existe pas. Ca doit être $_FILES['scan'].
Hé ben.... c'est une des lignes que je croyais vraiment juste :-( je trouve pas où est l'erreur...
Non en fait c'est bon, j'avais pas fais gaffe que ce n'étaient pas des variables, autant pour moi.