Se connecter avec
S'enregistrer | Connectez-vous

prob bdd

Dernière réponse : dans Programmation

bonjour je ne sais plus que faire ^^ jai cree une table test sur ma bdd ... et jai cree deux pages php "appel.php +cible.php) avec les codes suivants

APPEL.PHP

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body><form action="cible.php" method="post">
<p> </p>
<p>TEST de mon formulaire</p>
<p>
<input type="password" name="pass" />
<input type="submit" value="Valider" />
</p>
</form>
</body>
</html>

CIBLE.PHP

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<?php
if (isset($_POST['pass']))
{
if ($_POST['image'] != NULL)
{
mysql_connect("mysqlbox", "monlogin", "monmdp");
mysql_select_db("test");

mysql_query("INSERT INTO test VALUES('', '" . $_POST['pass'] . "')");
}
else
{
echo "Veuillez remplir tous les champs";
}
}
?>
</body>
</html>

sur mon site a chaque fois que je teste, ca me met veuillez remplir tous les champs alors quil ny en a que un et que je met un truc dedans !

lorsqu je veux executer une requete sur ma bdd par ex :( je ne sais pas si ce serait utile dans mon cas)

mysql_query("INSERT INTO test VALUES('', '" . $_POST['pass'] . "')")

---> ca me met erreur d synthae a la ligne une vous en voyez une ? Merci pour votre aide jen ai vrmt besoin

Autres pages sur : prob bdd

Lassé par la pub ? Créez un compte

je comprends pas comment tu peux avoir crée ses 2 pages et mettre un $_POST['image'] sans l'avoir créer auparavant...

et en general il faut apprendre a utiliser echo, var_dump et print_r, la plupart des problèmes se resolvent en sachant ce qu'il y a dans les variables

EDIT: pour la requête je croyais que tu passais 2 argument a mysql_query mais c'est à cause de la police, faudrait indiquer le message d'erreur que ca te met

je répond dans l'ordre inverse:
- la première partie: oui, il faut virer le if () { ainsi que le dernier }
- la requète... si tu la teste tel-quel dans phpmyadmin, c'est normal que tu ais une erreur, il faut remplacer " . $_POST['pass'] . " par une valeur littérale (string), phpmyadmin n'interprète pas encore le PHP (et serait bien en peine de savoir quel est ce $_POST).

pour de plus amples infos regardez la c'est la partie concernee

http://steam-advantages.halflifexpert.com/appel.php

ok merci pour la correction du script mais peux tu c/ c le code en retirant ce qu'il faut svp? car je debute la dedans et je ne veux pas faire de faute ,,, cela m'aiderait Merci


voila ce que j'ai fait :

CIBLE.PHP

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<?php
if (isset($_POST['pass']))
{
mysql_connect("mysqlbox", "monlogin", "monmdp" );
mysql_select_db("test" );

mysql_query("INSERT INTO test VALUES('', '" . $_POST['pass'] . "')" );
}
else
{
echo "Veuillez remplir tous les champs";
}
?>
</body>
</html>

voila mais mn ca me met ca :


Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'monlogin@192.168.1.1' (mot de passe: OUI) in /data/www/halflifexpert/steam-advantages/cible.php on line 12

Warning: mysql_select_db() [function.mysql-select-db]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /data/www/halflifexpert/steam-advantages/cible.php on line 13

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /data/www/halflifexpert/steam-advantages/cible.php on line 13

Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /data/www/halflifexpert/steam-advantages/cible.php on line 15

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /data/www/halflifexpert/steam-advantages/cible.php on line 15

quand j'ai clique sur suivant !

