Probleme Php

tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   -  
tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai fait un code qui ne marche pas :

<html>
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="theme\General.css" />
</head>
<body>
<?php
mysql_connect("localhost", "root");
mysql_select_db("Ado");
mysql_query("INSERT INTO Membres VALUES('$_POST[nom]', '$_POST[prenom]', '$_POST[pseudo]', '$_POST[pass]', '$_POST[age]', $_POST[sexe], '$_POST[message]', '')");
mysql_close();
?>
<meta http-equiv="Refresh" content="1;url=index.php">
</body>
</head>

Lorsque j'enleve le php, tous marche trés bien! Je ne comprend pas...
A voir également:

20 réponses

Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Bonjour,

Je n'ai pas regardé de fond en comble mais déjà tu as oublié les ' ' : $_POST['nom'] par exp
0
tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   21
 
Oui mais si je les mais cela provoque des erreur.
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
En fait ces écritures me "gênent" parce que je ne les utilise jamais.
Pour moi il est plus clair de taper ça :

$host='localhost';
$user='#';
$password='#';
$base='#';

//connexion à ta base
$link = mysql_connect($host,$user,$password) or die('Erreur de connexion au SGBD.');
mysql_select_db($base,$link) or die('La base de données n\'existe pas.');

//requête SQL
$sql = 'INSERT INTO Membres VALUES ('$_POST['nom']', '$_POST['prenom']', '$_POST['pseudo']', '$_POST['pass']', '$_POST['age']', $_POST['sexe'], '$_POST['message']')';
$res = mysql_query($sql,$link) or die("Erreur SQL : $query<br/>".mysql_error());
mysql_close();


MAIS ça ne change rien à ton problème. Tu n'aurais pas oublié de mettre ton mot de passe SGBD..? Il te sort quoi comme message d'erreur ?
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
PS : pour $_POST['sexe'] tu as aussi oublié les ' ', mais autour
PS 2 : d'où viennent tes variables POST ?
0

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

Posez votre question
Le concombre vaporisé
 
Salut

De plus:
* le meta refresh devrait être dans <HEAD>...</HEAD>
* le </BODY> est écrit </HEAD>
* le formulaire ne devrait pas être utilisé directement et sans contrôle dans l'INSERT (utiliser isset() pour éviter les nulls et mysql_real_escape_string() pour éviter les pièges)
0
tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   21
 
J'ai reussi à coriger mon programme par rapport a ce que vous m'avez dit. Maintenent, j'ai un petit souci... mes variable nom, prenom, passe, pseudo... sont inexistant alor que leur ai declarer. Mon code :

