Petit souci de code

Eléphant du PHP | 51 Messages

14 déc. 2010, 11:42

Bonjour à tous j'ai un formulaire en flash qui renvoi vers du PHP

Code : Tout sélectionner

<?php $to=$_POST['toEmail']; $subject=$_POST['subject']; $body = $_POST['messaggio']; $nome = $_POST['nome']; $email = $_POST['email']; $attach = $_POST['attach']; $headers = "From: $nome<" . $email . ">\n"; $subject=$_POST['subject']; $body=$_POST['body']; $nome=$_POST['nome']; if ($attach == 1) { $tmp_name = $_FILES['Filedata']['tmp_name']; $type = $_FILES['Filedata']['type']; $name = $_FILES['Filedata']['name']; if(is_uploaded_file($tmp_name)){ $body .= "\n\nIn allegato il file: $name"; $file = fopen($tmp_name,'rb'); $data = fread($file,filesize($tmp_name)); fclose($file); $data = chunk_split(base64_encode($data)); $headers .= "Reply-To: <" . $email . ">\n"; $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"----=MIME_BOUNDARY_main_message\"\n"; $headers .= "X-Sender: $to <" . $to . ">\n"; $headers .= "Return-Path: <" . $email . ">\n"; $headers .= "This is a multi-part message in MIME format.\n"; $headers .= "------=MIME_BOUNDARY_main_message \n"; $headers .= "Content-Type: multipart/alternative; boundary=\"----=MIME_BOUNDARY_message_parts\"\n"; $message = "------=MIME_BOUNDARY_message_parts\n"; $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; $message .= "Content-Transfer-Encoding: quoted-printable\n"; $message .= "\n"; $message .= $body . "\n"; $message .= "\n"; $message .= "------=MIME_BOUNDARY_message_parts--\n"; $message .= "\n"; $message .= "------=MIME_BOUNDARY_main_message\n"; $message .= "Content-Type: application/octet-stream;\n\tname=\"" . $name . "\"\n"; $message .= "Content-Transfer-Encoding: base64\n"; $message .= "Content-Disposition: attachment;\n\tfilename=\"" . $name . "\"\n\n"; $message .= $data; $message .= "\n"; $message .= "------=MIME_BOUNDARY_main_message--\n"; mail($to, $subject, $message, $headers); } } else { if(mail($to, $subject, $body, $headers)) { echo "ok=1"; } } ?>
Et je tente d'inclure dans le fichier php
ce code pour inclure les informations dans une base mysql

Code : Tout sélectionner

$subject=$_POST['subject']; $body=$_POST['body']; $nome=$_POST['nome']; mysql_connect("************************", "**************", "************") or die(mysql_error()); mysql_select_db("**************") or die(mysql_error()); mysql_query("INSERT INTO `data` VALUES ('Halal','fonctiondate', 'T0001', '$subject', '$body', '$nome')"); Print "Your information has been successfully added to the database.";
En natif c'est à dire avec un formulaire simple html le 2ème code fonctionne.
En Flash le premier code fonctionne aussi je cherche donc à mixer les 2 pour avoir mon formulaire flash qui envoit ses données au Mysql.

Merci de toute l'aide que vous pourrez m'apporter

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 déc. 2010, 12:09

Salut,

Que se passe t il lorsque tu met tout dans un seul fichier ?
A tu un message d'erreur ?

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 51 Messages

14 déc. 2010, 12:39

Non aucun message d'erreur mais l'introduction dans ma base ne se fait pas

meteo
Invité n'ayant pas de compte PHPfrance

14 déc. 2010, 12:47

Ceci
mysql_query("INSERT INTO `data` VALUES ('Halal','fonctiondate', 'T0001', '$subject', '$body', '$nome')"); 
est faux
correction
mysql_query("INSERT INTO `data` ('Halal','fonctiondate', 'T0001') VALUES ('$subject', '$body', '$nome' ) "); 


Eléphant du PHP | 51 Messages

14 déc. 2010, 12:57

