Codeigniter $this->input->post est toujours FAUX
Je suis en train d'envoyer un httpRequest à un codeigniter fonction de contrôleur. Je suis en utilisant le RESTE de la console pour tester la fonction .
Je suis en train d'envoyer 3 POST
variables .
- Nom d'utilisateur
- UserID
Voici le code pour gérer la demande
public function NewUser()
{
if($this->input->post())
{
$FID = $this->input->post('UserID');
$UserName = $this->input->post('UserName');
$Email = $this->input->post('Email');
echo "working";
echo $FID;
echo $UserName;
}
else
{
echo "not working";
}
}
Mais cela ne fonctionne pas. Il toujours la sortie du not working
. Quand je change tout à get
tout commence à bien fonctionner.
Quel pourrait être le problème ? Demande Post n'est pas de travailler n'importe où, tout au long de cette codeigniter project
.
MODIFIER
J'ai créé un nouveau script, avec le code suivant.
<?php
var_dump($_POST);
echo $_POST['UserName'];
echo $_POST['FacebookID'];
echo $_POST['Email'];
echo "********************************";
?>
C'est à dire que undefined index
. Quel pourrait être le problème ? S'il vous plaît aider. Il fonctionne très bien pour $_GET
- utilisation
isset($_POST)
pour vérifier les données. var_dump($_POST);
estNULL
?- Et vous devriez également vérifier avec le nom de votre bouton soumettre isset($_POST['submitname'])
- utilisation
echo '<pre>';print_r($_POST);
pour afficher les données var_dump
retourne tableau vide comme cearray(0) {}
- Je suppose que votre question sur
HttpRequest
. - l'utilisateur
isset($_REQUEST)
de vérifier les données - quel est le résultat de
var_dump($GLOBALS['HTTP_RAW_POST_DATA'])
?REST REQUEST
n'est pas normal d'une REQUÊTE POST - Avez-vous des fscc protection activée?
Vous devez vous connecter pour publier un commentaire.
vous devriez essayer
isset($_REQUEST)
ou
!empty($_REQUEST)
de vérifier les données est de venir ou de ne pas
$this->input->post()
est obliviously retour le faux parce que vous n'êtes pas de mentionner le nom de la valeur que vous souhaitez récupérer à l'aide de post.Apporter des modifications dans votre code :ou
Voir POST
vous pouvez également le faire:
get
de la même façon comme je l'ai fait ci-dessus . Elle fonctionne. Si vous dites que$this->input->post()
renverra toujours false que comment est-ce de travailler pour$this->input->get()
?REST Console chrome extension
pour envoyer les requêtes. La même chose est parfaitement bien fonctionné quand j'ai changer les variables deget
au lieu depost
.$_POST
pas de travail mais$_GET
est de travail . Je pense qu'il est désactivé en php. Pouvez-vous me dire où l'activer ?Essayer
Pour obtenir la méthode dans codeigniter 3 ( docs ), vous pouvez utiliser le code suivant:
exemple:
J'ai eu un problème similaire. Grâce à l'utilisation de l'internationalisation, l'Url d'obtenir redirigé depuis utilisateur/login de l'utilisateur/fr/login. Lors de la redirection se produit, le réseau POSTE est perdu.
Je ne suis pas sûr si cela est votre problème, mais de vérifier si votre page redirige après la présentation.
Dans Codeigniter, nous pouvons vérifier ce qui
HttpRequest
c'est à l'aide de 2 ci-dessousInput
méthode de la classe :1.
server('REQUEST_METHOD')
$this->input->server()
est identique à Base de PHP$_SERVER
variable.exemple:
2.
method()
Depuis Codeigniter 3, nous pouvons utiliser
method()
aussi pour vérifier le type de demande.Paramètres:
$supérieur (bool) – Que ce soit pour retourner la demande nom de la méthode dans en majuscule ou en minuscule
Retourne: la méthode de requête HTTP
Type de retour: chaîne
explanantion: Il Renvoie la
$_SERVER['REQUEST_METHOD']
, avec l'option de le mettre en majuscules ou en minuscules.exemple: