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 :

[SQL] Renvoyer sur une page 404 si erreur


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 295
    Points : 135
    Points
    135
    Par défaut [SQL] Renvoyer sur une page 404 si erreur
    Bonjour je m'explique je vais faire très court
    j'ai un site d'annonce auto avec une table annonce qui comporte une variable visible oui ou non
    afin de conserver les annonces dans la bd quand on supprime une annonce elle n'est plus visible sur le site et passe son statut sur non
    jusque là aucun pb

    je me suis que des utilisateurs avaient en favoris l'url de l'annonce et elle s'affichait même si elle restait sur non je ne faisais aucun traitement.
    je voudrais en faite rediriger vers une page 404 si on saisit l'adresse d'une annonce qui est supprimée donc sur non

    je voudrais faire un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    si visible=='non'{ 
    header("HTTP/1.0 404 Not Found"); 
    header("Location: http://www.monsite.com/404.php"); 
    exit(); 
    }
    au préalable
    dans ma page j'affiche un truc du genre
    connect bd
    $sql="select * from annonce where visible='oui' and idannonce='$idannonce'";
    ect//

    comment faire ce traitement est ce qu'il faut vérifier si l'annonce est sur non d'abord ?

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Bah je pense que tu n'as pas le choix si? Il n'y a que en vérifiant dans la base d'abord que tu peux savoir si l'annonce est toujours disponible ou pas?
    Ensuite tu fais un header()

    Mais ca serait peut etre mieux (au lieu d'un 404) de dire a l'utilisateur "cette annonce n'est plus disponible" non?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 295
    Points : 135
    Points
    135
    Par défaut merci
    voila ce que je fais mais cela marche pas
    verifcation si annonce est sur visible='non'
    si oui alors redirection vers la page qui informe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $idannonce=$_GET['idannonce'];
    require_once('Connections/xxxx.php');
    mysql_select_db($xxxx, $xxx);
    $sql="select visible from annonce where idannonce='$idannonce'";
    $result=mysql_query($sql);
    $res=mysql_num_row($result);
    if $result=='non'
    {
    header("location : http://www.bestoccaz.com/404.shtml");
    exit(); 
    }

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql = "select visible from annonce where idannonce='$idannonce'";
    $result = mysql_query($sql);
    $row = mysql_fetch_assoc($result);
    if ($row['visible'] == 'non') {
        header("location : http://www.bestoccaz.com/404.shtml");
        exit(); 
    }
    Pourquoi ne pas utiliser un type booléen ou un enum pour ce champ ? Pensez à vous protéger des injections SQL ...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 295
    Points : 135
    Points
    135
    Par défaut salut
    Merci pour ton aide
    ca ne fonctionne pas

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 295
    Points : 135
    Points
    135
    Par défaut
    j'ai trouve il faut mettre ca dans le header
    header("location: 404.shtml");

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

Discussions similaires

  1. [CKEditor] ck Finder rajouter un bouton renvoyant sur une page
    Par pmoury06 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 03/10/2010, 22h16
  2. Erreur 404 sur une page s'appleant elle-même
    Par BATCHOS CON TEQUILA dans le forum ASP.NET
    Réponses: 0
    Dernier message: 25/09/2008, 22h58
  3. erreur sur une page
    Par dieudo dans le forum ASP
    Réponses: 3
    Dernier message: 03/08/2006, 10h07
  4. erreur sur une page
    Par dieudo dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 02/08/2006, 17h57
  5. erreur sur une page asp
    Par leclone dans le forum ASP
    Réponses: 4
    Dernier message: 11/05/2006, 23h27

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