En fait j'ai 6 champs à remplir pour l'instant certains proviennent du formulaire '$subject', '$body', '$nome' et d'autres sont constants et stocké directement dans le PHP comme ('Halal','fonctiondate', 'T0001')
Ta correction prévoit cela ?
C'est très gentil en tout cas de m'aider :)

ViPHP
xTG
ViPHP | 7331 Messages

14 déc. 2010, 13:15

Rajoutes un or die(mysql_error()) à la fin du mysql_query().

Eléphant du PHP | 51 Messages

14 déc. 2010, 16:10

Merci de votre aide, cela ne m'a pas aider car le problème est toujours présent

Je vous resoumet mon code en entier

Code : Tout sélectionner

<?php $to=$_POST['toEmail']; $subject=$_POST['subject']; $body = $_POST['messaggio']; $nome = $_POST['nome']; $email = $_POST['email']; $attach = $_POST['attach']; $headers = "From: $nome<" . $email . ">\n"; $name=$_POST['name']; $email=$_POST['email']; $location=$_POST['location']; $identfiantsite=$_POST[465]; mysql_connect("-----------------------", "-----------------", "-----------------") or die(mysql_error()); mysql_select_db("---------------------") or die(mysql_error()); mysql_query("INSERT INTO `data` VALUES ('$name', '$email', '$location''$identfiantsite')") or die(mysql_error()); Print "Your information has been successfully added to the database."; if ($attach == 1) { $tmp_name = $_FILES['Filedata']['tmp_name']; $type = $_FILES['Filedata']['type']; $name = $_FILES['Filedata']['name']; if(is_uploaded_file($tmp_name)){ $body .= "\n\nIn allegato il file: $name"; $file = fopen($tmp_name,'rb'); $data = fread($file,filesize($tmp_name)); fclose($file); $data = chunk_split(base64_encode($data)); $headers .= "Reply-To: <" . $email . ">\n"; $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"----=MIME_BOUNDARY_main_message\"\n"; $headers .= "X-Sender: $to <" . $to . ">\n"; $headers .= "Return-Path: <" . $email . ">\n"; $headers .= "This is a multi-part message in MIME format.\n"; $headers .= "------=MIME_BOUNDARY_main_message \n"; $headers .= "Content-Type: multipart/alternative; boundary=\"----=MIME_BOUNDARY_message_parts\"\n"; $message = "------=MIME_BOUNDARY_message_parts\n"; $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; $message .= "Content-Transfer-Encoding: quoted-printable\n"; $message .= "\n"; $message .= $body . "\n"; $message .= "\n"; $message .= "------=MIME_BOUNDARY_message_parts--\n"; $message .= "\n"; $message .= "------=MIME_BOUNDARY_main_message\n"; $message .= "Content-Type: application/octet-stream;\n\tname=\"" . $name . "\"\n"; $message .= "Content-Transfer-Encoding: base64\n"; $message .= "Content-Disposition: attachment;\n\tfilename=\"" . $name . "\"\n\n"; $message .= $data; $message .= "\n"; $message .= "------=MIME_BOUNDARY_main_message--\n"; mail($to, $subject, $message, $headers); } } else { if(mail($to, $subject, $body, $headers)) { echo "ok=1"; } } ?>
Et le contenu de ma base de donnée
id_task varchar(30) utf8_general_ci Oui NULL Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
id_site varchar(30) utf8_general_ci Oui NULL Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
heure varchar(30) utf8_general_ci Oui NULL Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
subject varchar(30) utf8_general_ci Oui NULL Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
body varchar(30) utf8_general_ci Oui NULL Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
nome varchar(30) utf8_general_ci Oui NULL Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier

ViPHP
xTG
ViPHP | 7331 Messages

14 déc. 2010, 17:14

A la vue de ce que tu nous montres je peux te dire que ton script exécuté n'est pas celui que tu nous montres.

Tu fais une requête de 4champs sur une table de 6champs, il devrait donc y avoir génération d'une erreur et exécution du die(), et arrêt du script avec l'affichage de l'erreur SQL.