<html>
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="theme\General.css" />
</head>
<body>
<?php
$host='localhost';
$user='root';
$password='';
$base='ado';
if (isset($_POST['nom'])) $nom=$_POST['nom'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=1">');
if (isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=2">');
if (isset($_POST['pseudo'])) $pseudo=$_POST['pseudo'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=3">');
if (isset($_POST['pass'])) $pass=$_POST['pass'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=4">');
if (isset($_POST['confirm'])) $confirm=$_POST['confirm'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=5">');
if (isset($_POST['age'])) $age=$_POST['age'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=6">');
if (isset($_POST['sexe'])) $sexe=$_POST['sexe'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=7">');
if (isset($_POST['message'])) $message=$_POST['message'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=8">');
$link = mysql_connect($host,$user,$password) or die('Erreur de connexion au SGBD.');
mysql_select_db($base,$link) or die('La base de données n\'existe pas.');
$sql = "INSERT INTO membre VALUES ('$nom', '$prenom', '$pseudo', '$pass', '$age', '$sexe', '$message')" or die ("Erreur!");
$res = mysql_query($sql,$link) or die("Erreur! ".mysql_error());
mysql_close();
header('Location: index.php');
?>
</body>
</head>
0
tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   21
 
Personne?
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Re,

echo '$nom = $_POST['nom']'; avant le premier ISSET ça te donne quelque chose ?
(pour savoir si avec ton formulaire tout va bien)
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
PS : au début tu nous as dit qu'il y a 8 champs dans ta base ado, là tu n'en remplis que 7.
0
tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   21
 
Il affiche ca comme erruer : Column count doesn't match value count at row 1
Je pige rien du tout!
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
0
tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   21
 
J'ai resolu le probleme sauf que maintenent, lorsque je charge la page, il affiche Internet ne peut pas afficher la page.

Info : J'utilise wamp pour simuler mes page. J'ai test avec EasyPhp et PhpEdit, méme chose.
0
tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   21
 
A mon avis doit avoir une erreur dans le code :

<html>
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="theme\General.css" />
</head>
<body>
<?php
$host='localhost';
$user='root';
$password='';
$base='ado';
if (isset($_POST['nom'])) $nom=$_POST['nom'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=1">');
if (isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=2">');
if (isset($_POST['pseudo'])) $pseudo=$_POST['pseudo'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=3">');
if (isset($_POST['pass'])) $pass=$_POST['pass'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=4">');
if (isset($_POST['confirm'])) $confirm=$_POST['confirm'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=5">');
if (isset($_POST['age'])) $age=$_POST['age'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=6">');
if (isset($_POST['sexe'])) $sexe=$_POST['sexe'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=7">');
if (isset($_POST['message'])) $message=$_POST['message'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=8">');
$link = mysql_connect($host,$user,$password) or die('Erreur de connexion au SGBD.');
mysql_select_db($base,$link) or die('La base de données n\'existe pas.');
$sql = "INSERT INTO membre VALUES ('$nom', '$prenom', '$pseudo', '$pass', '$age', '$sexe', '$message', '')" or die ("Erreur!");
$res = mysql_query($sql,$link) or die("Erreur! ".mysql_error());
mysql_close();
header('Location: index.php');
?>
</body>
</head>
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Salut, supprime ta fermeture </head> à la fin de ton code déjà (j'ai pas regardé le reste)
0
tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   21
 
Voila! C fait. Mai ca marce toujou pas... SNIF SNIF
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Essaie comme ça, le header doit être responsable.
Tu peux nous mettre tout ton code stp ?

<?php
// ID BASE
$host='localhost';
$user='root';
$password='';
$base='ado';

// connexion base
$link = mysql_connect($host,$user,$password) or die('Erreur de connexion au SGBD.');
mysql_select_db($base,$link) or die('La base de données n\'existe pas.');

// instructions
if (isset($_POST['nom'])) $nom=$_POST['nom'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=1">');
if (isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=2">');
if (isset($_POST['pseudo'])) $pseudo=$_POST['pseudo'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=3">');
if (isset($_POST['pass'])) $pass=$_POST['pass'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=4">');
if (isset($_POST['confirm'])) $confirm=$_POST['confirm'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=5">');
if (isset($_POST['age'])) $age=$_POST['age'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=6">');
if (isset($_POST['sexe'])) $sexe=$_POST['sexe'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=7">');
if (isset($_POST['message'])) $message=$_POST['message'];
else die ('<meta http-equiv="Refresh" content="1;url=index.php?inscr=8">');

$sql = "INSERT INTO membre VALUES ('$nom', '$prenom', '$pseudo', '$pass', '$age', '$sexe', '$message', '')" or die ("Erreur!");
$res = mysql_query($sql,$link) or die("Erreur! ".mysql_error());
mysql_close();
header('Location: index.php');
?>

<html>
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="theme\General.css" />
</head>
<body>


</body>
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
PS : et ferme ton </html> à la toute fin
0
tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   21
 
Problemme Resolue. Il fallait enlever la ligne mysql_close();


@+
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Non je pense pas que ce soit la solution.
De rien..
0
tekthomasdu96 Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   21
 
Pourtant ca marche!
0