Valider un choix dans sql

Fermé
Cathy - 2 mars 2011 à 19:53
 Cathy - 3 mars 2011 à 23:26
Bonjour,

je m'en remets à vous car je craque depuis 2 jours et vous êtes les seuls à pouvoir m'aider...

Impossible de faire fonctionner mon programme qui ne m'enregistre pas ce qu'il faut dans ma bdd donc je cherchais (sans succès ...) un script tout simple (??!!) permettant d'enregistrer dans ma bdd 'cadeau' (3 tables déjà créée : ID, Kdo, Name) les infos suivantes :
* le choix d'une image à cocher (kdo1.gif ou kdo2.gif) dans la table Kdo
* un texte allant avec

Mon essai qui ne fonctionne pas bien sur... :

define("DATABASE_HOST", "mon_hebergeur"); // localhost will usually suffice
define("DATABASE_USER", "ma_table"); //Your DB Info
define("DATABASE_PASSWORD", "mon_PW"); //Your DB Info
define("DATABASE_NAME", "ma_table"); //Your DB Info

//Establish Persistent Connection
$DatabaseLink = MySQL_pconnect(DATABASE_HOST, DATABASE_USER, DATABASE_PASSWORD) or die (MySQL_error());

//Select DB
MySQL_select_db(DATABASE_NAME) or die(MySQL_error());
$cadeaux = $_POST['cadeaux'];
$cadeaux = htmlentities($cadeaux);
if($cadeaux != "")
{
$Query3 = "SELECT ID FROM cadeau WHERE Name=\"$cadeaux\"";
$DatabaseResult3 = MySQL_query($Query3, $DatabaseLink);
if(!($DatabaseRow = MySQL_num_rows($DatabaseResult3)))
{
mysql_query("INSERT INTO cadeau(Kdo, Name) VALUES('$Kdo', '$cadeaux')") or die(mysql_error());
}
}
$Query = "SELECT max(ID) AS Count FROM cadeau";
$DatabaseResult = MySQL_query($Query, $DatabaseLink);
$DatabaseRow = MySQL_fetch_object($DatabaseResult);
if ($DatabaseRow->Count>0) $TotalCount = $DatabaseRow->Count;
else $TotalCount=0;
?>
<html>
<head>
<title>Cadeaux!</title>
...
<SCRIPT language="javascript">
function choixprop(form3) {
$_POST["kdo"]
if (form3.choix[0].checked) { $Kdo = (kdo1.gif) };
if (form3.choix[1].checked) { $Kdo = (kdo2.gif) };
}
</SCRIPT>
</head>
...
<FORM NAME="form3">
<p>
<INPUT TYPE="radio" NAME="choix" VALUE="kdo1.gif"><img src="images/kdo1.gif" border="0">
<INPUT TYPE="radio" NAME="choix" VALUE="kdo2.gif"><img src="images/kdo2.gif" border="0"></p>
<form method="post" action="index.php?step=2&Count=<? $submitCount = $TotalCount + 50; print($submitCount); ?>" >
<p> <input name="cadeaux" type="text" class="centre" size="130" maxlength="100"> </p>
<p><input type="submit" name="submit" value="Validez votre message avec votre cadeau" onClick="choixprop(form3)">
</form>
</form>
</p>


Je me doute que ce sont les lignes (entre autres lol) :

if (form3.choix[0].checked) { $Kdo = (kdo1.gif) };

qui doivent cafouiller... je ne sais pas comment faire pour que la valeur de mon bouton radio par exemple "kdo1.gif" soit enregistrée dans ma variable $kdo pour être ensuite enregistrée dans ma bdd dans la table Kdo (de façon à ce que je puisse par la suite l'afficher avec un echo :

// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#FFFFFF">'.$row["Kdo"].'<img src="/cadeaux/images/'.$kdo.' " /></td>';
echo '<td bgcolor="#FFFFFF">'.$row["ID"].'</td>';
echo '<td bgcolor="#FFFFFF">'.$row["Name"].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.

Enfin, juste pour vous dire que je n'en peux plus et que j'ai mon cerveau (si si j'en ai un... enfin, je l'avais avant de commencer ce programme...!!!) qui part en vrille...!!!

Merci à ceux (et celles lol) qui pourront m'aider !!!





1 réponse

Bonsoir,
Si tu ne récupères pas la variable $_POST['choix'] dans ton script PHP, tu ne pourras pas l'utiliser dans la requête d'insertion.
0
Oui, certes... mais je pensais que la ligne avec $_POST ["kdo"] suffisait... :
function choixprop(form3) {
$_POST["kdo"]

Je dois faire comment exactement alors ?

Merci d'avance :)
0
Dans la fonction JS choixprop(), la variable PHP $_POST["kdo"] n'existe pas et de plus ne pourrait être utilisée telle quelle dans cette fonction...
<SCRIPT language="javascript"> 
function choixprop(form3) { 
    $_POST["kdo"] 
    if (form3.choix[0].checked) { $Kdo = (kdo1.gif) }; 
    if (form3.choix[1].checked) { $Kdo = (kdo2.gif) }; 
} 
</SCRIPT>

les variables JS sont déclarées ainsi :
var my_var = 'ma_valeur';

et non pas
$var = 'ma_valeur';

qui est une syntaxe de déclaration de variable propre à PHP

RAPPEL: le javascript s'exécute côté client et le PHP côté serveur.
0
:)
oui, c'est vrai j'ai bullé pour la syntaxe mais j'ai prévenu : mon cerveau part en vrille lol
Merci à toi en tout cas pour ton aide mais... même en faisant comme tu viens de me dire, ça n'enregistre RIEN dans ma bdd...
Je vais aller pleurer un peu et je reviens...
En plus, j'ai arrêter de fumer... alors je vous dis pas le cerveau... !!!
0
bon, rien à faire... et je ne trouve aucun script qui pourrait m'aider. pour me montrer une syntaxe qui fonctionne.. je craque...
0
Bonjour,
Ton script est un énorme fouilli et on arrive même pas à suivre la logique que tu veux atteindre?
D'autre part ta fonction JS ne sert à rien puisque elle ne vérifie rien...
Tu as 2 formulaires imbriqués l'un dans l'autre, lequel est le bon?
Tu mélanges syntaxiquement cadeaux et message, bref codage impossible à reprendre sauf de tout refaire de A à Z en donnant le but final à atteindre...
Va falloir VRAIMENT te creuser les méninges, et à moins d'une tempête de cerveau tu risques fort de rester en panne.
D'ailleurs on ne sait pas ton niveau en prog mais à mon avis, le code ci-dessus n'est pas de toi bien que tu ais cherché à le modifier...
0