choubix
Invité n'ayant pas de compte PHPfrance
15 oct. 2007, 12:32
ok, je crois saisir le probleme de vouloir faire passer le tableau directement, surtout qu'il faut que je retravaille la date de naissance car il 'sagit de 3 boites de selection: jour, mois, annee. donc ca pass pas directement...
par contre je me retrouve bloque dans mon INSERT maintenant.
la structure de la base c'est ca:
- Field Type
- id_clients int(11)
- gender tinyint(1)
- fname char(80)
- lname char(80)
- dob date
- email varchar(80)
- password text
- zip int(11)
- country varchar(40)
- newsletter_1 int(11)
- newsletter_2 int(11)
- referral int(11)
- confirmation_code int(35)
- confirmation int(11)
et le code php c'est ca:
<?php
include("../includes/config.php");
$fields = array_keys($_POST);
for ($i = 0; $i < count($fields); $i++)
{
$data[$i] = $_POST[$fields[$i]];
$gender = $_POST[$fields[0]];
$fname = $_POST[$fields[1]];
$lname = $_POST[$fields[2]];
//join the date fields together to insert into database: ok
$array = array($_POST[$fields[5]], $_POST[$fields[4]], $_POST[$fields[3]]);
$dob = implode("-", $array);
$email = $_POST[$fields[6]];
$password = $_POST[$fields[7]];
$zip = $_POST[$fields[8]];
$country = $_POST[$fields[9]];
}
//insert into the CLIENTS all form's values
$query= ("INSERT INTO clients (gender, fname, lname, dob, email, password, zip, country) VALUES ($gender, $fname, $lname, $dob, $email, $password, $zip, $country)");
mysql_query($query) or die('Invalid query: ' . mysql_error());
mysql_close();
?>
le probleme vient du fait que tous les champs que je veux inserer et qui sont du texte dans le formulaire me donnent un message d'erreur. par contre ca marche bien quand je change pour des chiffres.
par ailleurs: impossible de faire rentrer la DATE et l'EMAIL dans la table (pourtant il me semble que le format est bon...)
qq un pourrait me dire quel est l'erreur dans ma table/requete svp? (j'ai regarde sur le site de mysql pour les champs mais VARCHAR semble pouvoir recuperer des chiffres ET des lettres il me semble)
merci
