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

Langage PHP Discussion :

Redirection vers la page index


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Points : 115
    Points
    115
    Par défaut Redirection vers la page index
    Le bien bonjour à tout, j'ai le problème suivant,

    J'ai la page index.html qui contient un formulaire, dans action = 'post.php'

    qui a pour rôle d'envoyer un mail en parallèle quand je clique sur submit j'ai un javascript qui se déclenche pour vérifier le formulaire si c'est ok il affiche message envoyer le soucie c'est que je serai diriger vers la page post.php j'ai essayé de vers une redirection de post.php vers index.html mais le message du javascript ne sera pas afficher.

    En gros je veux que je reste sur la même page quand je fais un submit.

    Je vous remercie d'avance

  2. #2
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    ajax
    Développeur informatique contrarié...

  3. #3
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par vorace Voir le message
    ajax
    ??????

  4. #4
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Fait le dans post.php tout simplement.

    Pour la vérif en JS :
    - Soit c'est Ok, par conséquent c'est post.php qui sera demandé (envoie du mail entre autre)
    - Soit le JS doit renvoyer FALSE, le formulaire ne sera pas être soumis (ou ne doit pas).

    Encore faut il que le formulaire et le JS soit bien fait.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  5. #5
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par RunCodePhp Voir le message
    Salut

    Fait le dans post.php tout simplement.

    Pour la vérif en JS :
    - Soit c'est Ok, par conséquent c'est post.php qui sera demandé (envoie du mail entre autre)
    - Soit le JS doit renvoyer FALSE, le formulaire ne sera pas être soumis (ou ne doit pas).

    Encore faut il que le formulaire et le JS soit bien fait.
    pour qu'on soit plus concret voilà un exemple de code idenx.html

    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
     
    <html>
     
      <form method='post' id='myForm' action='post.php'>
     
     
          Nom<input type='text' name='nom' id='nom' value=''>
          Prenom<input type='text' name='prenom' value=''>
     
     
      <input type='submit' value='valider'>
      </form>
     
     
     
    </html>
    le code post.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
    20
     
    <?php 
     
    $text = $_POST;
     
     
     
      $contenu = '<html><head><title>Titre du message</title></head><body>';
      $contenu .= '<p>Bonjour, vous avez reçu un message à partir de votre site web.</p>';
      $contenu .= '<table BORDER="1"><tr>';
    foreach($text as $cle=>$val){
     
       $contenu.='<tr><th>'.$cle.'</th><td> '.$val."</td></tr>";
     
    }
      $contenu .= '</tr></table>';
      $contenu .= '</body></html>'; 
     
      echo $contenu;
    ?>
    le fichier js

    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
     
     
    $(document).ready(function() {
      $("#myForm").bind("submit", function(){
        var bReturn = true;
        $("#nom").css({borderLeft: ""});
        $("label[for="nom"]").css({color: ""});
        if ( jQuery.trim($("#nom").val()).length==0 ) {
        $("#nom").parent("p").css({borderLeft: "2px solid red"});
        $("label[for="nom"]").css({color: "red"});
        bReturn = false;
        }
     
        return bReturn;
      });
    });

  6. #6
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par RunCodePhp Voir le message
    Salut

    Fait le dans post.php tout simplement.

    Pour la vérif en JS :
    - Soit c'est Ok, par conséquent c'est post.php qui sera demandé (envoie du mail entre autre)
    - Soit le JS doit renvoyer FALSE, le formulaire ne sera pas être soumis (ou ne doit pas).

    Encore faut il que le formulaire et le JS soit bien fait.
    Le problème quand je fais une redirection de la page post.php vers index.html, le résultat du javascript (je dois afficher message envoyer) ne sera pas afficher puisque on va recharger index.html

  7. #7
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    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
    $(document).ready(function() {
      $("#myForm").bind("submit", function(){
        var bReturn = true;
        $("#nom").css({borderLeft: ""});
        $("label[for="nom"]").css({color: ""});
        if ( jQuery.trim($("#nom").val()).length==0 ) {
        $("#nom").parent("p").css({borderLeft: "2px solid red"});
        $("label[for="nom"]").css({color: "red"});
        bReturn = false;
        }else{
    		$.ajax({
    			type: "POST",
    			url: $(this).attr("action"),
    			data: $(this).serialize(),
    			dataType: 'html',
    			async: false,
    			success: function(msg){
    				alert(msg);
    			}
    		});
    	}
        return false;
      });
    });
    Développeur informatique contrarié...

  8. #8
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    D'après ton code, on peu tout faire dans une seule et unique page, pas besoin de post.php, de même il n'est pas utile de le faire en Ajax.
    Ceci peu se faire de manière très simple, suffit de renommer index.html en index.php.
    Php est très largement utilisé pour ça.

    Exemple :
    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
    <?php
    // index.php
    if (isset($_POST['valider'], $_POST['nom'], $_POST['prenom'])) {
        // Mail à envoyer ici
     
        // Redirection / actualisation pour éviter un éventuel double envoi de mail
        header('Location: index.php?send=true');
        exit();
    }
     
    ?>
    <html>
     
    <?php
    if (!empty($_GET['send']) && $_GET['send'] == 'true') {
    ?>
    <p>Bonjour, vous avez reçu un message à partir de votre site web.</p>
    <?php
    }
    ?>
     
    <form method="post" id="myForm" action="index.php">
        Nom<input type="text" name="nom" id="nom" value="" />
        Prenom<input type="text" name="prenom" value="" />
        <input type="submit" name="valider" value="valider" />
    </form>
     
    </html>
    ?>
    Le formulaire pointe tout simplement sur lui même (même page).
    Le JS reste inchangé.
    Une fois le mail envoyé, une redirection est effectuée (un header) dans le cas où l'internaute aurait la mauvaise idée d'actualiser la page.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. redirection vers une page internet
    Par chti_juanito dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 09/01/2006, 17h42
  2. Redirection vers une page contenant celle qui redirectionne
    Par Rémiz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 16/11/2005, 14h38
  3. Redirection vers un page avec variable en parametre
    Par gwendy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 18h49
  4. redirection vers la page parent
    Par azizsos dans le forum ASP
    Réponses: 1
    Dernier message: 14/10/2005, 20h59
  5. [PRO] redirection vers une page
    Par Mister_FX dans le forum ASP
    Réponses: 10
    Dernier message: 23/06/2004, 17h31

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