pb sur formulaire HTML qui lance un script PHP

Eléphant du PHP | 180 Messages

17 mars 2006, 18:37

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

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 mars 2006, 19:01

verifi le retour avec :
<pre>
<? var_dump($_POST); ?>
</pre>

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 180 Messages

18 mars 2006, 11:25

j'ai essayé

Code : Tout sélectionner

<pre> <? var_dump($_POST); ?> </pre>
dans mon fichier HTML mais pas de résultat.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 mars 2006, 11:43

d'après toi le code php peut être exécuté dans un fichier HTML ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 180 Messages

18 mars 2006, 17:33

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]

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mars 2006, 17:37

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 ?

Eléphant du PHP | 180 Messages

18 mars 2006, 17:45

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)

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mars 2006, 17:50

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']

Eléphant du PHP | 180 Messages

18 mars 2006, 18:20

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

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mars 2006, 18:31

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);

Eléphant du PHP | 180 Messages

18 mars 2006, 18:42

j'ai l'impression que les données rentrées dans mon formulaire html ne sont pas reprise par mon script php

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mars 2006, 18:54

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 ?

Eléphant du PHP | 180 Messages

18 mars 2006, 21:01

non page blache.

Eléphant du PHP | 180 Messages

19 mars 2006, 12:07

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