Problème d'insertion de données (PHP MySQL) [Résolu]

Messages postés
291
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
25 août 2014
- - Dernière réponse : Morphinof
Messages postés
261
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
9 août 2013
- 22 mars 2011 à 22:52
Azul à tous,

Dans le code qui suit, j'ai un formulaire dans lequel je recupère mes données et que j'insère dans ma table: mon but ne marche pas; pourriez-vous me signaler mon bug SVP ?

voici mon code:
<?php
require_once('Includes/header.inc.php');
?>


Proforma Request


<?php
if(isset($_POST['proformabt'])){
if(!empty($_POST['vesselname'])&&!empty($_POST['gt'])&&!empty($_POST['nt'])&&!empty($_POST['dwt'])&&!empty($_POST['loa'])&&!empty($_POST['beam'])&&!empty($_POST['summerdraft'])&&!empty($_POST['flag'])&&!empty($_POST['owner'])&&!empty($_POST['from'])&&!empty($_POST['to'])&&!empty($_POST['natureofcargo'])&&!empty($_POST['quantityofcargo'])&&!empty($_POST['terms'])&&!empty($_POST['company'])&&!empty($_POST['namepic'])&&!empty($_POST['phone'])){

$vesselname=htmlentities(stripslashes($_POST['vesselname']));
$gt=htmlentities(stripslashes($_POST['gt']));
$nt=htmlentities(stripslashes($_POST['nt']));
$dwt=htmlentities(stripslashes($_POST['dwt']));
$loa=htmlentities(stripslashes($_POST['loa']));
$beam=htmlentities(stripslashes($_POST['beam']));
$summerdraft=htmlentities(stripslashes($_POST['draft']));
$flag=htmlentities(stripslashes($_POST['flag']));
$owner=htmlentities(stripslashes($_POST['owner']));

$from=htmlentities(stripslashes($_POST['from']));
$to=htmlentities(stripslashes($_POST['to']));
$natureofcargo=htmlentities(stripslashes($_POST['natureofcargo']));
$quantityofcargo=htmlentities(stripslashes($_POST['quantityofcargo']));
$terms=htmlentities(stripslashes($_POST['terms']));

$company=htmlentities(stripslashes($_POST['company']));
$namepic=htmlentities(stripslashes($_POST['namepic']));
$phone=htmlentities(stripslashes($_POST['phone']));
$mobile=htmlentities(stripslashes($_POST['mobile']));
$fax=htmlentities(stripslashes($_POST['fax']));

$today=$_POST['ladate'];
$distinguish=$_POST['distinguish'];

include('Cfg/config.inc.php');

$aplink=mysql_connect($SERVER,$USER,$PWD)or die('Impossible to connect to MySQL Server
'.mysql_error());
$mysql_select_db($DB)or die('Impossible to select the requested database
'.mysql_error());

/*$vesselquery="SELECT*FROM vessel";
$cargoquery="SELECT*from cargo";
$customerquery="SELECT*from customer";

$vesselresult=mysql_query($vesselquery)or die('Impossible to perform selection query on Vessels
'.mysql_error());
$cargoresult=mysql_query($cargoquery)or die('Impossible to perform selection query on Cargs
'.mysql_error());
$customerresult=mysql_query($customerresult)or die('Impossible to perform selection query on Customers
'.mysql_error());*/

mysql_query("INSERT INTO vessels (vesselname,gt,nt,dwt,loa,beam,summerdraft,flag,owner,distinguish)VALUES ('$vesselname','$gt','$nt','$dwt','$loa','$beam','$summerdraft','$flag','$owner','$distinguish')")or die('Insertion problem
'.mysql_error());
mysql_query("INSERT INTO cargo (from,to,natureofcargo,quantityofcargo,terms,distinguish)VALUES ('$from','$to','$natureofcargo','$quantityofcargo','$terms','$distinguish')")or die('Insertion problem
'.mysql_error());
mysql_query("INSERT INTO customer (company,namepic,phone,mobile,fax,distinguish)VALUES ('$company','$namepic','$phone','$mobile','$fax','$distinguish')")or die('Insertion problem
'.mysql_error());





}else{
echo'At least one of the fields is empty';
}
}
?>
<?php
$distinguish=0;
?>
<form action="proforma.php"method="post">
Vessel's  Details | |Cargo's Details |

----

Vessel's name:, , </td></td>From:, ,

----

GT:, , </td></td>To:, ,

----

NT:, , </td></td>Nature of Cargo:, ,

----

DWT:, , </td></td>Quantity of Cargo:, ,

----

LOA:, , </td></td>Terms:, ,

----

BEAM:, , , , ,

----

Summer Draft:, , , , ,

----

Flag:, , , , ,

----

Owner:, , , , ,

----

Customer's Details |

----

Company *:, ,

----

Name PIC *:, ,

----

Phone *:, ,

----

Mobile:, ,

----

Fax:, ,

----

 |

----

,
"/>,
"/>,

----

 |

</form>


<?php
require_once('Includes/footer.inc.php');
?>
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
261
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
9 août 2013
3
3
Merci
Ta requete dois etre mal formee (mal ecrite).

Ton code peu etre simplifie :

if(!empty($_POST['vesselname'])&&!empty($_POST['gt'])&&!empty($_POST['nt'])&&!empty($_POST['dwt'])&&!empty($_POST['loa'])&&!empty($_POST['beam'])&&!empty($_POST['summerdraft'])&&!empty($_POST['flag'])&&!empty($_POST['owner'])&&!empty($_POST['from'])&&!empty($_POST['to'])&&!empty($_POST['natureofcargo'])&&!empty($_POST['quantityofcargo'])&&!empty($_POST['terms'])&&!empty($_POST['company'])&&!empty($_POST['namepic'])&&!empty($_POST['phone'])) ...

$vesselname=htmlentities(stripslashes($_POST['vesselname']));
$gt=htmlentities(stripslashes($_POST['gt']));
$nt=htmlentities(stripslashes($_POST['nt']));
$dwt=htmlentities(stripslashes($_POST['dwt']));
$loa=htmlentities(stripslashes($_POST['loa']));
$beam=htmlentities(stripslashes($_POST['beam']));
$summerdraft=htmlentities(stripslashes($_POST['draft']));
...

C'est interminable.
Avec le code qui suit tu teste si toutes les variables testees ne sont pas vide et tu declare une variable
qui s'appelera $le nom de ta variable poste.

foreach ($_POST as $var => $value)
{
if (!empty($value))
{
# Tu declare une variable ayant le nom de la variable postee et tu lui donne sa valeur
$$var = htmlentities(stripslashes($value));
}
else
{
# La variable de nom $var est vide
}
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Morphinof
Messages postés
291
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
25 août 2014
1
3
Merci
Merci à vos 2, et beaucoup plus à Morphinof pour son astuce.

J'ai réglé le problème:
en effet, la seconde requête d'insertion concerne la table 'cargo' qui renferme 2 champs dont 2 noms sont des mots clés dans SQL, à savoir from et to
J'ai réglé le problème en réécrivant ladite requête de façon à mettre les 2 champs qui posent problème entre ``

Merci à tous ...

P.S. que Dieu nous sauvent de ces musulmans qui nous niquent la vie en Algérie par leur idéologie primitive, de haine et de violence qui est Islam !!!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de begueradj
Messages postés
261
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
9 août 2013
3
1
Merci
Ravi d'avoir pu t'aider bonne continuation a toi :)
Commenter la réponse de Morphinof
Messages postés
291
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
25 août 2014
1
0
Merci
Lorsque je clique sur le button de soumission de mon formulaire, aucune erreur ne se signale dans mysql_error(); et lorsque je vérifie mes tables, je m'apperçois qu'aucune table n'est remplie de mes données !!!
Commenter la réponse de begueradj
Messages postés
261
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
9 août 2013
3
0
Merci
Au sujet de ta requete mal formee c'est peu etre parce que tu as colle le mot VALUES rajoute un espace.
Sinon faudrai l'erreur que te renvois mysql
Commenter la réponse de Morphinof