lien titre news php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : lien titre news php

Re: lien titre news php

par lyly95 » 20 janv. 2014, 18:53

merci beaucoup

Re: lien titre news php

par moogli » 20 janv. 2014, 15:31

salut,

Merci de ne pas mettre "au secours ou autre dans le titre".
Si c'est vital tu as le 17 ou 18 !

pour ton problème, le truc c'est que je pense que tu as récupéré des bout de code que tu as essayé d'assembler ?

Je suppose aussi que ton serveur de développement n'est pas configuré pour afficher les erreurs ou n'affiche pas les bon niveau d'erreur.
si cela était le cas tu aurais de belle erreur php affichée au milieux de ta page.
 while($row = mysql_fetch_array($rs, MYSQL_NUM)) {
        echo '<H1><a href="edition.php?nume_articles='.$row["nume_articles"].'">'.$row[0].'</a></H1>';
le seconde while($row = mysql_fetch_array($rs, MYSQL_NUM)) {

echo '<H1><a href="edition.php?nume_articles='.$row["nume_articles"].'">'.$row[0].'</a></H1>';

regarde bien la documentation de la fonction mysql_fetch_array et tu devrait comprendre pourquoi $row["nume_articles"] devrait retourner une erreur.


seconde page : $strSQL = "SELECT * FROM articles where nume_articles = {$_REQUEST['nume_articles']}";

la requête est sensible aux injection sql (demande à google pour d'info) c'est docn à corriger.
la suite du code n'est pas logique vu que tu essai d'afficher des chose qui n'existe pas comme echo $_request["titre"];.
De plus tu n'utilise pas les information retournée par la requête sql select.

reprend les tutos de base sur l'accès et l'utilisation de mysql tu devrais t'en sortir.

vu que tu commence je t'invite à ne pas utiliser les fonction mysql_* mais mysqli_* car la première extension est vouée à disparaitre autant ne pas commencer par faire du code obsolète.
Si tu as, pas exemple, un prof / tuteur / je sais pas quoi qui ne va pas dans ce sens il est préférable qu'il réactualise ses connaissances :mrgreen: (cf doc php).


@+

lien titre news php

par lyly95 » 20 janv. 2014, 14:43

Bonjour,

je suis débutante sur php et je suis actuellement sur la création d'un blog ou des utilisateurs peuvent écrire un article, l'éditer et le supprimer. Je suis depuis 4 semaines sur la page d'édition :cry: ,. Je m'explique, j'ai une page de membre ou s'affiche tous les titres des articles des membres connectés et j'ai une page édition qui devrait afficher l'article complet de l'utilisateur quand il aura cliqué sur son titre.
voici ma page membre
<?php
    session_start();
    ?>

    <html>
        <head>
        <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
        <title>Espace membre</title>
        <link rel="stylesheet" type="text/css" href="membre.css">
        </head>
         <style type="text/css">
            body{
         background-color: #a2bdb6;
                }
        </style>
    <form method="post" action="edition.php">

    <body>
        <center>
            <h1>Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?> !</h1>
        <div><a href="nouvel_article.php">créer un nouvel article</a></div><br></br>
        <div>Voici les titres de vos articles</div>
        <?php
            session_start(); 
            if (!isset($_SESSION['login'])){
            $login = $_SESSION['login']; 
                }
//On se connecte à la base de données
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion'.mysql_error());
// sélection de la base 

    mysql_select_db('cnam',$db)  or die('Erreur de selection '.mysql_error());

    // SQL query
    $strSQL = "SELECT titre, nume_articles FROM articles, utilisateurs where articles.nume_utilisateurs=utilisateurs.nume_utilisateurs AND login='".mysql_real_escape_string($_SESSION['login'])."'";

    // Execute the query (the recordset $rs contains the result)
    $rs = mysql_query($strSQL);

    // Loop the recordset $rs
    // Each row will be made into an array ($row) using mysql_fetch_array
      
    while($row = mysql_fetch_array($rs, MYSQL_NUM)) {

        echo '<H1><a href="edition.php?nume_articles='.$row["nume_articles"].'">'.$row[0].'</a></H1>';
        echo '<a href="edition.php?nume_articles='.$row['nume_articles'].'">Modifier cette news</a><br/><br/>';
        echo '<a href="suppr.php?nume_articles='.$row['nume_articles'].'">supprimer cette news</a><br/><br/>';


      }
mysql_close();
?>

        <div class="retour"><a href="sitecnam.php">Page d'accueil</div>

                </center>
            </form>
        </body>
    </html>
et voici ma page d'édition
<?php
session_start();
?>

                 <?php
                 $db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
                    mysql_select_db('cnam',$db)  or die('Erreur de selection '.mysql_error());



 // sélection de la base 
    $strSQL = "SELECT * FROM articles where nume_articles = {$_REQUEST['nume_articles']}";
    $rs = mysql_query($strSQL);
    $data=mysql_fetch_assoc($rs);
   ?>
<form method="post" action="edition.php"/>
<center>
Titre: <input type="text" name="titre" value="<?php echo $_request["titre"]; ?>"/>
<br/>
Contenu: <br/>
<textarea name="contenu"><?php echo $_REQUEST["texte"]; ?></textarea>
  <input type="submit" value="valider"/>
</center>
</form>