scipt pour insérer des données qui ne fonctionne plus

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 : scipt pour insérer des données qui ne fonctionne plus

par pat » 08 févr. 2009, 15:52

Je vous remercie. Il fallait mettre $_post.

par Ripat » 08 févr. 2009, 15:11

L'indice MM_insert est un indice de $_POST pas de $_SERVER d'après ce que tu montres. Remplace
if ((isset($_SERVER ["MM_insert"])) && ($_SERVER ["MM_insert"] == "form10")) {

par
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form10")) { 
Je passe la main. Serai déconnecté les deux jours prochains.

par pat » 08 févr. 2009, 13:51

$_POST est vide car il se rempli avec le formulaire. Sinon cette parti est bien réalisé avec dreamweaver ce qui explique le MM_insert

Code : Tout sélectionner

<div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:5; left: 148px; top: 147px;"> <form action="<?php echo $editFormAction; ?>" method="POST" name="form10" onSubmit="MM_validateForm('societe3','','R','nom4','','R','prenom4','','R','fonction2','','R','cp3','','R','ville3','','R','tel2','','R','Email','','RisEmail','textarea2','','R','textarea3','','R');return document.MM_returnValue"> <table width="543" border="0" cellpadding="3" cellspacing="0" class="cadre" > <tr valign="top" bgcolor="#FFFFCC" > <td colspan="4"><div align="center"> <h4><font color="#CC9900"><br> <input name="date" type="hidden" id="date" value="<?php echo date("Y/m/d"); ?>"> <input name="fournisseur" type="hidden" id="fournisseur" value="<?php echo $row_article['NumFourn']; ?>"> <input name="produit" type="hidden" id="produit" value="<?php echo $row_article['id_prod']; ?>"> <input name="article" type="hidden" id="article" value="<?php echo $row_article['id_article']; ?>"> <input name="refarticle" type="hidden" id="refarticle" value="<?php echo $row_article['article']; ?>"> </font></h4> </div></td> </tr> <tr valign="top" bgcolor="#FFFFCC" > <td height="27" colspan="4" class="texte14"><p align="center">Demande &agrave; la soci&eacute;t&eacute; <span style="font-weight: bold"><?php echo $row_article['NomFourn']; ?></span> pour ce produit :</p> <p align="center"><img src="../image/image-article/<?php echo $row_article['photo']; ?>" height="75" align="top"> <span class="texte12" style="text-transform: uppercase; font-weight: bold"><?php echo $row_article['produit']; ?> <?php echo $row_article['article']; ?></span> </p></td> </tr> <tr valign="top" bgcolor="#FFFFCC" > <td height="27" colspan="4"><font color="#FF0000" size="1">*Champs obligatoires</font><br> <hr></td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td colspan="4" class="texte12"><em>D&eacute;crivez votre besoin en remplissant ce formulaire:</em></td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td class="texte12">votre demande :</td> <td colspan="3" class="texte12"><textarea name="demande" cols="80" rows="7" class="grandtexte" id="textarea3"></textarea></td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td colspan="4" class="texte12">Projet d'investissement : <input name="investissement" type="radio" value="1" checked> O ui <input type="radio" name="investissement" value="2"> Non</td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td class="texte12">Soci&eacute;t&eacute;<font color="#FF0000">*</font> : </td> <td> <input name="societe" type="text" id="societe3" size="40"></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td>&nbsp; </td> <td> <input name="genre" type="radio" value="1" checked> <span class="texte12">Mr</span> <input type="radio" name="genre" value="2"> <span class="texte12">Me</span> <input type="radio" name="genre" value="3"> <span class="texte12">Mlle</span></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td> <div align="left" class="texte12"> <span>Nom<font color="#FF0000">*</font> :</span><strong> </strong> </div></td> <td width="187" nowrap> <div align="left"><strong> <input name="nom" type="text" class="cellule" id="nom4" size="40"> </strong></div></td> <td nowrap>&nbsp;</td> <td>&nbsp;</td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td nowrap class="texte12">Pr&eacute;nom<font color="#FF0000">*</font> :</td> <td> <input name="prenom" type="text" id="prenom4" size="40"></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td nowrap> <div align="left"><span class="texte12">Fonction<font color="#FF0000">*</font> : </span> </div></td> <td> <input name="fonction" type="text" id="fonction2" size="40"></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td class="texte12">Adresse<font color="#FF0000">*</font> : </td> <td><textarea name="adresse" cols="40" rows="2" id="textarea2"></textarea></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td class="texte12">CP<font color="#FF0000">*</font> :</td> <td> <input name="cp" type="text" id="cp3" size="7"></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td class="texte12">Ville<font color="#FF0000">*</font><strong> </strong>:</td> <td colspan="3"> <input name="ville" type="text" id="ville3" size="40"></td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td class="texte12">Pays :</td> <td><input name="pays" type="text" id="pays" value="France"></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td> <div align="left" class="texte12">T&eacute;l<font color="#FF0000">*</font> : </div></td> <td> <input name="tel" type="text" id="tel2"> </td> <td> <div align="right"></div></td> <td>&nbsp; </td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td width="154" > <div align="left" class="texte12">Fax:</div></td> <td> <input name="fax" type="text" id="fax2"> </td> <td width="52" > <div align="right"></div></td> <td width="124">&nbsp; </td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td height="29"> <div align="left" class="texte12">Mail<font color="#FF0000">*</font> :</div></td> <td colspan="3"> <input name="Email" type="text" id="Email" size="40"></td> </tr> <tr valign="top" bgcolor="#FFFFCC"> <td height="30" colspan="4"> <input type="submit" name="Submit" value="Envoyez la demande"></td> </tr> </table> <input type="hidden" name="MM_insert" value="form10"> </form> </div>

par Ripat » 08 févr. 2009, 13:22

Le tableau $_POST est vide. Pas bon. En plus $_SERVER ["MM_insert"] n'existe pas et tu ne rentres donc pas dans ton if.

C'est quoi d'ailleurs l'indice MM_insert? Jamais entendu parlé comme variable serveur. Ce ne serait pas un truc Dreamweaver?

Je penche donc pour un problème serveur. Fais-toi un formulaire simple et essaye de récupérer les données. Un print_r($_POST) suffit pour les tests.

par pat » 08 févr. 2009, 12:10

Le problème est que je n'ai aucun message d'erreur. De plus ce script fonctionne parfaitement sur mon site internet. par contre en interne(localhost) il ne fonctionne plus depuis que j'ai changé d'ordinateur avec vista easyphp 2.0 b.1.
En fait mes formulaires ne fonctionnent plus. C'est à dire que lorsque je rempli le formulaire et que je fais "enoyez" tout à l'air de ce passer normalement. Mais losque je vais dans la base de donné les infos ne sont pas dans la table.

J'ai mis ton script. Voilà ce que j'obtient

Code : Tout sélectionner

Array ( ) Array ( [TMP] => C:/Program Files/EasyPHP 2.0b1/tmp [HTTP_ACCEPT] => */* [HTTP_ACCEPT_LANGUAGE] => fr [HTTP_UA_CPU] => x86 [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; eSobiSubscriber 2.0.4.16) [HTTP_HOST] => localhost [HTTP_CONNECTION] => Keep-Alive [PATH] => C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem; C:\Program Files\Acer\Empowering Technology\eDataSecurity\;C:\Program Files\Acer\Empowering Technology\eDataSecurity\x86; C:\Program Files\Acer\Empowering Technology\eDataSecurity\x64;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static; C:\Program Files\QuickTime\QTSystem\;C:\PROGRA~1\EASYPH~1.0B1\Apache\bin;C:\PROGRA~1\EASYPH~1.0B1\PHP5 [SystemRoot] => C:\Windows [COMSPEC] => C:\Windows\system32\cmd.exe [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC [WINDIR] => C:\Windows [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache/2.2.3 (Win32) PHP/5.2.0 [SERVER_NAME] => localhost [SERVER_ADDR] => 127.0.0.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 [DOCUMENT_ROOT] => C:/Program Files/EasyPHP 2.0b1/www [SERVER_ADMIN] => admin@localhost [SCRIPT_FILENAME] => C:/Program Files/EasyPHP 2.0b1/www/guidelabo/appeloffre/TMPmh3zeqslw.php [REMOTE_PORT] => 49321 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /guidelabo/appeloffre/TMPmh3zeqslw.php [SCRIPT_NAME] => /guidelabo/appeloffre/TMPmh3zeqslw.php [PHP_SELF] => /guidelabo/appeloffre/TMPmh3zeqslw.php [REQUEST_TIME] => 1234088277 ) Notice: Undefined variable: insertSQL in C:\Program Files\EasyPHP 2.0b1\www\guidelabo\appeloffre\TMPmh3zeqslw.php on

par Ripat » 08 févr. 2009, 10:39

"Ne marche plus" est un peu maigre comme piste. Pas de message d'erreur, pas d'insertion?

Commence par forcer l'affichage de toutes les erreurs et avertissements. Ensuite affiche le contenu des variables $_POST, $_SERVER ainsi que ta requête.
// au début de ton script
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 'on');

echo '<pre>';
print_r($_POST);
print_r($_SERVER);

// avant l'exécution de la requête:
echo $insertSQL;
echo '</pre>';

par lux » 08 févr. 2009, 10:38

Quel est le message d'erreur, et qu'est-ce qui ne fonctionne pas ? :wink:

scipt pour insérer des données qui ne fonctionne plus

par pat » 08 févr. 2009, 01:18

Bonjour,

Mon script pour insérer des donnés dans la base de donnée suite à un formulaire ne fonctionne plus depuis que je suis sur php5.2 et window vista
Je me demande où est le problème.
Merci
$editFormAction = $_SERVER ['PHP_SELF'];
if (isset($_SERVER ['QUERY_STRING'])) {
  $editFormAction .= "?" . $_SERVER ['QUERY_STRING'];
}

if ((isset($_SERVER ["MM_insert"])) && ($_SERVER ["MM_insert"] == "form10")) {
  $insertSQL = sprintf("INSERT INTO t_investissement (genre, nom, prenom, fonction, adresse, cp,
 ville, pays, tel, fax, mail, investissement, materiel, article, ref_article, caracteristique, fournisseur_contacte, societe, `date`)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['genre'], "text"),
                       GetSQLValueString($_POST['nom'], "text"),
                       GetSQLValueString($_POST['prenom'], "text"),
                       GetSQLValueString($_POST['fonction'], "text"),
                       GetSQLValueString($_POST['adresse'], "text"),
                       GetSQLValueString($_POST['cp'], "text"),
                       GetSQLValueString($_POST['ville'], "text"),
                       GetSQLValueString($_POST['pays'], "text"),
                       GetSQLValueString($_POST['tel'], "text"),
                       GetSQLValueString($_POST['fax'], "text"),
                       GetSQLValueString($_POST['Email'], "text"),
                       GetSQLValueString($_POST['investissement'], "text"),
                       GetSQLValueString($_POST['produit'], "int"),
                       GetSQLValueString($_POST['article'], "int"),
                       GetSQLValueString($_POST['refarticle'], "text"),
                       GetSQLValueString($_POST['demande'], "text"),
                       GetSQLValueString($_POST['fournisseur'], "int"),
                       GetSQLValueString($_POST['societe'], "text"),
                       GetSQLValueString($_POST['date'], "date"));

  

  mysql_select_db($database_connectgl, $connectgl);
  $Result1 = mysql_query($insertSQL, $connectgl) or die(mysql_error());