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 :

erreur 404 sur le serveur mais pas de problème en local


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 58
    Points : 41
    Points
    41
    Par défaut erreur 404 sur le serveur mais pas de problème en local
    Bonjour à tous,
    Depuis que j'ai changé une page de mon site en utilisant $_GET pour faire transiter les données via l'url, j'obtiens une erreur 404 :

    "Le fichier requis n'a pas été trouvé. Il peut s'agir d'une erreur technique. Veuillez réessayer ultérieurement. Si vous ne pouvez pas accéder au fichier après plusieurs tentatives, cela signifie qu'il a été supprimé."
    Ce qui est bizarre, c'est que cela fonctionne en local.
    De plus, lorsque j'obtiens ce message d'erreur, il suffit que je copie colle l'url dans un autre onglet pour que cela m'amène bien sur la page désirée.. Par contre, le transit des données via l'url sert à faire un UPDATE qui lui ne fonctionne pas...
    Comment est-ce possible que cela fonctionne en local et pas sur le serveur?
    Voici mes 2 pages: 'entreprise_vente.php' puis 'traitement_vente.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
    <?php
    include_once('../connection.php');
     
    if (isset($_POST['r1']) AND isset($_POST['com']))
    {
    $val=$bdd->prepare('
    UPDATE agence 
    SET val_vente=?,com_vente=? 
    WHERE id=?');
    $val->execute(array(
    $_POST['r1'],$_POST['com'],$_GET['id_question']));
    }
    $req=$bdd->prepare('
    SELECT id, ques_vente, rep_vente, val_vente,com_vente 
    FROM agence');
    $req->execute();
    $donnees=$req->fetchAll();
     
        foreach($donnees as $cle=>$donnee)
     
    {//Ici mes différents affichages que j'ai viré pour facilité la lecture + le lien qui permet de faire la liaison entre les 2 fichiers : }
    ?>
    <a href="traitement_vente.php?id_question=<?php echo $donnee['id']?>"> Corriger</a>
    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
    <?php
    include_once('../connection.php');
     
    $req=$bdd->prepare('
    SELECT id, ques_vente, rep_vente, val_vente,com_vente 
    FROM agence 
    WHERE id= ?');
    $req->execute(array($_GET['id_question']));
    $donnees=$req->fetch();
     
        echo '<strong>'.$donnees['ques_vente'].'</strong><br />'
        .$donnees['rep_vente'].'<br />';
    ?>
     
    <form action="entreprise_vente.php?id_question=<?php echo $_GET['id_question'] ?>" method="post">
     
    <input type="radio" name="r1" id="correct" value="correct"required/><label for="correct">Correcte</label>
    <input type="radio" name="r1" id="fausse" value="fausse"/> <label for="fausse">Fausse</label>
    <input type="radio" name="r1" id="incomplete" value="incomplete"/><label for="incomplete">Incomplète</label>
    <input type="texte" name="com" placeholder="Correction de la réponse si fausse ou incomplète" size="100"/></p></p></p>    
    <input type="submit" value="Modifier"/>
    Sur le serveur le pb survient lorsque je valide le formulaire.. Par contre pas de pb pour passer de la page entreprise_vente.php à traitement_vente.php via le lien.
    Voilà je suis chez 1&1 et j'ai ce système sur 3 autres pages différentes et aussi à une autre adresse hébergé chez 1&1 également et même problème...
    Je désespère..
    Quelqu'un aurait-il une piste?
    Merci

  2. #2
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    Une erreur 404 .. y'a pas des millions de possibilités ..

    y'aurait pas eu un soucis durant ton transfert FTP ?

    ta page est bien en ligne ?

    Sinon, sur ton form de traitement_vente.php
    pourquoi passer une variable en GET et les autres en POST ?
    si tu veux pas l'afficher dans ton form , tu fais un
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
     <input name="id_question" type="hidden" value="<?php echo $_GET['id_question'] ?>">

    Mais bon ...
    Quand une réponse vous aide
    Et quand ça marche

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Ah super ! Déjà en remplaçant tous les 'post' en 'get' je n'ai plus d'erreur 404, merci camyo ! Ca m'affiche bien m'a page, par contre l'UPDATE ne fonctionne toujours pas...
    Mais ça devrait être plus facile maitnenant..

  4. #4
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Tu conditionnes ton UPDATE sur l'existence de deux clés de $_POST :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    if (isset($_POST['r1']) AND isset($_POST['com']))
    {
    $val=$bdd->prepare('
    UPDATE agence 
    SET val_vente=?,com_vente=? 
    WHERE id=?');
    $val->execute(array(
    $_POST['r1'],$_POST['com'],$_GET['id_question']));
    }
    Or tu viens d'indiquer que tu as tout passer en $_GET...Essaies de rester un maximum homogène dans ta démarche : tout en POST ou tout en GET, mais pas un mixe des deux
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Je ne comprends pas bien K'amm, j'ai bien remplacé TOUS les POST par GET y compris ceux que tu mentionnes, on ne peut pas faire cette même démarche avec $_GET?

  6. #6
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    A quoi ressemble ton code maintenant ?

    Car , de base, si ton update ne se fait pas , c'est que
    soit :
    1 . les conditions ne sont pas remplies
    2. l'id ne passe pas
    Quand une réponse vous aide
    Et quand ça marche

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 58
    Points : 41
    Points
    41
    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
    25
    26
    27
    28
    29
    <?php
    include_once('../connection.php');
     
    if (isset($_GET['r1']) AND isset($_GET['id_question']))
    {
    	$reponse=$_GET['r1'];
    	$valeur=$_GET['com'];
    	$id=$_GET['id_question'];
    	echo $reponse.' '.$valeur.' '.$id;
     
     
    $val=$bdd->prepare('
    UPDATE agence 
    SET val_vente=?,com_vente=? 
    WHERE id=?');
    $val->execute(array(
    $reponse,$valeur,$id));
    }
    $req=$bdd->prepare('
    SELECT id, ques_vente, rep_vente, val_vente,com_vente 
    FROM agence');
    $req->execute();
    $donnees=$req->fetchAll();
     
        foreach($donnees as $cle=>$donnee)
     
    {//Ici mes différents affichages que j'ai viré pour facilité la lecture + le lien qui permet de faire la liaison entre les 2 fichiers : }
    ?>
    <a href="traitement_vente.php?id_question=<?php echo $donnee['id']?>"> Corriger</a>
    ET

    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
    <?php
    include_once('../connection.php');
     
    $req=$bdd->prepare('
    SELECT id, ques_vente, rep_vente, val_vente,com_vente 
    FROM agence 
    WHERE id= ?');
    $req->execute(array($_GET['id_question']));
    $donnees=$req->fetch();
     
        echo '<strong>'.$donnees['ques_vente'].'</strong><br />'
        .$donnees['rep_vente'].'<br />';
    ?>
     
    <form action="entreprise_vente.php?id_question=<?php echo $_GET['id_question'] ?>" method="get">
     
    <input type="radio" name="r1" id="correct" value="correct"required/><label for="correct">Correcte</label>
    <input type="radio" name="r1" id="fausse" value="fausse"/> <label for="fausse">Fausse</label>
    <input type="radio" name="r1" id="incomplete" value="incomplete"/><label for="incomplete">Incomplète</label>
    <input type="texte" name="com" placeholder="Correction de la réponse si fausse ou incomplète" size="100"/></p></p></p>    
    <input type="submit" value="Modifier"/>

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    et lorsque je supprime ma condition isset, j'obtiens qu'il ne reconnait pas la variable $_GET['id_question'].
    Tout est là.
    Mais je ne comprends pas pourquoi, c'est bizarre non?

  9. #9
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    Perso, je comprends pas pourquoi tu passes en GET, surtout qu'il peux y avoir du texte ...

    Surtout que tu pouvais dans le cas, tout passer en POST

    Si tu souhaites rester en GET, essaye de rajouter ta variable id_question dans un input hidden, comme je te l'ai dis
    Quand une réponse vous aide
    Et quand ça marche

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Super ça marche, j'avais mal lu ton premier post et l'utilisation de l'input ...

    Mais je ne comprends pas pourquoi on peut mixer le $_GET et $_POST en local et pas sur le serveur????
    Enfin mille merci en tout cas.

  11. #11
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par camyo Voir le message
    Surtout que tu pouvais dans le cas, tout passer en POST
    En effet ça serait mieux en POST.
    Voici de nouveau mon code adapté, mais j'ai de nouveau une erreur 404. Ou est mon erreur?? :
    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
    <?php
    include_once('../connection.php');
     
    if (isset($_POST['r1']) AND isset($_POST['id_question']))
    {
    	$reponse=$_POST['r1'];
    	$valeur=$_POST['com'];
    	$id=$_POST['id_question'];
    	echo $reponse.' '.$valeur.' '.$id;
     
    $val=$bdd->prepare('
    UPDATE agence 
    SET val_vente=?,com_vente=? 
    WHERE id=?');
    $val->execute(array(
    $reponse,$valeur,$id));
    }
    $req=$bdd->prepare('
    SELECT id, ques_vente, rep_vente, val_vente,com_vente 
    FROM agence');
    $req->execute();
    $donnees=$req->fetchAll();
     
        foreach($donnees as $cle=>$donnee)
     
    {//Ici mes différents affichages que j'ai viré pour facilité la lecture + le lien qui permet de faire la liaison entre les 2 fichiers : }
    ?>
    <a href="traitement_vente.php?id_question=<?php echo $donnee['id']?>"> Corriger</a>
    Et
    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
    <?php
    include_once('../connection.php');
     
    $req=$bdd->prepare('
    SELECT id, ques_vente, rep_vente, val_vente,com_vente 
    FROM agence 
    WHERE id= ?');
    $req->execute(array($_GET['id_question']));
    $donnees=$req->fetch();
     
        echo '<strong>'.$donnees['ques_vente'].'</strong><br />'
        .$donnees['rep_vente'].'<br />';
    ?>
     
    <form action="entreprise_vente.php?id_question=<?php echo $_GET['id_question'] ?>" method="post">
     
    <input type="radio" name="r1" id="correct" value="correct"required/><label for="correct">Correcte</label>
    <input type="radio" name="r1" id="fausse" value="fausse"/> <label for="fausse">Fausse</label>
    <input type="radio" name="r1" id="incomplete" value="incomplete"/><label for="incomplete">Incomplète</label>
    <input type="hidden"name="id_question"  value="<?php echo $_GET['id_question'] ?>">
    <input type="texte" name="com" placeholder="Correction de la réponse si fausse ou incomplète" size="100"/></p></p></p>    
    <input type="submit" value="Modifier"/>

  12. #12
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    Déjà, si tu passes id_question en hidden , vire ?id_question=<?php echo $_GET['id_question'], ?> de l'action de ton form
    Quand une réponse vous aide
    Et quand ça marche

  13. #13
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Oui bien sûr, j'ai oublié de le changer dans mon post mais sur mon fichier il est déjà viré..

  14. #14
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    donc, t'as une erreur 404 sur : entreprise_vente.php

    et si tu essayes sans passer par ton form, en tapant juste l'url de la page?
    Dans ce cas, je me répèterais, ça viendrait d'un mauvais envoi FTP
    Quand une réponse vous aide
    Et quand ça marche

  15. #15
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    En effet lorsque je copie colle l'url ça fonctionne..
    Mais du coup, qu'entends tu par 'un mauvais envoi ftp'? j'ai beau renvoyer maintes et maintes fois mon fichier via filezilla, rien n'y change...

  16. #16
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    Non, si direct via l'url ça fonctionne ..

    1.Copie l'url qui fonctionne
    2. Copie l'url du 404 via le formulaire

    Et compare ... il y a certainement un truc
    Quand une réponse vous aide
    Et quand ça marche

  17. #17
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Pfffff ouai une majuscule.....
    (Entreprise dans l'url qui marche pour entreprise dans la 404...donc en fait il doit y avoir quelque chose de réglé sur "insensible à la casse" en local mais quoi?? Et puis d'ailleurs bizarre que ça fonctionne avec $_GET aussi...)

    Quelle journée productive !!

    Bon au moins les problèmes sont résolus!

    Mille merci camyo pour ton attention et ton aide !

  18. #18
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par gitney Voir le message
    Pfffff ouai une majuscule.....
    (Entreprise dans l'url qui marche pour entreprise dans la 404...donc en fait il doit y avoir quelque chose de réglé sur "insensible à la casse" en local mais quoi?? Et puis d'ailleurs bizarre que ça fonctionne avec $_GET aussi...)
    Windows ne gère pas la casse, Unix si
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

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

Discussions similaires

  1. [MySQL] fopen créé un fichier sur le serveur mais pas dans mes dossiers
    Par Poly_Helene dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/06/2013, 18h40
  2. Réponses: 4
    Dernier message: 02/04/2012, 16h12
  3. foreach qui bugue sur le serveur mais pas en local
    Par CinePhil dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2012, 00h14
  4. Mon Alias marche sur le Serveur mais pas sur le Client
    Par Aquellito dans le forum Windows Serveur
    Réponses: 12
    Dernier message: 26/11/2008, 09h49
  5. Réponses: 4
    Dernier message: 08/11/2007, 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