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...

20 réponses

Bertrand40 Messages postés 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 193
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 193
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 193
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 193
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 193
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 193
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 193
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 193
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 193
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 193
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