IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Formulaires ne fonctionnent plus


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut Formulaires ne fonctionnent plus
    Mes deux formulaires ne fonctionnent plus depuis peu... (et peut-être du au changement de page xhtml en html5 ? )
    A)
    Sur Formulaire .php
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     <!--DEBUT CODE FORMULAIRE-->
    <form method="post" action="NadForm.php" class="cadre650-3">	
    <fieldset>
     
    	<legend>Formulaire à remplir</legend>
    	<input type="radio" name="champ1" value="M." />M.
    	<input type="radio" name="champ1" value="Me" />M<span class="exposant">me</span>	
     
    <br />
    Nom :<input type="text" name="champ2" size="35" />
    <br />
    Prénom :<input type="text" name="champ3" size="32" />
    <br />
    Courriel :<input type="text" name="champ4" size="32" />
    <br />
    Tél. :<input type="text" name="champ5" size="17" />
     
    Adresse :<textarea rows="5" name="champ6" cols="34"></textarea>
    <br />
    Je souhaite d'autres informations :
    <textarea rows="6" name="champ7" cols="70"></textarea>
    <br />
    <input type="submit"  value="Valider la saisie" name="Envoyer" />
    <input type="reset"  value="Effacer" name="Effacer" />
    </fieldset>
    </form>

    Est-ce du fait qu'il provient :
    indexTest.php

    B)
    l'autre sur cette même dernière page
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    if ($statut== "ok") {
    include("$_SERVER[DOCUMENT_ROOT]/invite12.php");}
    ?>
     
    <p class="piedp">Conseillez ce site &agrave; un ami :</p>
     
    <form action="invite12.php" method="post" class="piedp">
    		Votre NOM : <input type="text" name="nom" /><br />
          Votre adresse courriel : <input type="text" name="VotreEmail" /><br />
     		L'adresse courriel du destinataire <input type="text" name="SonEmail" />
    <div class="piedp">
    	<input type="hidden" name="statut" value="ok" />
    	<input type="submit" name="invite12" />
    	<br /><br /><br /><br />
    </div>
     
    </form>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php  
    # Commentaire général : les () sont inutiles pour les echo, comme les ; à la fin des conditions if() else().
    $Envoi = 1;
    if ((trim($nom) == "") and ($statut== "ok")) {echo  "Vous n&acute;avez pas mis votre NOM.<br />";$Envoi = 0;}
    if ((trim($VotreEmail) == "") and ($statut== "ok")) {echo  "Vous n&acute;avez pas mis les coordonnées pour vous joindre.<br />";$Envoi = 0;}
    if ((trim($SonEmail) == "")  and ($statut== "ok")) {echo  "Vous n&acute;avez pas mis les coordonnées de votre ami.<br />";$Envoi = 0;}
     
    if ( preg_match("/@/", $VotreEmail) && $Envoi != 0) { // eregi() est obsolète maintenant, se tourner vers les fonctions PCRE ( preg_*() )
        $VotreEmail = trim($VotreEmail); // pas de == pour l'affectation de valeur
        }
    else {
        echo "Vous n&acute;avez pas mis correctement votre adresse courriel.<br />";
        $Envoi = 0;
    	}
     
     
    if ( preg_match("/@/", $SonEmail) && $Envoi != 0){
        $SonEmail = trim($SonEmail);
    	}
    else {
        echo "Vous n&acute;avez pas mis correctement l&acute;adresse courriel de votre correspondant.<br />";
        $Envoi = 0;
    	}
     
    if ($Envoi == 1) {
        echo  "
     $nom a envoy&eacute; l&acute;invitation &agrave; $SonEmail."; 
       $entetedate  = date( "d-m-Y H:i:s");  // Offset horaire 
       $entetemail  =  "From: Mon_adresse@free.fr \n";  // Adresse expéditeur ($from_email remplacé par un autre) 
       $entetemail .=  "Cc:$VotreEmail \n"; 
       $entetemail .=  "Bcc:Monr@free.fr \n";  // Copies cachées si vous le désirez  
       $entetemail .=  "Reply-To: $VotreEmail \n";  // Adresse de retour 
       $entetemail .=  "X-Mailer: PHP/" . phpversion() .  "\n" ;
       $entetemail .=  "Date: $entetedate";
       mail(
         "$SonEmail",
         "Texte.",
         "$nom t'invite a te rendre sur le site ...
    		 http:...,
        $entetemail); 
     	}
     ?>
    <br /><br /><br /><br /><br /><br />
    </p>
    Que se passe t-il ?
    D'avance merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par isaric Voir le message
    Mes deux formulaires ne fonctionnent plus depuis peu...
    • "ne fonctionnent plus" : merci d'être plus PRÉCIS.
    • "depuis peu" : quels changements sont intervenus ? version de PHP ? (PHP 5->7) Autre(s) ?

    J'ai testé le formulaire sur le site : apparemment, il fonctionne...
    Donc, où est le problème ?

    Cela dit :
    • il faut enlever le bouton "Effacer" (totalement inutile, sans intérêt et très mal placé)
    • certes, c'est bien de vérifier son message avant de l'envoyer, mais c'est totalement dépassé, et pas ergonomique -> il faut l'envoyer directement (on gagne "un clic") !



  3. #3
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut
    Merci jreaux62 pour tes réponses.

    On peut-lire que Free.fr est passé de Php 5.6 à Php 7.3 apparemment ?
    Les formulaires semblent marcher en apparence, mais je ne reçois plus rien par émail (je n'ai pas vu ton test arriver par exemple)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Pour connaitre ta version de PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo phpinfo(); ?>

  5. #5
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut php info
    Cela donne :
    version php
    donc PHP Version 4.4.3-dev ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    lol... Bienvenu dans le XIXème siècle...

    Ajoute un fichier .htaccess à la racine de ton site :
    Pour PHP 5.6
    Code apache : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <IfDefine Free>
    php56 1
    </IfDefine>
    Options -Indexes
    Tu peux essayer aussi PHP 7 (uniquement sur le serveur d'alpha-test -> cf lien ci-après)
    Code apache : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <IfDefine Free>
    php73 1
    </IfDefine>
    Options -Indexes
    Dernière modification par Invité ; 26/12/2019 à 19h14.

  7. #7
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut
    Merci jreaux62 pour cette avancée.

    J'ai rajouté le fichier .htaccess en PHP 5.6 (car php73 1 ne marche pas)
    Cela donne : PHP Version 5.6.34

    A)
    Sur Formulaire .php
    Je rempli les champs et l'on me dit qu'ils ne sont pas remplis

    B) sur l'autre indexTest.php, il se passe rien non plus

  8. #8
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut
    Faut-il supprimer quelque chose sur sql.free.fr ?

    https://www.free.fr/assistance/928.html ?Nom : Capture d’écran du 2019-12-27 10-59-53.png
