Petit souci de code

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 : Petit souci de code

Re: Petit souci de code

par xTG » 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.

Re: Petit souci de code

par stevefigueras » 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

Re: Petit souci de code

par xTG » 14 déc. 2010, 13:15

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

Re: Petit souci de code

par stevefigueras » 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 :)

Re: Petit souci de code

par meteo » 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' ) "); 

Re: Petit souci de code

par stevefigueras » 14 déc. 2010, 12:39

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

Re: Petit souci de code

par moogli » 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 ?

@+

Petit souci de code

par stevefigueras » 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