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 :

Section administration possible ?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut Section administration possible ?
    bonjour à tous,
    je suis nouveau sur ce forum, si je poste dans la mauvaise section, je m'en excuse d'avance !

    Je dois créer une page web pour un vendeur de voitures, mais j'ai accepté un peu trop vite, je pensais pouvoir faire cette page sans PHP, je me suis trompé, j'en ai besoin pour faire une section "spéciale".
    Voir le fichier joint pour un screen du site...
    Sur le site, j'ai une section "annonces" qui contiendrait les annonces pour la vente des voitures.
    J'ai aussi une section "administration" ou le vendeur pourrait facilement créer des annonces grace à un formulaire qui, en cliquant sur un bouton, se placeraient automatiquement dans la section "annonces", à la suite des autres annonces.

    Est-ce possible ?
    Je n'ai aucune connaissance en PHP, donc, existe-t-il un script tout fait qui réalise ce genre de chose, ou bien est-ce que quelqu'un aurait le temps d'en créer un ?

    Je vous remercie d'avance,

    jerrypeeren
    Images attachées Images attachées  

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

    Informations forums :
    Inscription : Février 2008
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Section administration, est ce possible?
    - Oui

    Exist-il un script tout fait?
    - je sais pas, mais il y a peut être moyen d'adapter un script de news par exemple, si ta pas envie de partir de 0

    Te faire le boulot?
    - Je pense pas, sauf rémunération, là je veux bien

    Peut-on t'aider ?
    - Oui

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut re
    ben en fait, partir d'un script de news, je sais pas puisque je ne connais absolument rien au php...
    rémunération, je ne pense pas que ça soit possible
    j'ai donc la section administration qui est protégée par mot de passe (enfin pas encore, mais ça, les scripts, c'est pas ce qui manque je pense )
    Et dans cette section, je vais mettre un formulaire avec la cylindrée de la voiture, la puissance, le prix, etc...
    Et en cliquant sur le bouton "valider" de ce formulaire, une annonces correspondant à ce qui se trouve dans le formulaire doit se mettre dans la section "annonces", à la suite des autres annonces...

    sinon, personne n'a le temps et l'envie ?

    Merci beaucoup !!

    EDIT : je travaille sur un script de news, mais je bloque. j'ai toujours une erreur.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    voici index.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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Bienvenue sur mon site</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h1, h3
            {
                text-align:center;
            }
            h3
            {
                background-color:black;
                color:white;
                font-size:0.9em;
                margin-bottom:0px;
            }
            .news p
            {
                background-color:#CCCCCC;
                margin-top:0px;
            }
            .news
            {
                width:70%;
                margin:auto;
            }
            </style>
        </head>
     
        <body>
    <h1>Mise en place d'une annonce</h1>
    <p>Voici les annonces :</p>
     
    <?php
    mysql_connect("localhost", "sdz", "mot_de_passe");
    mysql_select_db("coursphp");
    // On récupère les 5 dernières news
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
    while ($donnees = mysql_fetch_array($retour))
    {
    ?>
    <div class="news">
        <h3>
            <?php echo $donnees['titre']; ?>
            <em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
        </h3>
     
        <p>
        <?php
        // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
        $contenu = nl2br(stripslashes($donnees['contenu']));
        echo $contenu;
        ?>
        </p>
    </div>
    <?php
    }
    ?>
    </body>
    </html>
    puis liste_news.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
    78
    79
    80
    81
    82
    83
    84
    85
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Liste des Annonces</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h2, th, td
            {
                text-align:center;
            }
            table
            {
                border-collapse:collapse;
                border:2px solid black;
                margin:auto;
            }
            th, td
            {
                border:1px solid black;
            }
            </style>
        </head>
     
        <body>
     
    <h2><a href="rediger_news.php">Ajouter une news</a></h2>
    <?php
    mysql_connect("localhost", "sdz", "mot_de_passe");
    mysql_select_db("coursphp");
    //-----------------------------------------------------
    // Vérification 1 : est-ce qu'on veut poster une news ?
    //-----------------------------------------------------
    if (isset($_POST['titre']) AND isset($_POST['contenu']))
    {
        $titre = addslashes($_POST['titre']);
        $contenu = addslashes($_POST['contenu']);
        // On vérifie si c'est une modification de news ou pas
        if ($_POST['id_news'] == 0)
        {
            // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
            mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");
        }
        else
        {
            // On protège la variable "id_news" pour éviter une faille SQL
            $_POST['id_news'] = addslashes($_POST['id_news']);
            // C'est une modification, on met juste à jour le titre et le contenu
            mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
        }
    }
     
    //--------------------------------------------------------
    // Vérification 2 : est-ce qu'on veut supprimer une news ?
    //--------------------------------------------------------
    if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
    {
        // Alors on supprime la news correspondante
        // On protège la variable "id_news" pour éviter une faille SQL
        $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
        mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
    }
    ?>
    <table><tr>
    <th>Modifier</th>
    <th>Supprimer</th>
    <th>Titre</th>
    <th>Date</th>
    </tr>
    <?php
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
    while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
    {
    ?>
    <tr>
    <td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
    <td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
    <td><?php echo stripslashes($donnees['titre']); ?></td>
    <td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
    </tr>
    <?php
    } // Fin de la boucle qui liste les news
    ?>
    </table>
    </body>
    </html>
    et pour finir, rediger_news.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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Rédiger une annonce</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h3, form
            {
                text-align:center;
            }
            </style>
        </head>
     
        <body>
    <h3><a href="liste_news.php">Retour à la liste des annonces</a></h3>
    <?php
    mysql_connect("localhost", "sdz", "mot_de_passe");
    mysql_select_db("coursphp");
    if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
    {
        // On protège la variable "modifier_news" pour éviter une faille SQL
        $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
        // On récupère les infos de la news correspondante
        $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
        $donnees = mysql_fetch_array($retour);
     
        // On place le titre et le contenu dans des variables simples
        $titre = stripslashes($donnees['titre']);
        $contenu = stripslashes($donnees['contenu']);
        $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
    }
    else // C'est qu'on rédige une nouvelle news
    {
        // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
        $titre = '';
        $contenu = '';
        $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
    }
    ?>
    <form action="liste_news.php" method="post">
    <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
    <p>
        Contenu :<br />
        <textarea name="contenu" cols="50" rows="10">
        <?php echo $contenu; ?>
        </textarea><br />
     
        <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
        <input type="submit" value="Envoyer" />
    </p>
    </form>
    </body>
    </html>
    Que dois-je faire avec tout ça ? Je ne m'y retrouve pas...

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

    Informations forums :
    Inscription : Février 2008
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Apprendre le PHP sera un bon début je pense

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    Pas le temps !

    J'ai modifié le script comme suit,

    la page administration.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
    78
    79
    80
    81
    82
    83
    84
    85
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
       <head>
           <title>Balcicars Bütgenbach</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h2, th, td
            {
                text-align:center;
            }
            table
            {
                border-collapse:collapse;
                border:2px solid black;
                margin:auto;
            }
            th, td
            {
                border:1px solid black;
            }
            </style>
        </head>
     
        <body>
     
    <h2><a href="rediger_news.php">Ajouter une annonce</a></h2>
    <?php
    mysql_connect("localhost", "sdz", "mot_de_passe");
    mysql_select_db("coursphp");
    //-----------------------------------------------------
    // Vérification 1 : est-ce qu'on veut poster une news ?
    //-----------------------------------------------------
    if (isset($_POST['titre']) AND isset($_POST['contenu']))
    {
        $titre = addslashes($_POST['titre']);
        $contenu = addslashes($_POST['contenu']);
        // On vérifie si c'est une modification de news ou pas
        if ($_POST['id_news'] == 0)
        {
            // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
            mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");
        }
        else
        {
            // On protège la variable "id_news" pour éviter une faille SQL
            $_POST['id_news'] = addslashes($_POST['id_news']);
            // C'est une modification, on met juste à jour le titre et le contenu
            mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
        }
    }
     
    //--------------------------------------------------------
    // Vérification 2 : est-ce qu'on veut supprimer une news ?
    //--------------------------------------------------------
    if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
    {
        // Alors on supprime la news correspondante
        // On protège la variable "id_news" pour éviter une faille SQL
        $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
        mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
    }
    ?>
    <table><tr>
    <th>Modifier</th>
    <th>Supprimer</th>
    <th>Titre</th>
    <th>Date</th>
    </tr>
    <?php
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
    while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
    {
    ?>
    <tr>
    <td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
    <td><?php echo '<a href="annonces.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
    <td><?php echo stripslashes($donnees['titre']); ?></td>
    <td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
    </tr>
    <?php
    } // Fin de la boucle qui liste les news
    ?>
    </table>
    </body>
    </html>
    La page annonces.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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Bienvenue sur mon site</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h1
            {
                text-align:center;
    			color: rgb(168, 0, 8);
            }
            h3
            {
    			text-align: center;
                background-color: black;
                color: white;
                font-size: 0.9em;
                margin-bottom: 0px;
            }
            .news p
            {
                background-color:#CCCCCC;
                margin-top:0px;
            }
            .news
            {
                width:70%;
                margin:auto;
            }
    		body
    		{
    		width: 800px;
    		margin: auto;
    		margin-top: 10px;
    		margin-bottom: 10px;
    		background-image: url("images/fond-francais-allemand.jpg");
    		}
    		.presentation
    		{
    		color: yellow;
    		font-weight: bold;
    		}
            </style>
        </head>
     
        <body>
    <h1>Bienvenue sur la page d'annonces.</h1>
    <p class="presentation">Voici les annonces :</p>
     
    <?php
    mysql_connect("localhost", "sdz", "mot_de_passe");
    mysql_select_db("coursphp");
    // On récupère les 5 dernières news
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
    while ($donnees = mysql_fetch_array($retour))
    {
    ?>
    <div class="news">
        <h3>
            <?php echo $donnees['titre']; ?>
            <em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
        </h3>
     
        <p>
        <?php
        // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
        $contenu = nl2br(stripslashes($donnees['contenu']));
        echo $contenu;
        ?>
        </p>
    </div>
    <?php
    } // Fin de la boucle des news
    ?>
    </body>
    </html>
    et pour finir, la page rediger_news.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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Rédiger une annonce</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h3, form
            {
                text-align:center;
            }
            </style>
        </head>
     
        <body>
    <h3><a href="annonces.php">Retour à la liste des annonces</a></h3>
    <?php
    mysql_connect("localhost", "sdz", "mot_de_passe");
    mysql_select_db("coursphp");
    if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
    {
        // On protège la variable "modifier_news" pour éviter une faille SQL
        $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
        // On récupère les infos de la news correspondante
        $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
        $donnees = mysql_fetch_array($retour);
     
        // On place le titre et le contenu dans des variables simples
        $titre = stripslashes($donnees['titre']);
        $contenu = stripslashes($donnees['contenu']);
        $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
    }
    else // C'est qu'on rédige une nouvelle news
    {
        // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
        $titre = '';
        $contenu = '';
        $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
    }
    ?>
    <form action="annonces.php" method="post">
    <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
    <p>
        Contenu :<br />
        <textarea name="contenu" cols="50" rows="10">
        <?php echo $contenu; ?>
        </textarea><br />
     
        <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
        <input type="submit" value="Envoyer" />
    </p>
    </form>
    </body>
    </html>

    Et lors des tests avec wamp, il me mets une erreur pour chaque page :
    Sur la page administration.php :
    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'sdz'@'localhost' (using password: YES) in C:\wamp\www\administration\administration.php on line 28

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\administration\administration.php on line 71
    Sur la page rediger_news.php :
    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'sdz'@'localhost' (using password: YES) in C:\wamp\www\administration\rediger_news.php on line 17
    Et sur la page annonces.php :
    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'sdz'@'localhost' (using password: YES) in C:\wamp\www\administration\annonces.php on line 51

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\administration\annonces.php on line 55
    Je ne comprends pas bien les erreurs... Quelqu'un pourrait-il me les expliquer ?

    Merci beaucoup

  7. #7
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    il semble que la connexion à ta base de données échoue

    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'sdz'@'localhost' (using password: YES) in C:\wamp\www\administration\administration.php on line 28
    Traduction du message : L'utilisateur sdz n'a pas le droit de se connecter à la base sur localhost

    Vérifie les paramètres que tu utilises pour te connecter

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    oui, j'ai changé ça et j'ai supprimé le timestamp(), puisque je n'en ai pas besoin...

    J'ai maintenant un autre problème : j'arrive a me connecter à la base de données, je sais rédiger une news, mais le seul problème est que celle-ci ne s'affiche pas dans ma page "annonces.php"...
    Je n'ai aucune erreur qui s'affiche

  9. #9
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    est-elle bien ajoutée dans la base de données ?

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    La news, non elle ne s'affiche pas dans ma base de donnees...

    J'ai déjà regardé au niveau du insert, mais je ne vois rien...

  11. #11
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    Tu pourrais envoyer la requête que tu utilises pour insérer une news ?

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    bien sur, la voila :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("INSERT INTO news VALUES('" . $titre. "', '" . $contenu. "')")or die(mysql_error());
    EDIT : ma base de donnees s'appelle "coursphp" et ma table s'appelle "news"

  13. #13
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    et tu es sur que cette ligne est bien exécutée ?

    Car logiquement, si elle est bien exécutée tu devrais :
    - soit retrouver la ligne insérée dans ta table news
    - soit avoir une erreur à l'écran

    Montre ton script complet pour gérer l'ajout d'une nouvelle news

  14. #14
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    mon script de news est divisé en trois pages :

    voila ma page administration.php : C'est dans celle là que j'ai un bouton pour ajouter une news... :
    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
    78
    79
    80
    81
    82
    83
    84
    85
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
       <head>
           <title>Balcicars Bütgenbach</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h2, th, td
            {
                text-align:center;
            }
            table
            {
                border-collapse:collapse;
                border:2px solid black;
                margin:auto;
            }
            th, td
            {
                border:1px solid black;
            }
            </style>
        </head>
     
        <body>
     
    <h2><a href="rediger_news.php">Ajouter une annonce</a></h2>
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("coursphp");
    //-----------------------------------------------------
    // Vérification 1 : est-ce qu'on veut poster une news ?
    //-----------------------------------------------------
    if (isset($_POST['titre']) AND isset($_POST['contenu']))
    {
        $titre = addslashes($_POST['titre']);
        $contenu = addslashes($_POST['contenu']);
        // On vérifie si c'est une modification de news ou pas
        if ($_POST['id_news'] == 0)
        {
            // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
            mysql_query("INSERT INTO news VALUES('" . $titre. "', '" . $contenu. "')")or die(mysql_error());
        }
        else
        {
            // On protège la variable "id_news" pour éviter une faille SQL
            $_POST['id_news'] = addslashes($_POST['id_news']);
            // C'est une modification, on met juste à jour le titre et le contenu
            mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'")or die(mysql_error());
        }
    }
     
    //--------------------------------------------------------
    // Vérification 2 : est-ce qu'on veut supprimer une news ?
    //--------------------------------------------------------
    if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
    {
        // Alors on supprime la news correspondante
        // On protège la variable "id_news" pour éviter une faille SQL
        $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
        mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'')or die(mysql_error());
    }
    ?>
    <table><tr>
    <th>Modifier</th>
    <th>Supprimer</th>
    <th>Titre</th>
    <th>Date</th>
    </tr>
    <?php
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC')or die(mysql_error());
    while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
    {
    ?>
    <tr>
    <td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
    <td><?php echo '<a href="annonces.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
    <td><?php echo stripslashes($donnees['titre']); ?></td>
    <td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
    </tr>
    <?php
    } // Fin de la boucle qui liste les news
    ?>
    </table>
    </body>
    </html>
    J'ai ma page rediger_news.php, c'est celle où je rédige ma news :
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Rédiger une annonce</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h3, form
            {
                text-align:center;
            }
            </style>
        </head>
     
        <body>
    <h3><a href="annonces.php">Retour à la liste des annonces</a></h3>
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("coursphp");
    if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
    {
        // On protège la variable "modifier_news" pour éviter une faille SQL
        $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
        // On récupère les infos de la news correspondante
        $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'') or die(mysql_error());
        $donnees = mysql_fetch_array($retour);
     
        // On place le titre et le contenu dans des variables simples
        $titre = stripslashes($donnees['titre']);
        $contenu = stripslashes($donnees['contenu']);
        $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
    }
    else // C'est qu'on rédige une nouvelle news
    {
        // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
        $titre = '';
        $contenu = '';
        $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
    }
    ?>
    <form action="annonces.php" method="post">
    <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
    <p>
        Contenu :<br />
        <textarea name="contenu" cols="50" rows="10">
        <?php echo $contenu; ?>
        </textarea><br />
     
        <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
        <input type="submit" value="Envoyer" />
    </p>
    </form>
    </body>
    </html>
    Et ma page annonces, la où mes news sont sensées s'afficher :

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Bienvenue sur mon site</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h1
            {
                text-align:center;
    			color: rgb(168, 0, 8);
            }
            h3
            {
    			text-align: center;
                background-color: black;
                color: white;
                font-size: 0.9em;
                margin-bottom: 0px;
            }
            .news p
            {
                background-color:#CCCCCC;
                margin-top:0px;
            }
            .news
            {
                width:70%;
                margin:auto;
            }
    		body
    		{
    		width: 800px;
    		margin: auto;
    		margin-top: 10px;
    		margin-bottom: 10px;
    		background-image: url("images/fond-francais-allemand.jpg");
    		}
    		.presentation
    		{
    		color: black;
    		font-weight: bold;
    		}
            </style>
        </head>
     
        <body>
    <h1>Bienvenue sur la page d'annonces.</h1>
    <p>Veuillez cliquer <a href="./francais.html">ici</a> pour retourner à la page d'acceuil en français.</p>
    <p>Bitte clicken sie <a href="./allemand.html">hier</a> um zurück zur deutschen hauptseite zu gehen.</p>
    <p class="presentation">Voici les annonces :</p>
     
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("coursphp");
    // On récupère les 5 dernières news
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5')or die(mysql_error());
    while ($donnees = mysql_fetch_array($retour))
    {
    ?>
    <div class="news">
        <h3>
            <?php echo $donnees['titre']; ?>
        </h3>
     
        <p>
        <?php
        // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
        $contenu = nl2br(stripslashes($donnees['contenu']));
        echo $contenu;
        ?>
        </p>
    </div>
    <?php
    } // Fin de la boucle des news
    ?>
    </body>
    </html>
    EDIT : je fais mes essais avec wamp, et je n'ai aucune erreur

  15. #15
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    plusieurs choses :

    - dans tes requêtes, tu considères l'id de NEWS comme une chaine de caractères, c'est normal ?

    - sur la page rediger_news.php, tu as défini la page d'action de ton formulaire comme annonces.php. Donc lorsque l'utilisateur clique sur Envoyer, le navigateur envoie la requête à la page annonces.php. Page où tu ne traites absolument pas l'insertion ou la modification d'une news

    Je pense que ton problème est ici

  16. #16
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    considérer l'ID news comme une chaine de caracteres, je vais regarder...

    J'ai changé la page d'action...j'ai mais la page administration.php à la place, est-ce correct ? sinon, je dois mettre quelle page ?

    Sur ma page annonces.php, après avoir changé la page rediger_news.php comme je le dis plus haut, j'ai l'erreur "Column count doesn't match value count at row 1"...


    Je dois aller travailler, je reviendrai le plus tot possible... ce sera sans doutes ce soir... mais il se peut que je soit revenu plus tot aussi.

    Merci de votre aide !

  17. #17
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    Quelle est la structure de la table news ?

  18. #18
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    voila un petit screen :
    Images attachées Images attachées  

  19. #19
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    En effet, tu dois préciser une valeur pour l'id de la news
    Mets NULL comme 1er paramètre dans ta requête d'insertion

  20. #20
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    c'est fait, il me fait une parse error...
    Voila la nouvelle requete insert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("INSERT INTO news VALUES('"NULL"''" . $titre. "', '" . $contenu. "')")or die(mysql_error());

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/09/2010, 19h00
  2. Réponses: 1
    Dernier message: 01/03/2007, 08h24
  3. [Directives] Phpinfo( ) : désactiver des sections : possibles ?
    Par raffa dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 14/02/2006, 12h20
  4. [Conception] Section administration d'un site, tables
    Par bolo dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 02/04/2003, 14h17
  5. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55

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