problème page en php

Vous avez un soucis de développement et ce n'est pas du ressort de notre support ? N'hésitez pas à soumettre vos petits soucis de développement et à vous entre aider par la même occasion.
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Bonjour
je ne trouve pas l'erreur aidez moi svp

Code : Tout sélectionner

<?php
session_start();
if ($_SESSION['pseudo'] != NULL)
{
if($_COOKIE['pseudo'] != NULL)
{
    // on teste si le formulaire a été validé
    if (isset($_POST['go']) && $_POST['go']=='Poster l\'annonce') 
    {
        // on se connecte à notre base
        $base = mysql_connect ('sql.franceserv.fr', 'nonozelmar', '***************');
        mysql_select_db('nonozelmar_db5', $base);

        // on teste la déclaration de nos variables
        if (!isset($_POST['titre']) || !isset($_POST['description_courte']) || !isset($_POST['description_longue']) || !isset($_POST['prix'])|| !isset($_POST['categorie'])) 
        {
            $erreur = 'Les variables nécessaires au script ne sont pas définies.';
        }
        else 
        {
            if (empty($_POST['description_longue']) || empty($_POST['titre']) || empty($_POST['description_courte']) || empty($_POST['prix']) || empty($_POST['categorie'])) 
            {
                $erreur = 'Au moins un des champs est vide.';
            }
            // si tout est bon, on peut commencer l'insertion dans la base
            else {           
                $pseudo = $_SESSION['pseudo'];
                // lancement de la requête d'insertion
                $sql = 'INSERT INTO annonce VALUES( NOW(), "'.$pseudo.'", "'.mysql_escape_string($_POST['titre']).'", "'.mysql_escape_string($_POST['description_courte']).'", "'.mysql_escape_string($_POST['description_longue']).'", "'.mysql_escape_string($_POST['categorie']).'", "'.mysql_escape_string($_POST['prix']).'", "")';

                // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
                mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
                if ($_POST['tel'] != NULL)
                {
       \t\t\t\t$requet = 'SELECT * FROM annonce WHERE pseudo="'.$pseudo.'"';        
        \t\t\tif($result = mysql_query($requet))
        \t\t\t{
           \t\t\t \twhile($ligne = mysql_fetch_row($result)) 
            \t\t{
                \t \t$telephone = $ligne['7'];
               \t    }
\t\t\t\t\tmysql_query('UPDATE annonce SET telephone = "'.$telephone.'" WHERE pseudo = "'.$pseudo.'"');
\t\t\t\t}
                // on ferme la connexion à la base de données
                mysql_close();

                // on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez placé cette page dans un répertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'accès afin de retomber sur la page d'accueil du site.
                header('Location: ../index.php');
                // on termine le script courant
                exit();
            }
        }
    }
}
else echo 'Veuillez vous connectez avant de postez une annonce';
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Ajouter une annonce</title>
</head>

<body>
<form action="ajouter_annonce.php" method="post">
<table>
<span class="gras">titre :</span>
<br>
<input type="text" name="titre" maxlength="30" size="50" value="<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>">
<br>
<br>
<span class="gras">description courte :</span>
<br>
<textarea name="description_courte" cols="50" rows="10"><?php if (isset($_POST['description_courte'])) echo htmlentities(trim($_POST['description_courte'])); ?></textarea>
<br>
<br>
<span class="gras">description longue :</span>
<br>
<textarea name="description_longue" cols="50" rows="10"><?php if (isset($_POST['description_longue'])) echo htmlentities(trim($_POST['description_longue'])); ?></textarea>
<br>
<br>
<label for="categorie">Catégorie :</label>&nbsp;&nbsp;&nbsp;&nbsp;
<br>
<SELECT name="categorie">
\t<OPTION VALUE="">>>Choissisez votre catégorie<<</OPTION>    
\t<OPTION VALUE="jeux_vidéo">jeux_vidéos</OPTION>
    <OPTION VALUE="meubles">meubles</OPTION>
    <OPTION VALUE="voitures">voitures</OPTION>
</SELECT>
<br>
<br>
<span class="gras">prix :</span>
<br>
<input type="text" name="prix" maxlength="30" size="50" value="<?php if (isset($_POST['prix'])) echo htmlentities(trim($_POST['prix'])); ?>">
<br>
<br>
<input type="checkbox" name="tel">  Voulez vous communiquer votre numéro de téléphone ?
<br>
<br>
<input type="submit" name="go" value="Poster l'annonce">
</table>
</form>
<?php
// on affiche les erreurs éventuelles
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
<?php
}
else
{
?>
    <!DOCTYPE html>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <html>
    <head>
    <link rel="stylesheet" href="style.css" />
    </head>
    <body>
    <span>Vous n'êtes pas connecté</span>
    <br>
    <a href="index.php";>Me connectez</a> 
    </body>
    </html>
<?php
}
?>
Merci d'avance
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

Bonsoir,

Le plus simple est de demander à PHP où se trouve l'erreur :)

Il suffit pour cela, d'ajouter la ligne suivant au début du code PHP afin d'activer l'affichage éventuel des messages d'erreurs et l'alertes de PHP :

Code : Tout sélectionner

ini_set('display_errors', 1);
Sinon, activez l'affichage des messages d'erreurs et l'alertes de PHP via votre interface de gestion pour le site concerné.

Après, si vous ne comprenez toujours pas le message d'erreur, vous pouvez demander ici ;)
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Cela ne m'affiche rien :(
je l'ai pourtant bien mis au debut
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

Si ça n'affiche rien, c'est que ce n'est pas une erreur de développement PHP mais que le résultat obtenu ne vous satisfait pas :) Je tente de regarder votre code ...
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Merci
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

Bon sang !

Je viens de sursauter à la vue du mot de passe de votre compte s'y trouvant, mot de passe que je viens de masquer à l'instant. Allez hop ... je passe votre compte comme hacké, vous allez devoir choisir un nouveau mot de passe.
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

Je déplace également cette discussion dans la partie développement comme ça ne concerne pas le support technique.
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Oups j'avais oublié Merci :)
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Vous n'avez pas trouver :( ?
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

nonozelmar a écrit :Vous n'avez pas trouver :( ?
Bien ... je me suis arrêtée à la ligne où se trouvai votre mot de passe, depuis je suis en train de reprendre mon souffle :)

Au lieu de chercher dans un code que je ne connais pas, je vais vous communiquer deux petites astuces.

La première, c'est que lorsque son code ne fait pas ce que l'on souhaites, il faut ajouter des "traces". C'est à dire des print() ou echo() dans son code afin de vérifier ses conditions, une par une, en vérifiant par avance où ça devrai aller. Si ça ne vas pas dans la bonne condition, on obtient alors un retour texte qui ne devait pas être celui que l'on attendait. C'est alors à ce moment là qu'il faut revoir le if où l'on se trouve. C'est une technique ;)

La seconde, c'est d'écrire une sorte de fichier de configuration avec les différentes constantes/variables de son code, en y mettant ses identifiants MySQL. C'est très pratique ensuite d'inclure ce fichier dans les différents scripts qui en auront besoins, pourquoi pas même tout au début du site où l'internaute doit obligatoirement passer. Ça évite de devoir modifier à plusieurs endroits son mot de passe quand on le change, et de ne pas le copier par erreur :)
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Répondre