Page 1 sur 1
pb sur formulaire HTML qui lance un script PHP
Posté : 17 mars 2006, 18:37
par sacco
Bonjour,
j'ai un formulaire
Code : Tout sélectionner
<H1> Formulaire d'ajout de serveur </H1>
<form method="post" action="sebformulaireajoutserveur.php">
<P>
Nom du Serveur : <INPUT type="text" size="15" name="nomserveur" value=""><BR>
</P>
<P>
Qui sauvegarde : <input type="text" size="15" name="nomserveurbck" value=""><BR>
</P>
<P></P>
Chemin log : <input type="file" name="cheminlog" value="">
</P>
<P>
<input type="submit" value="enregistrement">
</P>
</form>
</body>
</html>
je suis sensé récupérer les données rentrées pour le script sebformulaireajoutserveur.php.
Or lorsque j'exécute ma page HTML cela lance bien ma page PHP mais ne fait rien. Alors qu'indépendament ma page PHP fonctionne
merci d'avance
Posté : 17 mars 2006, 19:01
par Truc
verifi le retour avec :
<pre>
<? var_dump($_POST); ?>
</pre>
Posté : 18 mars 2006, 11:25
par sacco
j'ai essayé
dans mon fichier HTML mais pas de résultat.
Posté : 18 mars 2006, 11:43
par Truc
d'après toi le code php peut être exécuté dans un fichier HTML ?
Posté : 18 mars 2006, 17:33
par sacco
Voici mon code pour le script PHP
Code : Tout sélectionner
<html><head>
<title> Formulaire Ajout Serveur </title>
<link rel="stylesheet" href="sebfiche.css" type="text/css">
</head>
</body>
<pre>
<? var_dump($_POST); ?>
</pre>
<?php
$FServeurtable = file_get_contents('Serveurtable.sql');
$connect = mysqli_connect("localhost", "root", "", "test")
or die("Impossible de se connecter");
$Testtable = mysqli_query($connect,'show tables serveur;');
if ($connect == false) {echo "base hs";}
else
{
echo "base ok";
if ($Testtable == true) {echo "table ok";
}
else
{
echo "table no ok";
mysqli_query($connect,$FServeurtable);
}
}
/* récupération des données du formulaire pour intégration
dans la base */
$Fnomserveur = 'cold'; //'nomserveur';
$Fnomserveurbck = 'truff'; //'nomserveurbck';
$Fcheminlog = 'c:\log' ; //'cheminlog';
/* Requete d' intégration donnée */
$Fintegration = mysqli_query($connect,"INSERT INTO serveur
('nomserveur','nomserveurbck','cheminlog') VALUES ('$Fnomserveur','$Fnomserveurbck','$Fcheminlog');");
?>
[php]
Mais pas de réponse[/php]
Posté : 18 mars 2006, 17:37
par charabia
Tu parles toujours de "fichier HTML" or ton fichier doit être un fichier .php
C'est de ça dont voulait parler Truc. Est-ce le cas ? Ou ton fichier est en .htm ?
Posté : 18 mars 2006, 17:45
par sacco
non mon fichier ci-dessus est en PHP
j'ai mon formulaire
Code : Tout sélectionner
<H1> Formulaire d'ajout de serveur </H1>
<form method="post" action="sebformulaireajoutserveur.php">
<P>
Nom du Serveur : <INPUT type="text" size="15" name="nomserveur" value=""><BR>
</P>
<P>
Qui sauvegarde : <input type="text" size="15" name="nomserveurbck" value=""><BR>
</P>
<P></P>
Chemin log : <input type="file" name="cheminlog" value="">
</P>
<P>
<input type="submit" value="enregistrement">
</P>
</form>
</body>
</html>
qui est un html
et mon scrip en php (ci-dessus)
Posté : 18 mars 2006, 17:50
par charabia
1ère chose, indente correctement tes pages pour que ce soit lisible. Tu remarqueras qu'il y a une fermeture de body juste après la fin du </head>...
Pour récupérer des variables passé en métodhe POST, tu dois utiliser $_POST['ta_variable']
Posté : 18 mars 2006, 18:20
par sacco
donc j'ai fait une modif:
Code : Tout sélectionner
<H1> Formulaire d'ajout de serveur </H1>
<html>
<body>
<form method="post" action="sebformulaireajoutserveur.php">
<P>
Nom du Serveur : <INPUT type="text" size="15" name="nomserveur" value=""><BR>
</P>
<P>
Qui sauvegarde : <input type="text" size="15" name="nomserveurbck" value=""><BR>
</P>
<P></P>
Chemin log : <input type="file" name="cheminlog" value="">
</P>
<P>
<input type="submit" value="enregistrement">
</P>
</form>
</body>
</html>
et mon script php
<?php
$FServeurtable = file_get_contents('Serveurtable.sql');
$connect = mysqli_connect("localhost", "root", "", "test")
or die("Impossible de se connecter");
$Testtable = mysqli_query($connect,'show tables serveur;');
if ($connect == false) {echo "base hs";}
else
{
echo "base ok";
if ($Testtable == true) {echo "table ok";
}
else
{
echo "table no ok";
mysqli_query($connect,$FServeurtable);
}
}
/* récupération des données du formulaire pour intégration
dans la base */
$Fnomserveur = $_POST['nomserveur'];
$Fnomserveurbck = $_POST['nomserveurbck'];
$Fcheminlog = $_POST['cheminlog'];
/* Requete d' intégration donnée */
$Fintegration = mysqli_query($connect,"INSERT INTO serveur
('nomserveur','nomserveurbck','cheminlog') VALUES ('$Fnomserveur','$Fnomserveurbck','$Fcheminlog');");
?>
</head>
</body>
mais message d'information
Informations: C:\wamp\www\sebformulaireajoutserveur.php ligne 35 - Undefined index: nomserveur
Informations: C:\wamp\www\sebformulaireajoutserveur.php ligne 36 - Undefined index: nomserveurbck
Informations: C:\wamp\www\sebformulaireajoutserveur.php ligne 37 - Undefined index: cheminlog
Posté : 18 mars 2006, 18:31
par charabia
Testes ceci :
$host="localhost;"
$user="root";
$pass="";
$bdd="ta_base";
mysql_connect($host,$user,$pass) or die("SERVEUR HS");
$Fnomserveur = $_POST['nomserveur'];
$Fnomserveurbck = $_POST['nomserveurbck'];
$Fcheminlog = $_POST['cheminlog'];
$Fintegration = "INSERT INTO serveur ('nomserveur','nomserveurbck','cheminlog') VALUES ('$Fnomserveur','$Fnomserveurbck','$Fcheminlog')";
$add2 = mysql_db_query("$bdd", $Fintegration);
Posté : 18 mars 2006, 18:42
par sacco
j'ai l'impression que les données rentrées dans mon formulaire html ne sont pas reprise par mon script php
Posté : 18 mars 2006, 18:54
par charabia
Essaies déjà juste d'afficher les 3 variables :
echo $_POST['nomserveur'];
echo $_POST['nomserveurbck'];
echo $_POST['cheminlog'];
Les as-tu où y a t-il une erreur ?
Posté : 18 mars 2006, 21:01
par sacco
non page blache.
Posté : 19 mars 2006, 12:07
par sacco
Après quelque rectification dans mon code c'est bon
mais par contre dans mon formulaire je récupère un chemin type c:\..\index.log
Or dans la base l'injection n'est que du nom du fichier type index.log au lieu du chemin entier.
Merci d'avance si astuce