[PHPmysql] probleme de noob

canado Messages postés 27 Statut Membre -  
canado Messages postés 27 Statut Membre -
Bonjour, je débute dans le phpmysql, et donc dans ce systeme de base de donnée, bref j'essaye tout simplement d'inserer une variable dans un champ se trouvant dans une table que j'ai créée, le probleme c'est qu'a l'affichage de la page il me met directement une erreur, la suivante:
Notice: Undefined variable: textfield in c:\program files\easyphp1-8\www\index.php on line 13
Apparement, la variable textfield est indéfini, pourtant je la met bien, alors je sais pas ce qu'il y a.
Donc je vous met tout le code de la page:

<html>
<head>
<title>Menu</title>

</head>

<body>
<form name="test" action="./" method="post">
<div align="center">Nom:
<input name="textfield" type="text">
<?php
mysql_connect("localhost","root","");
mysql_select_db("essai");
if ($textfield != NULL)
mysql_query("INSERT INTO test VALUES('','$textfield')");
mysql_close();
?>
<input name="Valider" input type="submit" value="Valider">
</div>
</form>
</body>
</html>

Merci de votre aide.
PS: si ca peut vous aidez je travail en local, alors si j'ai oublié de regler quelque chose dites le moi, merci. ^^

7 réponses

elghafoud
 
j'ai deux remarque a faire, je sais que tu es debutant mais dés mnt essaye de ne pas melanger le code php et le html, sinon la 2eme c'est le faite de se connecter a la base a chaque rechargement de la page sert a rien du tout!

j'ai courigé ton problem, j'espere que c'est ok pour toi:

<html>
<head>
<title>Menu</title>

</head>

<body>
<form name="test" action="?" method="post">
<div align="center">Nom:
<input name="textfield" type="text">


<?php

if (isset($_POST['textfield'])) {
$textfield = $_POST['textfield'];
if ($textfield =! "") {
mysql_connect("localhost","root","");
mysql_select_db("essai");


mysql_query("INSERT INTO test VALUES('','$textfield')");
mysql_close();
}
?>
<input name="Valider" input type="submit" value="Valider">
</div>
</form>
</body>
</html>
0
canado Messages postés 27 Statut Membre
 
J'essaye tout de suite merci. ^^
desolé d'avoir mis ca la, parce que l'on me repond rarement.
0
canado Messages postés 27 Statut Membre
 
Bon, j'ai essayé et il me dit qu'il y a une erreur, le dernier accolade je le met ou? merci
0
canado Messages postés 27 Statut Membre
 
Bon j'ai essayé de mettre l'acolade apres que tu ai refermé la premiere, et pis dans ma table les enregistrement sont bien pris en compte, le seul probleme est qu'il ne me met pas le mot que j'ai moi meme mis mais il me met le caractere "1" a la place.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
canado Messages postés 27 Statut Membre
 
personne n'a deja eu ce probleme la?
0
Yvan
 
Normal, il y a une erreur dans ce que t'as mis elghafoud.

if ($textfield =! "")

Correction :
<?php

if( isset($_POST['Valider']) )
{
    $textfield = trim($_POST['textfield']);
    if( !empty($textfield) )
    {
        unset($message);
        $textfield = mysql_real_escape_string($textfield);
        $connexion = mysql_connect('localhost', 'root', '');
        $bdd = mysql_select_db('essai');
        @ $query = mysql_query("INSERT INTO test VALUES('','" . $textfield . "')");
        if( $query )
        {
            $message = 'Données bien enregistrées.';
        }
        else
        {
            $message = 'Erreur de requête :<br /><br />' . mysql_error();
        }
    }
}

?>

<html>
<head>
<title>Menu</title>
</head>

<body>
<?php
if( isset($message) )
{
    echo '<p>' . $message . '</p>';
}
else
{
?>
  <form name="test" action="" method="post">
    <div align="center">Nom:
    <input name="textfield" type="text">
    <input name="Valider" type="submit" value="Valider">
    </div>
  </form>
<?php
}
?>
</body>
</html>
0
canado Messages postés 27 Statut Membre
 
Ha merci, j'avais pas vu cette erreur non plus, merci beaucoup ^^
0