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 :

Retour automatique vers url


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Retour automatique vers url
    Bonjour,

    Existe-t-il une fonction php me permettant de faire un retour vers une page (d'après son url) après x seconde ?

    Merci pour votre.

    Cordialement,
    thannane

  2. #2
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Bonjour,
    tu peux utiliser une balise META dans les balises <head> de a page (c'est du HTML), comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="refresh" content="3;url.php" />
    qui va te rediriger vers url.php au bout de 3 secondes.

    Il y a probablement moyen de simuler le header en PHP avec la fonction header().

    @+
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Merci pour cette rapide réponse mais mon probleme est un peu plus compliqué :
    J'ai un formulaire qui va remplir ma base de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
    DB_SERVER_PASSWORD)
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db(DB_DATABASE, $connect);
    
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
    $msg_ok = "<center />Merci ! <br/>Votre demande a bien été prise en compte. </center />";
    
    
    $message = $msg_erreur;
    Dans le cas où un champ est mal remplit, je voudrai que le visiteur soit automatiquement redirigé vers la page précédente (pour y retrouver ce qu'il a déjà saisi dans le formulaire) après mettons, 3 secondes.

    Dans le cas ou tous les champs sont correctement remplis, on affiche un message de remerciements et, ensuite, je voudrai que le visiteur soit automatiquement redirigé après, disons, 3 secondes vers la page d'accueil.

    Est-ce PHP permet de faire ça ? J'espère avoir été clair dans l'énnonce du problème et encore merci pour les réponses.

    Cordialement,
    thannane

  4. #4
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    remercier et l'envoyer sur l'accueil ça posera pas de problèmes

    par contre, l'envoyer sur la page précédente et que les champs qui s'y trouvent soient remplis avec les données qu'il avait saisi...
    te complique pas la vie
    gère l'affichage du formulaire, sa vérification et le traitement des données dans la même page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    si (formulaire jamais validé)
      afficher formulaire vide
    sinon
      vérifier formulaire
      si (données ok)
        traitement
      sinon
        afficher formulaire avec données saisies et message explicatif
    Dia [ Page DVP ] [ Site pro ]

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    voici le code entier de la page add_form.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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
    <csactions>
    	<csaction name="fd5a2ed0" class="Goto Link" type="onevent" val0="../index.html" val1="" urlparams="1"></csaction>
    </csactions>
    
    
    
    <?php
    // Parametres mysql
    define('DB_SERVER', 'localhost'); // serveur mysql
    define('DB_SERVER_USERNAME', 'xxxxxxx); // nom d'utilisateur
    define('DB_SERVER_PASSWORD', 'xxxxxx'); // mot de passe
    define('DB_DATABASE', 'xxxxxx); // nom de la base
    
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
    DB_SERVER_PASSWORD)
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db(DB_DATABASE, $connect);
    
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
    $msg_ok = "<center />Merci ! <br/>Votre demande a bien été prise en compte. </center />";
    
    
    $message = $msg_erreur;
    
    
    // vérification des champs
    if (empty($_POST['civilite']))
      $message .= "Votre civilité<br/>";
    if (empty($_POST['nom']))
      $message .= "Votre nom<br/>";
    if (empty($_POST['codepostal']))
      $message .= "Votre code postal<br/>";
    if (empty($_POST['ville']))
      $message .= "Votre ville<br/>";
      if (empty($_POST['mail']))
      $message .= "Votre E-mail<br/>";
      if (empty($_POST['newsletter']))
      $message .= "Voulez-vous vous inscrire à notre lettre ?<br/>";
    if (empty($_POST['comments']))
      $message .= "Votre message<br/>";
    
    // si un champ est vide, on affiche le message d'erreur
    if (strlen($message) > strlen($msg_erreur)) {
    
      echo $message;
    
    // sinon c'est ok
    } else {
    
      foreach($_POST as $index => $valeur) {
        $$index = mysql_real_escape_string(trim($valeur));
      }
    
      $interets = $_POST['interets'];
      $sqlinterets = '';
      for ($i=0; $i<count($interets); $i++)
      {
        $sqlinterets .= $interets[$i];
        $sqlinterets .= ', ';
      }
    
      $sql = "INSERT INTO info_formulaire VALUES ('', '$civilite', '$nom', '$codepostal', '$ville', '$mail', '$pays', '$newsletter', '$sqlinterets', '$comments', now())";
      $res = mysql_query($sql);
    
      if ($res) {
        echo $msg_ok;
      } else {
        echo mysql_error();
      }
    
    }
    
    ?>

    Est-ce qu'on est sur la bonne voie comme ca ?

    Actuellement, il faut manuellement retourner en arrière dans les deux cas (champ manquant et/ou page de remerciement)

    Dans quel sens dois-je réfléchir pour faire en sorte de rediriger après x seconde le visiteur après l'affichage de la page de remerciements ?

    Cordialement,
    thannane

Discussions similaires

  1. [RegEx] Réecriture automatique d'URL
    Par Surfoo dans le forum Langage
    Réponses: 3
    Dernier message: 08/10/2006, 14h39
  2. login automatique via url
    Par Groovygirl dans le forum ASP
    Réponses: 3
    Dernier message: 23/06/2006, 11h59
  3. probleme de retour automatique.
    Par samsso2005 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 14/03/2006, 12h06
  4. Input vers URL !
    Par yourlord dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/12/2005, 16h33
  5. [VB6] Ne pas faire de retour automatique dans un RichTextBox
    Par Arthaniel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/01/2005, 03h00

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