-1
votes

$ _Post php - Impossible d'obtenir des données de formulaire de l'entrée

J'utilise une forme de base et un script PHP très basique pour gérer les informations de celui-ci. Malheureusement, le PHP a des problèmes pour obtenir les données de poste. J'ai lu beaucoup de postes sur le sujet, mais je ne peux pas trouver ce dont j'ai besoin. Je posterai mon code et j'espère que vous pouvez me signaler à mon problème.

$name = test_input($_POST['name']);

function test_input($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}


17 commentaires

et qu'est-ce que test_input ?


$ _ POST ['NOM']; Utilisez-le de cette façon.


@Kumar qui pourrait être une réponse incorrecte ou dangereuse. Vous ne savez pas quelle est la fonction, ni la manière dont cette valeur est utilisée ultérieurement.


Qu'avez-vous essayé de déboguer le problème? Avez-vous essayé de faire var_dump ($ _ post); au début pour vous assurer que les valeurs sont en cours de publication? Qu'est-ce que test_input et êtes-vous sûr qu'il renvoie une valeur?


@ user3783243 Qu'est-ce que test_input () est pour PHP?


J'ai un sentiment que test_input () est le morceau de non-sens qui apparaît sur Wwfools it shoudl n'a jamais été écrit et définitivement jamais partagé


Eh bien que `$ name = test_input ($ _ post [" nom "]);` ne fait pas vraiment quoi que ce soit comment savez-vous qu'il y a un problème ??


@Kumar quelque chose que les gens ont mal interprété au début des années 2000 comme une solution unique pour tous les problèmes de sécurité. Voir Link Riggs.


Je suis désolé, j'ai oublié de poster le test_input, mais de toute façon, cela ne fonctionne pas sans cela. J'ai essayé d'utiliser Var Dump - String Sortie IT (0)


Essayez var_dump ($ _ post); et montrez-nous la sortie


Sauf si vous faites quelque chose comme echo $ nom $; vous saurez ce qui est dans $ _ post ['nom']


Je l'ai fait écho, cela ne produite rien, j'ai fait de nombreux tests et impressions


@ user3783243 fonction test_input ($ données) {...} est une fonction définie par l'utilisateur dans un lien donné non une fonction PHP.


Il suffit de courir ce formulaire dans la page la plus simple et ça marche très bien.


Que faites-vous avec $ nom après la charge avec ce qui était dans $ _ post


@Kumar Ce n'est pas la fonction de cette utilisateur. C'est autour depuis l'année. Utilisation de _ POST ['NAME']; avec aucune évasion peut entraîner des injections XSS. On sonne comme l'utilisateur a également essayé déjà d'utiliser sans la fonction.


Oui, j'ai tout essayé, avec / sorti de la fonction, j'ai tout essayé et je ne sais pas pourquoi le code n'a rien de travail


3 Réponses :


-1
votes

Dans le fichier PHP, vous pouvez tester si le fichier reçoit des données avec la méthode postale à partir d'un formulaire HTML à l'aide d'un formulaire HTML à l'aide, par exemple: xxx

si elle imprime l'erreur, les attributs d'action Votre formulaire HTML peut être faux


2 commentaires

note si ($ _ serveur ["demande_method"] == "POST") { SON majuscule


J'ai testé cela - il reçoit



0
votes

$ _ post ["nom"] est vide avant de soumettre le formulaire. Donc, utilisez émetteur () commande xxx


1 commentaires

il renvoie l'émetteur - donc l'entrée de nom est définie, mais je peux toujours obtenir son nom pour une raison quelconque



0
votes

Je l'ai corrigé avec la suppression des identifiants des entrées, dès que je l'ai fait, cela a fonctionné


0 commentaires