web-dev-qa-db-fra.com

Récupérer des données de la base de données MySQL en utilisant PHP, les afficher dans un formulaire pour les éditer

Je suis un débutant dans ce domaine et j'ai écrit le code ci-dessous pour récupérer les données utilisateur d'une base de données MySQL et les afficher sous une forme permettant leur édition et leur sauvegarde. Le problème est que cela ne fonctionne pas. Toute aide serait appréciée.

<html>
    <head>
        <title> Delegate edit form</title>
    </head>
    <body>
        Delegate update form  <p>
            <?php
            $usernm   = "root";
            $passwd   = "";
            $Host     = "localhost";
            $database = "Swift";

            //$Name=$_POST['Name'];
            //$Username=$_POST['User_name'];
            //$Password=$_POST['Password'];

            mysql_connect($Host,$usernm,$passwd);

            mysql_select_db($database);

            $sql    = "SELECT * FROM usermaster WHERE User_name='$Username'";
            $result = mysql_query($sql) or die(mysql_error());
            while ($row    = mysql_fetch_array($result))
            {

                $Name     = $row['Name'];
                $Username = $row['User_name'];
                $Password = $row['User_password'];
            }
            ?>
        <form action="Delegate_update.php" method="post">
            Name
            <input type="text" name= "Name" value= "<?php echo $row ['Name']; ?> "size=10>
            Username
            <input type="text" name= "Username" value= "<?php echo $row ['Username']; ?> "size=10>
            Password
            <input type="text" name= "Password" value= "<?php echo $row ['Password']; ?>" size=17>
            <input type="submit" name= "submit" value="Update">
        </form>
    </body>
</html>
4
user3552442

Jouez autour de ce morceau de code. Concentrez-vous sur le concept, éditez-le si nécessaire pour qu'il puisse 

<html>
<head>
    <title> Delegate edit form</title>
</head>
<body>
    Delegate update form  </p>

    <meta name="viewport" content="width=device-width; initial-scale=1.0">

    <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />


    <link href='http://fonts.googleapis.com/css?family=Droid+Serif|Ubuntu' rel='stylesheet' type='text/css'>

    <link rel="stylesheet" href="css/normalize.css">
    <link rel="stylesheet" href="js/flexslider/flexslider.css" />
    <link rel="stylesheet" href="css/basic-style.css">




    <script src="js/libs/modernizr-2.6.2.min.js"></script>

    </head>

    <body id="home">

        <header class="wrapper clearfix">



            <nav id="topnav" role="navigation">
                <div class="menu-toggle">Menu</div>
                <ul class="srt-menu" id="menu-main-navigation">
                    <li><a href="Swift_Landing.html">Home page</a></li>

        </header>
        </section>

        <style>
            form label {
                display: inline-block;
                width: 100px;
                font-weight: bold;
            }
        </style>
        </ul>

        <?php
        session_start();
        $usernm="root";
        $passwd="";
        $Host="localhost";
        $database="Swift";

        $Username=$_SESSION['myssession'];



        mysql_connect($Host,$usernm,$passwd);

        mysql_select_db($database);

        $sql = "SELECT * FROM usermaster WHERE User_name='$Username'";
        $result = mysql_query ($sql) or die (mysql_error ());
        while ($row = mysql_fetch_array ($result)){

        ?>

        <form action="Delegate_update.php" method="post">
            Name
            <input type="text" name="Namex" value="<?php echo $row ['Name']; ?> " size=10>
            Username
            <input type="text" name="Username" value="<?php echo $row ['User_name']; ?> " size=10>
            Password
            <input type="text" name="Password" value="<?php echo $row ['User_password']; ?>" size=17>
            <input type="submit" name="submit" value="Update">
        </form>
        <?php
        }
        ?>
        </p>
    </body>
</html>
11
The Oracle
<form action="Delegate_update.php" method="post">
Name
<input type="text" name= "Name" value= "<?php echo $row['Name']; ?> "size=10>
Username
<input type="text" name= "Username" value= "<?php echo $row['Username']; ?> "size=10>
Password
<input type="text" name= "Password" value= "<?php echo $row['Password']; ?>" size=17>
<input type="submit" name= "submit" value="Update">
</form>

Vous n'avez pas fermé votre formulaire d'ouverture en premier lieu, plus votre code est très très compliqué. Je n'entrerai pas dans les instructions "use pdo ou mysqli, à la place de mysql" pour que vous puissiez vous renseigner sur vous-même. Aussi, vous avez une balise php ouverte et fermée en dessous, pas sûr de ce qui est nécessaire. Autre chose, votre code fait référence à une page externe, que vous n'avez pas postée. Par conséquent, si quelque chose ne fonctionne pas, cela pourrait être pratique de l'afficher également. 

Notez également que vous avez des espaces entre vos variables de tableau $ row dans le formulaire. Vous devez les lier ensemble en supprimant l'espace (voir la section modifiée de moi). PHP ne pardonne pas en ce qui concerne ces erreurs.

Puis votre HTML. J'ai pris la liberté de corriger ça aussi

<html>
    <head>
        <title> Delegate edit form</title>
    </head>

    <body>
          <p>Delegate update form</p>
<?php
$usernm="root";
$passwd="";
$Host="localhost";
$database="Swift";

mysql_connect($Host,$usernm,$passwd); 
mysql_select_db($database);

$sql = "SELECT * FROM usermaster WHERE User_name='".$Username."'"; // Please look at this too.
$result = mysql_query($sql) or die (mysql_error()); // dont put spaces in between it, else your code wont recognize it the query that needs to be executed
while ($row = mysql_fetch_array($result)){     // here too, you put a space between it
    $Name=$row['Name'];
    $Username=$row['User_name'];
    $Password=$row['User_password'];
    }
?>

Aussi, essayez d'être spécifique. "Cela ne fonctionne pas" ne nous aide pas beaucoup, un type d'erreur spécifique est généralement utile, plus toute indication sur le code (ce qui était plutôt évident ici, car c'est un login/register modifier ici, mais pour de plus gros morceaux de code ça devrait toujours être expliqué)

Quoi qu'il en soit, bienvenue dans Stack Overflow

5
Dorvalla
<form action="Delegate_update.php" method="post">
  Name
  <input type="text" name= "Name" value= "<?php echo $row['Name']; ?> "size=10>
  Username
  <input type="text" name= "Username" value= "<?php echo $row['Username']; ?> "size=10>
  Password
  <input type="text" name= "Password" value= "<?php echo $row['Password']; ?>" size=17>
  <input type="submit" name= "submit" value="Update">
</form>

regarder dans cette

1
aaama

s'il vous plaît essayez ces 

<form action="Delegate_update.php" method="post">
Name
<input type="text" name= "Name" value= "<?php echo $row['Name']; ?> "size=10>
Username
<input type="text" name= "User_name" value= "<?php echo $row['User_name']; ?> "size=10>
Password
<input type="text" name= "User_password" value= "<?php echo $row['User_password']; ?>" size=17>
<input type="submit" name= "submit" value="Update">
</form>
0
Vennyvenance