2010-09-13 5 views
0

J'ai une source php, il peut envoyer des informations de données de formulaire à l'autre page sous la version mysql 4.x. Mais après la mise à niveau vers la version mysql 5.x, cette source php ne peut pas envoyer d'informations de données de formulaire à une autre page.php source question liée

J'ai été cherché beaucoup d'informations, mais n'ai aucune idée de ce qui ne va pas avec ma source php.

je ne peux deviner cela est lié à la mise à niveau mysql et je dois modifier ma source php,

, mais le manque de connaissances très difficile pour moi.

Si quelqu'un m'aide ou donne un indice, il apprécie vraiment!

ma source php est composée de 3 parties.

forme la page de l'expéditeur (http://pastebin.com/3Sg7SyWV)

-> données de formulaire submited page info vérification (http://pastebin.com/WEx5tEn2)

-> insérer des données de formulaire à DB (http://pastebin.com/918iZkgw)

pour plusieurs jour, je recherche et recherche, mais le manque de mes connaissances sur php et mysql

très difficile à résoudre.

Merci à l'avance

+0

Vérifiez le journal des erreurs - si quelque chose ne fonctionne pas, une erreur doit être enregistrée. –

Répondre

0

Vous n'êtes pas vérifier si votre requête réussit d'insertion. Je ne peux pas dire quelle bibliothèque MySQL que vous utilisez, mais en général ils renvoient tous FALSE si une requête échoue, vous pouvez donc changer votre ligne de requête à quelque chose comme:

$DB->ExecSql($InsertQuery) or die($DB->whatever_returns_error_information()); 

Si quelque chose ne va pas avec la requête, puis cela annulera le script et affichera toute information d'erreur produite. De plus, il semble que vous n'échappiez à vos données de requête nulle part. Cela vous laisse large ouverte à l'injection SQL. De plus, n'importe quelle donnée de formulaire qui contient même une seule citation (') va "casser" la requête en introduisant des erreurs de syntaxe. Si vous avez vérifié correctement les erreurs, vous obtiendrez un rapport d'erreur de syntaxe.

D'ailleurs, où extrayez-vous les données soumises et construisez toutes les variables que vous collez dans la requête? Il n'y a qu'un seul endroit dans vos trois scripts où $_POST est référencé, et il semble que ce soit dans une fonction de sortie d'erreur qui vide simplement chaque clé/valeur en tant que champs masqués (et là vous n'échappez pas/en citant les données , donc votre formulaire lui-même est vulnérable aux attaques XSS).

+0

bonjour im très désolé, il n'envoie pas d'informations de données de formulaire ..je n'ai aucune idée quel problème – paul

+0

Utilisez quelque chose comme firebug et/ou httpfox pour voir ce qui se passe entre le navigateur et le serveur. Si votre formulaire ne fonctionne pas correctement, vous constaterez l'effet sur les données transmises. Au-delà de cela, commencez à déboguer vos scripts. Sortie des informations d'état à chaque étape, vidage des contenus de variables avec print_r/var_dump, et traquer où le problème est. Sans aucun message d'erreur, nous ne pouvons pas vraiment vous aider. –

Questions connexes