[PHPmysql] probleme de noob
                    
        
     
             
                    canado
    
        
    
                    Messages postés
            
                
     
             
            27
        
            
                                    Statut
            Membre
                    
                -
                                     
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. ^^
                
            
                
    
    
    
        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
                        
                    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>
    
                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>
                        
                    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.
                
                
    
                Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    Normal, il y a une erreur dans ce que t'as mis elghafoud.
if ($textfield =! "")
Correction :
    
                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>
                
                