php/mysql - PHP - Programmation
Marsh Posté le 27-02-2006 à 11:21:09
if ( !isset($_POST["age"]) ) $_POST["age"] = "";
je crois que ça réglerais la chose mais ça fais un peu bricolage. Au fait, tu utilise easyPhp ou un truc du genre, non?
Marsh Posté le 27-02-2006 à 11:23:51
oui j 'utilise l'interface de phpmyadmin qui est chez mon hebergeur.
Marsh Posté le 27-02-2006 à 11:25:23
voilà le début de code de ma page de formulaire :
<?php require_once('Connections/agorap.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "" )
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "" ) ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "" ) ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "" ) ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "" ) ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "" ) ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1" )) {
$insertSQL = sprintf("INSERT INTO enquetes (ID, sexe, age, `titre_inscription`, `titre_inscription2`, `titre_inscription3`, `titre_inscription4`, `titre_inscription5`, `titre_inscription6`, `titre_inscription7`, `titre_inscription8`, `titre_inscription9`, `titre_inscription10`, `titre_inscription11`, `titre_inscription12`, `titre_inscription13`, `titre_inscription_autre`, `date`, `comment_connu`, `comment_connu_autre`, `utilisation_message`, `pose_question`, `repondu_question`, `communication_info`, `recup_document`, `contact_auteur`, `a_quoi_sert`, `a_quoi_sert2`, `a_quoi_sert3`, `a_quoi_sert4`, `a_quoi_sert5`, suggestion, Nom, Prenom, Organisme) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['ID'], "int" ),
GetSQLValueString($_POST['sexe'], "text" ),
GetSQLValueString($_POST['age'], "text" ),
GetSQLValueString($_POST['titre_inscription'], "text" ),
GetSQLValueString($_POST['titre_inscription2'], "text" ),
GetSQLValueString($_POST['titre_inscription3'], "text" ),
GetSQLValueString($_POST['titre_inscription4'], "text" ),
GetSQLValueString($_POST['titre_inscription5'], "text" ),
GetSQLValueString($_POST['titre_inscription6'], "text" ),
GetSQLValueString($_POST['titre_inscription7'], "text" ),
GetSQLValueString($_POST['titre_inscription8'], "text" ),
GetSQLValueString($_POST['titre_inscription9'], "text" ),
GetSQLValueString($_POST['titre_inscription10'], "text" ),
GetSQLValueString($_POST['titre_inscription11'], "text" ),
GetSQLValueString($_POST['titre_inscription12'], "text" ),
GetSQLValueString($_POST['titre_inscription13'], "text" ),
GetSQLValueString($_POST['titre_inscription_autre'], "text" ),
GetSQLValueString($_POST['date'], "text" ),
GetSQLValueString($_POST['comment_connu'], "text" ),
GetSQLValueString($_POST['comment_connu_autre'], "text" ),
GetSQLValueString($_POST['utilisation_message'], "text" ),
GetSQLValueString($_POST['pose_question'], "text" ),
GetSQLValueString($_POST['repondu_question'], "text" ),
GetSQLValueString($_POST['communication_info'], "text" ),
GetSQLValueString($_POST['recup_document'], "text" ),
GetSQLValueString($_POST['contact_auteur'], "text" ),
GetSQLValueString($_POST['a_quoi_sert'], "text" ),
GetSQLValueString($_POST['a_quoi_sert2'], "text" ),
GetSQLValueString($_POST['a_quoi_sert3'], "text" ),
GetSQLValueString($_POST['a_quoi_sert4'], "text" ),
GetSQLValueString($_POST['a_quoi_sert5'], "text" ),
GetSQLValueString($_POST['suggestion'], "text" ),
GetSQLValueString($_POST['Nom'], "text" ),
GetSQLValueString($_POST['Prenom'], "text" ),
GetSQLValueString($_POST['Organisme'], "text" ));
Marsh Posté le 27-02-2006 à 11:32:55
Et as tu essayé le code que je t'ai donnée, à placer avant l'utilisation des vraiable $_POST.
Marsh Posté le 27-02-2006 à 13:14:28
pour info, un champ "checkbox",s'il n'est pas coché, n'est pas envoyé au serveur. Donc un appel $_POST["MaCaseACocher"] risque de planter. Sous Windows (Easyphp), ça me le fait pas, mais sur un serveur Linux, si. 9a vient sûrement de ça.
Marsh Posté le 27-02-2006 à 13:17:44
c 'est compliqué!!! je test l'initialisation des variables (donné par dwogsi) j'espère que ça marchera
Marsh Posté le 27-02-2006 à 13:40:06
jedebute75 a écrit : c 'est compliqué!!! je test l'initialisation des variables (donné par dwogsi) j'espère que ça marchera |
Moi, ça m'avait résolu mon pb en utilisant le isset()
Marsh Posté le 27-02-2006 à 14:05:24
ssuuuuuuuuuuuuuuuuupeeeeeeeeeeeeeerrrr ça marche avec le isset!!
merci vous me sauvez mon scripte!!!! merci 10000000 fois
Marsh Posté le 27-02-2006 à 14:20:27
Ouai enfin bon... Une petite recherche t'aurais aussi simplement sauvé!
Et t'aurais pu essayer mon code tout de suite!
Marsh Posté le 27-02-2006 à 21:40:17
tu as raison!!! mais je suis super debutante et j'ai pas encore la bonne methode, fallait dejà que je comprenne ton message!!! et puis c'était mega urgent alors j ai fais comme ça, n'empêche tu m as carrément aidé sur ce coup là, j'étais bien perdu!!! c super ce forum, je vais surfer dessus et apprendre pleins de choses!!!
Marsh Posté le 27-02-2006 à 11:17:39
au secours,
j'ai créé une base qui enregistre les donnés d'un formulaire en ligne. quand le formulaire est valide, si l'utilisateur n'a pas coché tous les champs, j'ai ceci :
Notice: Undefined index: age in D:\xxx\xxx\xxx\spip\xxx\xxx.php on line 37
pourtant, le champs NULL est bien definis dans ma base pour les champs optionnel et de plus, les resultats sont correctement enregistré dans la base. mais pour l'utilisateur voir une page rempli de Undefined après sa validation c pas top!!!
je voudrais corriger ce probleme
merci infiniment de votre aide.