Souhaitez-vous participer à la création d'un jeu vidéo inspiré de Stardew Valley, ou le tester lorsque la version bêta sera disponible ? Remplissez notre sondage ou inscrivez-vous à notre lettre d'information (en bas de page)
1

Problème code PHP

le 22-02-2015 à 18:38 #
Bonjour tout le monde,

Depuis peu je me suis mis à apprendre le PHP , et je rencontre des problèmes que je n'arrive vraiment pas a résoudre depuis des jours , c'est pour cela que je me tourne vers vous .

Comme tout débutant j'apprend les bases du php , j'ai fais mon formulaire d'inscription en html basique rien de spécial .

<form method="POST" action="inscription.php">

Pseudo :<br>
<input type="text" name="pseudo"/><br>
Email :<br>
<input type="text" name="mail"/><br>
Mot de passe :<br>
<input type="password" name="password"/><br>
Retapez: <br>
<input type="password" name="repeatpassword"/><br>
<input type="submit" value="Valider l'inscription"/>
</form>


Ensuite le php , je veux vérifier si les champs sont bien remplies et si les mots de passe sont identiques .

<?php

if(isset($_POST['submit']))
{
$pseudo = htmlentities(trim($_POST['pseudo']));
$mail = htmlentities(trim($_POST['email']));
$password = htmlentities(trim($_POST['password']));
$repeatpassword = htmlentities(trim($_POST['repeatpassword']));
if($pseudo&&$mail&&$password&&$repeatpassword)
{
if($password==$repeatpassword)
{
}else echo"Les deux mots de passe doivent être identiques";
}else echo"Veuillez saisir tout les champs";
}

?>


En cas d'erreur si les champs ne sont pas remplis un message d'erreur apparait , ou si les deux mots de passe ne sont pas identique . Hors moi rien n’apparaît pourtant je n'ai aucune erreur dans le code je ne comprend vraiment pas d'où le problème vient.

Je travaille en local avec wamp ( le logiciel fonctionne très bien j'ai essayé de créé une erreur dans le code et sa l'a bien indiqué).

Bonne soirée.

(Modifié par Shaku le 22-02-2015 à 19:50)
Re: Problème code PHP
le 23-02-2015 à 01:22 #
Salut,
Je ne comprends pas très bien ce que tu veux faire à la ligne suivante :
if($pseudo&&$mail&&$password&&$repeatpassword)


Là, la page va interpréter tes variables $pseudo, $mail, $password et $repeatpassword comme des booléens (donc true ou false), mais ce sont des chaines de caractères, donc la condition est fausse et ça ne va pas plus loin.


Et je n'avais pas vu, mais ta toute première vérification ne sera jamais validée, car tu n'as jamais spécifié d'inputs, ayant pour name "submit".

Si tu veux vérifier que tes valeurs sont passées en post, il faut d'abord faire cette vérification :
if (isset($_POST["pseudo"]) && isset($_POST["mail"]) && isset($_POST["password"]) && isset($_POST["repeatpassword"])) {

// Tu peux écrire ton code de vérification sur le contenu des champs
}
Re: Problème code PHP
le 23-02-2015 à 05:56 #
Oui, il n'y a pas de champs nommé « submit » dans ton formulaire, donc if(isset($_POST['submit'])) n'est pas validé, donc il ne se passe rien.

Le reste me semble pouvoir fonctionner.

@Franklin000 : une chaine est fausse si elle est vide ou "0", vraie autrement.

(Modifié par ben le 23-02-2015 à 05:57)
Re: Problème code PHP
le 23-02-2015 à 08:30 #
Merci de vos réponses , effectivement j'ai oublié de nommé mon input , vraiment tout bête mon problème .

Problème résolu merci a vous deux super sympas :)

@Franklin000:
if($pseudo&&$mail&&$password&&$repeatpassword)
, je teste si les champs sont bien tous remplis ou pas.
Re: Problème code PHP
le 23-02-2015 à 12:18 #
Ah, je ne connaissais pas cette méthode, moi je vérifie comme ça :
if (!empty($_POST['pseudo']) && !empty($_POST['mail']) && !empty($_POST['password']) && !empty($_POST['repeatpassword'])) 


Il n'y a pas de quoi
Re: Problème code PHP
le 23-02-2015 à 12:47 #
le 22-02-2015 à 18:38, @Shaku :
<input type="password" name="password"/><br>
Retapez: <br>
<input type="password" name="repeatpassword"/><br>
<input type="submit" value="Valider l'inscription"/>
</form>

Ensuite le php , je veux vérifier si les champs sont bien remplies et si les mots de passe sont identiques .

<?php
if(!isset($_POST['submit']))
{

}

Bizarrement j'ai les mêmes bouts de code chez moi et ça fonctionne.


Re: Problème code PHP
le 23-02-2015 à 14:13 #
@Ali_Gator : Tu n'aurais pas ajouté un "!" par hasard ?
Re: Problème code PHP
le 23-02-2015 à 15:07 #
Oui, de manière à évacuer tout de suite le cas où le traitement du mail ne provient pas du formulaire (accès direct).
Sinon le traitement s'effectue normalement.
Je n'ai jamais eu de problème.








Ces discussions pourraient vous intéresser également:


probleme de code en Pascal
probléme uvec un code php
Petit probleme de code en php
Probleme Dev c++, code blocks
Probleme Code : Block