Affichages : 790
Taille : 216,8 Ko

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Non.
    La base de données n'a rien à voir dans l'affaire.

    1- Je pense plutôt qu'il faut regarder du coté de la fonction mail(), et de la configuration des "additional_headers" et "subject".

    subject :
    Attention Le sujet doit satisfaire à la » RFC 2047.

    additional_headers :
    Note: Lors de l'envoi d'un mail, le mail doit contenir un en-tête From.
    Que donne :
    2- Et/ou de ta messagerie : as-tu vérifié que les mails n'arrivent pas dans les SPAMS ?
    Dernière modification par Invité ; 27/12/2019 à 11h19.

  10. #10
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut
    J'ai fait un tour dans la boite émail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Bonjour,
     
    Il semblerait que vous n'ayez pas consulté votre messagerie depuis plus
    d'un an. Aussi, celle-ci a été temporairement desactivée.
    Aucune demande n'est necessaire pour réactiver votre messagerie : la simple
    consultation de ce message indique que la boite est à nouveau utilisable.
     
    Mailer-Daemon
    J'ai donc envoyé un émail qui est bien parti et arrivé

    J'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo phpinfo(); ?>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php 
    echo $entetemail;
     ?>
    à la page phpT.php
    rien ne s'inscrit.

  11. #11
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut envoyer une invitation
    J'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <form action="inviteA2.php" method="post" class="piedp">
    		<label for="nom">Votre NOM : </label>
    		<input type="text" name="nom" /><br />
          <label for="VotreEmail">Votre adresse courriel : </label>
          <input type="email" name="VotreEmail" /><br />
     		<label for="SonEmail">L'adresse courriel du destinataire : </label>
     		<input type="email" name="SonEmail" /><br />
     
     		<button type="submit">Envoyer</button>
     
    </form>
    Qui dirige vers ...A2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php  
    $Envoi = 1;
    if ((trim($nom) == "") and ($statut== "ok")) {echo  "Vous n&acute;avez pas mis votre NOM.<br />";$Envoi = 0;} 
     
     
    if ($Envoi == 1) {
        echo  ($nom).' a envoy&eacute; l&acute;invitation &agrave; '.($SonEmail).'.'; 
     
     	$to = $SonEmail;
     	$subject = ($nom).' t&acute;ninvite a te rendre sur le site';
     	$message = 'Message email';
       $headers = 'From: mon adresse' . "\r\n" .
         'Reply-To: '.($VotreEmail). "\r\n" .
         'X-Mailer: PHP/' . phpversion();
     
       mail($to, $subject, $message, $headers);
     
     	}
     ?>
    Je pense que mes écritures ne sont pas correctes

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jreaux62 Voir le message

  13. #13
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut
    Merci jreaux62

    Je bloque déjà sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php  
        echo  $nom . ' a envoy&eacute; l&acute;invitation &agrave; ' . $SonEmail . '.'; 
     
     ?>
    qui n'affiche pas les informations saisies : ni le $nom, ni $SonEmail

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <form action="inviteA2.php" method="post" >
    		<label for="nom">Votre NOM : </label>
    		<input type="text" name="nom" /><br />
                    <label for="VotreEmail">Votre adresse courriel : </label>
                    <input type="email" name="VotreEmail" /><br />
     		<label for="SonEmail">L'adresse courriel du destinataire : </label>
     		<input type="email" name="SonEmail" /><br />
     
     		<button type="submit">Envoyer</button>
     
     
    </form>

  14. #14
    Invité
    Invité(e)
    Par défaut
    Je me trompe, ou il te manque les bases élémentaires ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
    $nom = $_POST['nom'];
    $VotreEmail= $_POST['VotreEmail'];
    $SonEmail = $_POST['SonEmail'];
    ...
    N.B. Je t'ai donné DEUX FOIS un lien.
    Manifestement, tu n'as toujours pas cliqué dessus...

  15. #15
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut
    Merci jreaux62

    Citation Envoyé par jreaux62 Voir le message
    Je me trompe, ou il te manque les bases élémentaires ?
    Tu ne te trompes pas

    Je reviens dès que possible !

  16. #16
    Invité
    Invité(e)

  17. #17
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut
    Merci jreaux62, cela m'aidera.

  18. #18
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut
    L' 'echo' est bien noté, mais je n'ai pas d'émail envoyé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form action="inviteA2.php" method="post" >
    		<label for="nom">Votre NOM : </label>
    		<input type="text" name="nom" /><br />
                    <label for="VotreEmail">Votre adresse courriel : </label>
                    <input type="email" name="VotreEmail" /><br />
     		<label for="SonEmail">L&acute;adresse courriel du destinataire : </label>
     		<input type="email" name="SonEmail" /><br />
     
     		<input type="submit" value="Envoyer" />
    inviteA2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    	$nom = $_POST['nom'];
            $VotreEmail= $_POST['VotreEmail'];
    	$to = $_POST['SonEmail'];
     
        echo  $nom . ' a envoy&eacute; l&acute;invitation &agrave; ' . $to . '.'; 
     
    	$subject = $nom . ' t&acute;ninvite a te rendre sur le site';
     	$message = 'Message &eacute;mail';
            $headers = 'From: émail...@....free.fr' . "\r\n" .
                             'Reply-To: ' . $VotreEmail . "\r\n" .
                             'X-Mailer: PHP/' . phpversion();
     
      mail($to, $subject, $message, $headers);
     
     ?>

  19. #19
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut
    J'ai testé une version légèrement différente test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form action="inviteA2.php" method="post" class="piedp">
    		<label for="nom">Votre NOM : </label>
    		<input type="text" name="nom" required><br />
          <label for="VotreEmail">Votre adresse courriel : </label>
          <input type="email" name="VotreEmail" required><br />
     		<label for="SonEmail">L&acute;adresse courriel du destinataire : </label>
     		<input type="email" name="SonEmail" required><br />
     
     		<input type="submit" value="Envoyer">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    	$nom = $_POST['nom'];
       $VotreEmail= $_POST['VotreEmail'];
    	$to = $_POST['SonEmail'];
     
     
    	$subject = $nom . ' t&acute;ninvite a te rendre sur le site.';
    	$headers  = 'MIME-Version: 1.0' . "\r\n";
    	$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 	
     	$message .= 'Message &eacute;mail';
       $headers .= 'From: .....' . "\r\n" .
         'Reply-To: ' . $VotreEmail . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
       $headers .= 'Cc: ......' . "\r\n";
    	$headers .= 'Bcc: .....' . "\r\n";
     
      mail($to, $subject, $message, $headers);
     
        echo  $nom . ' a envoy&eacute; l&acute;invitation &agrave; ' . $to . '.'; 
    ?>
    	<br />
    <?php
    	 echo $subject;
     ?>	 
    	<br />
    <?php
    	 echo $message;
     ?>
     	<br />
     <?php
    	 echo $headers;
     ?>
     	<br />
    <?php
        echo phpinfo();
        echo phpversion();
     ?>
    Sans plus de succès

  20. #20
    Membre confirmé Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Par défaut
    Je lis cela
    https://www.aduf.org/viewtopic.php?p=1944494#1944494

    Citation Envoyé par abel99
    Le mail depuis les pages perso est fortement dégradé à cause des spams émis par des pages perso probablement piratées.
    L'admin a signalé le problème il y a quelques semaines sur le NewsGroup proxad.Free.services.messagerie.

    C'est sur ce groupe que tu trouveras des conseils pour arriver à émettre des messages, sans passer par la fonction mail()

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 9
    Dernier message: 18/05/2014, 21h44
  2. Réponses: 3
    Dernier message: 22/09/2011, 16h02
  3. Réponses: 4
    Dernier message: 05/08/2010, 16h48
  4. Les formulaires ne fonctionnent plus apres un export/import
    Par Altaria dans le forum Configuration
    Réponses: 3
    Dernier message: 17/09/2009, 11h58
  5. Réponses: 3
    Dernier message: 17/09/2009, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo