Probleme Php

Fermé
tekthomasdu96 Messages postés 264 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 - 7 janv. 2010 à 20:32
tekthomasdu96 Messages postés 264 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 - 9 janv. 2010 à 14:32
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 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
7 janv. 2010 à 20:41
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 mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 21
7 janv. 2010 à 20:58
Oui mais si je les mais cela provoque des erreur.
0
Bertrand40 Messages postés 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
7 janv. 2010 à 21:11
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 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
7 janv. 2010 à 21:13
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é
7 janv. 2010 à 21:27
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 mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 21
8 janv. 2010 à 17:37
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 mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 21
8 janv. 2010 à 18:13
Personne?
0
Bertrand40 Messages postés 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
8 janv. 2010 à 18:21
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 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
8 janv. 2010 à 18:24
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 mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 21
8 janv. 2010 à 18:46
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 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
8 janv. 2010 à 18:48
0
tekthomasdu96 Messages postés 264 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 21
9 janv. 2010 à 12:19
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 mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 21
9 janv. 2010 à 12:32
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 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
9 janv. 2010 à 12:36
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 mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 21
9 janv. 2010 à 12:41
Voila! C fait. Mai ca marce toujou pas... SNIF SNIF
0
Bertrand40 Messages postés 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
9 janv. 2010 à 12:50
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 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
9 janv. 2010 à 13:20
PS : et ferme ton </html> à la toute fin
0
tekthomasdu96 Messages postés 264 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 21
9 janv. 2010 à 13:27
Problemme Resolue. Il fallait enlever la ligne mysql_close();


@+
0
Bertrand40 Messages postés 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
9 janv. 2010 à 13:38
Non je pense pas que ce soit la solution.
De rien..
0
tekthomasdu96 Messages postés 264 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 12 juin 2012 21
9 janv. 2010 à 14:32
Pourtant ca marche!
0