voila j'ai resolu certains problemes mais il en reste un ...quand je vais sur ma bdd ca me mets : enregistrement :0 c'est normal?(ce n'est pas cense etre le nombre de gars qui ont ecri leur mdp par exemple )??

ca peut etre du au fait que je n'ai pas encore executer ma requete?

je crois qu'il faut que tu revois tes identifiants mysql
donc c'est normal qu'il n'insere rien, il se connecte meme pas

sur ton site promet, ca s'ecrit avec un o :) 

EDIT: cible.php n'affichera jamais "Veuillez remplir tous les champs" car $_POST est toujours défini, par contre il peut être vide

en clair, ^^ pour qqun ne s'y connaissant pas trop, que dois-je faire stp? car maintenan j'ai corrigé mes identifiants et ca ne met plus d'erreur comme avant mais la requete ne va toujours pas ...Peux tu me dire clairement que mettre dans requete svp? ^^

premièrement, ce que je n'arrête pas de dire, répéter, rabacher...
pour vérifier une variable de formulaire, la méthode est:
  1. if (isset($variable) && ($variable!=""))

ensuite, est-ce que ta table ne contient que 2 champs dont un (le premier) autoincrémentiel?

bien sur, tu envois du php dans une interface SQL.
Si tu es déjà sur phpmyadmin, tu es connecté à ta base.

Je te conseille d'aller les lire justement, les bases du php et de mysql.

Pour ta requete, du coup, elle devient:
  1. mysql_query("INSERT INTO test VALUES('" . $_POST['pass'] . "')" );

crazycat: et moi qui te trouvais vachement patient :D 

jlee: je peux me tromper mais je crois que ici, c'est un forum d'aide.
on travaille pas à la place des autres.

regardes les liens que je t'ai passé, essayes des trucs et revient si t'as un probleme.

si tu fais pas d'effort, on peut pas faire grand chose

ben alors pk tu me dis que ma requete devient " Code :

1. mysql_query("INSERT INTO test VALUES('" . $_POST['pass'] . "')" ); "

******* je veux bien essayer de faire un effort mais sur ces sites ce n'est pas explique !!!(ce dont j'ai besoin)

AU fait, si je ne peux pas comme tu le dis mettre de php dans mysql , comment se fait-il que ca ne senregistre pas les donnees du site???
Il-doit-bien y avoir une raison ...Mais si je débute et que vous ne me la dite pas je ne sai pas comment faire car ce n'est pas explique dan les deux sites ce cas particulier

je vais te faire un exemple :

if($_POST['variable_formulaire'] != "") // on a bien rempli le champs (input) du formulaire
{
$var = $_POST['variable_formulaire'];
$sql = "insert into ta_table (ton_champs) values('$var')";
$req = mysql_query($sql) or die(mysql_error());

}


voila, si tu n'y arrives toujours pas affiche la variable $sql voir quel est la requete qui est exécutée.....

Si tu n'y arrives toujours pas, file sur le site du zéro ou autres, afin d'apprendre les bases du php...
Expert Programmation

if (isset($variable) && ($variable!="" ))

>

if(!empty($variable))

plus court ...

empty vérifie : que la variable est déclaré, n'est pas égal à 0, et qu'elle est ou non vide (si tu te sert de ! ou pas.)

ca ne va passs....regardez mon code a present...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<p>
<?php
if($_POST['pass'])
{
mysql_connect("mysqlbox", "steam-advantages", "t9ncocoea" );
mysql_select_db("test" );

mysql_query("INSERT INTO test VALUES($_POST['pass']);
}
else
{
echo "Veuillez remplir tous les champs";
}
?>
</p>
<p>Merci d'avoir teste le site =) !!</p>
<p> </p>
</body>
</html>

if($_POST['variable_formulaire'] != "" ) // on a bien rempli le champs (input) du formulaire
{
$var = $_POST['variable_formulaire'];
$sql = "insert into ta_table (ton_champs) values('$var')";
$req = mysql_query($sql) or die(mysql_error());

}


---> message d'erreur : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /data/www/halflifexpert/steam-advantages/cible.php on line 16




jen ai marre ^^ je pige plus rien la ...tu vois ce que ca peut etre?

re...j'ai consulté ces sites , je sais désormais consulter les infos mais je ne comprends pas vraiment pourquoi ca ne s'affiche pas quand quelqun a mis qque chose quoi ...
ca m'embete quand meme quoi ...car quand jutilise la fonction:
INSERT INTO test('pass')

--> ca fonctionne je sais voir .
Lassé par la pub ? Créez un compte
Tom's guide dans le monde