pb sur formulaire HTML qui lance un script PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb sur formulaire HTML qui lance un script PHP

par sacco » 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

par sacco » 18 mars 2006, 21:01

non page blache.

par charabia » 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 ?

par sacco » 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

par charabia » 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);

par sacco » 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

par charabia » 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']

par sacco » 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)

par charabia » 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 ?

par sacco » 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]

par Truc » 18 mars 2006, 11:43

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

par sacco » 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.

par Truc » 17 mars 2006, 19:01

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

pb sur formulaire HTML qui lance un script PHP

par sacco » 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