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 :

Pbm de redirection


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2011
    Messages : 32
    Points : 27
    Points
    27
    Par défaut Pbm de redirection
    Bonjour tout le monde,

    Voilà mon problème : je fais une soumission de formulaire dans un fichier à part. Il met à jour la base de données et en fonction du résultat "calcule" un message et retourne sur la page du formulaire. Ce fichier s'appelle process.php.

    Donc vous l'aurez compris la toute dernière ligne de process.php est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: '.$TGT);
    Où $TGT (le target) est l'url de destination, la cible.

    Le problème qui arrive est que, la redirection ne se fait pas. Et seul Edge matérialise dans le code source de la page un caractère bizarroïde, FF colorie le doctype en rouge (sans raison) et Chrome n'affiche rien.
    Donc je suppose qu'un caractère parasite le résultat et comme quelque chose s'affiche, ça fait planter la fonction Header.

    Questions (eh oui pluriel) :
    n°1 comment retrouver ce caractère et l'éliminer sachant que : je n'ai aucun "echo" ou "print" dans les fichiers, que j'ai effacé toutes les tabulations et espaces inutiles (ligne vides ou espaces en bout d'instruction). Quand je dis retrouver, si on peut me refiler un bout de code qui afficher ce PU#@1 de code Ascii, ce sera déjà bien.
    n°2 comment forcer la redirection : sachant que la fin de mon process.php est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    header('Location: '.$TGT);
    exit;
    if( !headers_sent() ){
        echo '<script type="text/javascript">';
        echo 'window.location.href="'.$TGT.'";';
        echo '</script>';
        echo "Merci de patienter <br/>";
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$TGT.'" />';
        echo '</noscript>';
    }
    Bout de code récupéré de php.net mais qui ne fonctionne pas.

    Pour info : mon serveur est un linux équipé de PHP 7.
    Pour info (le retour) : il est impératif de soumettre le formulaire vers un process de soumission séparé sinon, en cas de ralentissement et au cas où l'utilisateur actualise à outrance, il peut créer plusieurs fois le même enregistrement et foirer la base de données.
    Pour info (Le retour de la vengeance) : les fichiers sont sauvegardés en UTF-8 avec BOM (testé sans BOM et c'est le même résultat).

    D'avance merci de vos réponses.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si ton fichier est en UTF8, vérifie qu'il est bien encodé sans BOM.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2011
    Messages : 32
    Points : 27
    Points
    27
    Par défaut
    Merci Sabotage, j'ai complété ma question en même temps que ta réponse.
    on s'est croisé !!!

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2011
    Messages : 32
    Points : 27
    Points
    27
    Par défaut
    Ca y est j'ai trouvé, voici comment :

    En utilisant l'IDE UltraEdit Studio (gratuit durant 30j, mais que je vais acheter), il m'a retrouvé le caractère invisible : au code ASCII 239. J'ai fait un recherche dans tous les dossiers du projet sur les fichiers PHP et m'a retrouvé une quantité de fichiers contenant se code. Il se trouve juste avant le "<?php" mais absolument pas visible.

    Après avoir ré-écrit cette balise, j'ai sauvegardé au format UTF-8 SANS BOM.

    Le coté pratique de cet IDE est de pouvoir récupérer la liste dans un fichier texte, faire un clic-droit sur le fichier pour l'ouvrir. Ainsi le travail à la chaîne a été rapide et ciblée.

    On a beau dire pour 100 € le prix s'oublie, la qualité reste ...

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    oui enfin Notepad++ est gratuit et fait la même chose
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/11/2016, 05h58
  2. [ PostgreSQL ] Pbm migration base d'un serveur à un autre
    Par TiSteph dans le forum Administration
    Réponses: 3
    Dernier message: 06/03/2003, 18h04
  3. [Crystal Report 8.5 + VB6] Pbm déploiment
    Par La Gillasse dans le forum SDK
    Réponses: 2
    Dernier message: 14/10/2002, 15h19
  4. Pbm avec les '&'...
    Par AmaX dans le forum Composants VCL
    Réponses: 2
    Dernier message: 19/08/2002, 11h08
  5. [reseaux] redirection de flux
    Par Olive1808 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 12/08/2002, 09h24

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