PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Forum Général PHP » tester variable provenant de la bdd » 06-07-2009 09:33:22

hichoum
Réponses : 1

Salut à tous

J'ai un pobleme encore avec mon projet ^^
J'explique un peut la cinematique site
Le client s inscrit recoit un mail de confirmation avec un lien a suivre qui le renvois vers la page choix dans laquelle il se log et definit son statut employé ou employeur.
Le tout dans la meme table.
Mais il ne veut pas upload la table je n ai pas de message d erreur


if ($nom_utilisateur && $pass && statut)
  { // si tout est OK
    $rq = "SELECT id, email, statut FROM members WHERE nom_utilisateur = '$nom_utilisateur' AND pass='".md5($pass)."'";
    $result = @mysql_query ($rq);
    $ligne = mysql_fetch_array ($result, MYSQL_NUM);
   
    if ($ligne)
    {//on test si statut contient des infos ou pas
      $rq1 = "SELECT statut FROM members WHERE nom_utilisateur = '$nom_utilisateur' AND pass='".md5($pass)."'";
      $result1 = @mysql_query ($rq);
      $ligne1 = mysql_fetch_array ($result, MYSQL_NUM);
     
      if (mysql_num_rows ($result1) == 1)
          {
            echo "Vous avez dèjâ confirmé votre compte vous allez etre redirigé vers votre compte.";
            exit();
          }
      else
          {
            // on insert le statut dans table
            $rq = "UPDATE members SET statut = '".mysql_escape_string($ligne['statut'])."' WHERE  nom_utilisateur = '$nom_utilisateur' AND pass='".md5($pass)."'";  
            mysql_query($rq) or die('Erreur SQL !'.$rq.'<br>'.mysql_error());
          }
         
    // si on trouve on ouvre une session
     
    $_SESSION['email'] = $ligne[1];
    $_SESSION['id'] = $ligne[0];
     
      ob_end_clean();
      if ($_POST['statut'] = artiste)
        {
          header ("Location: [url=http://www.domaine.com/index.php?page=inscriptionartiste&\.$_SESSION]http://www.domaine.com/index.php?page=inscriptionartiste&\".$_SESSION[/url]['email']."&".$_SESSION['id']);
          exit();
        }
      else
        {
          header ("
Location: [url=http://www.domaine.com/index.php?page=inscriptionpro&\.$_SESSION]http://www.domaine.com/index.php?page=inscriptionpro&\".$_SESSION[/url]['email']."&".$_SESSION['id']);
          exit();
        }
     
    }
    else
    {
      echo "Le nom d'utilisateur ou le mot de passe n'existe pas. J'ai perdu mon mot passe";
    }
    mysql_close();
  }
  else
  {
    echo "Une erreur est survenue. Merci de recommencer";
  }
 

Est ce quelqu un pourrait m aider s il vous plait

#2 Re : Forum Général PHP » [Résolu] confirmation de compte par mail (Probleme de lien) » 26-06-2009 19:09:27

Bon c'est bon j'ai tout réussi a faire fonctionner (oouuuf)
J'ai viré l'iframe pour cette page donc c est dur

En tout cas merci de votre aide
A bientôt

#3 Re : Forum Général PHP » [Résolu] confirmation de compte par mail (Probleme de lien) » 26-06-2009 19:09:27

dans l'index.php
j'essaye de faire en sorte que toutes les pages passent index.php
la code de l'index.php c est ca :


#
/Gestion de la navigation menu
#
//-------------------------------------------------------------------------------------------------------
#
             if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];
#
             switch($page)
#
               {
#
                 case 'accueil': include ('inc/accueil.php');break;
#
                 case 'casting': include ('casting.php');break;
#
                 case 'artiste': include ('artiste.php');break;
#
                 case 'pro': include ('pro.php');break;
#
                 case 'event': include ('event.php');break;
#
                 case 'inscriptionlogin': include ('commun/inscriptionlogin.php');break;
#
                 case 'contact': include ('inc/contact.php');break;
#
                 case 'quisommesnous': include ('inc/quisommesnous.php');break;
#
                 case 'actualite': include ('inc/actualite.php');break;
#
               }
 

#4 Re : Forum Général PHP » [Résolu] confirmation de compte par mail (Probleme de lien) » 26-06-2009 19:09:27

Oups je viens de me rencontre que je venais d'écrire une blague pardon.

Effectivement ca fonctionne mais mon problème reste le même (j'en peu plus)
il revient bien sur la inscriptionlogin mais il m'affiche le formulaire au lieu du message de bienvenu

En réalité je me mélange les pinceaux avec les iframes (c'est la première fois que j'utilise ca) donc du coup je suis un peu paumé malis il faut un début à tout

Du coup je reviens a ce que je pensais être mon problème des le départ
C'est le code la page d'index.php "Je pense que c est lui qui doit me bloquer l'affichage de mon message d'accueil car il ne reconnais pas la page"

En tout cas merci de vos reponse qui me fond avancer smile


mcAllan a écrit :

Et tu aura inscriptionlogin dans $_GET['page']...
Donc dans index.php le switch reconnaitra la page et fera l'include qui va bien.

Ensuite, habituellement les codes donnés dans les mails de confirmation d'inscription sont des codes générés aléatoirement et stockés en bdd avec une durée de validité limité.

oui c'est exactement ca.
C'est pour ca jene comprends pas comment je peux faire pour afficher le message de bienvenu.

#5 Re : Forum Général PHP » [Résolu] confirmation de compte par mail (Probleme de lien) » 26-06-2009 19:09:27

mcAllan a écrit :

Salut,


Il me semble que :


<a href="'.$page.'?page=inscriptionlogin&code='.$session.'">lien suivant :</a>
 

Et tu aura inscriptionlogin dans $_GET['page'].

Je suis désolé mais j'ai pas compris ou tu voulais en venir avec $_GET['page'] pourrais tu m'en donner un tout petit plus.

#6 Re : Forum Général PHP » [Résolu] confirmation de compte par mail (Probleme de lien) » 26-06-2009 19:09:27

Salut,

Je me disais que c'est session temporaire dans le sens ou dés que le compte est confirmé par mail j'enregistre toutes les données dans une autre table et je supprime la session en cours.
C'est pour ca que je fais comme ca !!??

#7 Re : Forum Général PHP » [Résolu] confirmation de compte par mail (Probleme de lien) » 26-06-2009 19:09:27

Voila enfin j'ai trouvé mon erreur :


 <a href="'.$page.'=inscriptionlogin&code='.$session.'">lien suivant :</a>
 

Apres le code il faillait mettre un "?" et non pas "=" comme quoi des fois.

Par contre je me retrouve en face d"un autre probleme c est que je suis redirigé direct sur la page d'accueil c est normal car mon script sur index.php (un peu plus haut dnas le meme post ne reconnait pas la page  :

inscriptionlogin&code=4afd96a87469b9ea6a72b11b8478ac12

J'ai essaye de la déclarée mais je pense je m'y prends mal.

#8 Re : Forum Général PHP » [Résolu] confirmation de compte par mail (Probleme de lien) » 26-06-2009 19:09:27

sakut,

C'est juste que je n'ai toujours pas trouvé mon probleme alors un petit up

#9 Re : Forum Général PHP » [Résolu] confirmation de compte par mail (Probleme de lien) » 26-06-2009 19:09:27

Salut et merci de m aider,

voila ce que j'ai mis en fin de compte  :


<a href="'.$page.'=inscriptionlogin&code='.$session.'">lien suivant :</a>
 

Ce qui revient exactement ce que tu m as dis smile

mais maintenant j ai cette erreur : The requested URL /index.php=inscriptionlogin&code=8b851a241b59a1aa17b73d7a3927746c was not found on this server.

Est ce que c est du au fait que $code ne soit pas déclaré dans la partie navigation de l index.php (Puique je test les pages) mais normalement il doit m'envoyer la page accueil.php pas me faire une erreur 404 comme c est la cas

Maskime a écrit :

Ok,
Ensuite tu renseigne la variable $_GET['page'] avec la valeur 'inscription'. Or si je me fie au code que tu as posté, je ne vois pas de


case 'inscription'
 

Ce qui pourrait expliquer que ta page n'affiche rien.

non c'est bon au niveau de mon code c'est peut etre quand j ai fais un copié coller

#10 Re : Forum Général PHP » [Résolu] confirmation de compte par mail (Probleme de lien) » 26-06-2009 19:09:27

Salut désolé pour le retard de reponse
C'est la première fois que j'utilise les i frame donc je galère


Voici le code de l'index :
[code = PHP]
//Gestion de la navigation menu
//-------------------------------------------------------------------------------------------------------
                            if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];
                            switch($page)
                                {
                                    case 'accueil': include ('inc/accueil.php');break;
                                    case 'casting': include ('casting.php');break;
                                    case 'artiste': include ('artiste.php');break;
                                    case 'pro': include ('pro.php');break;
                                    case 'event': include ('event.php');break;
                                    case 'inscriptionlogin': include ('commun/inscriptionlogin.php');break;
                                    case 'contact': include ('inc/contact.php');break;
                                    case 'quisommesnous': include ('inc/quisommesnous.php');break;
                                    case 'actualite': include ('inc/actualite.php');break;
                                }

[/code]
`
Merci

#11 Forum Général PHP » [Résolu] confirmation de compte par mail (Probleme de lien) » 26-06-2009 19:09:27

hichoum
Réponses : 16

Bonjour à tous,

J'ai besoin d'un coup de main je pense que c est juste un problème de logique (encore)
En gros mon site fonctionne en iframe php. J'ai un formulaire d'inscription quand on a validé on reçoit un mail avec un lien a suivre pour la confirmation.

Mon code du lien dans la mail est  :


 <a href="'.$page.'?code='.$session.'">lien suivant :</a>
 

Ce code fonctionne très bien si je reviens dans directement dans la page du formulaire.

Maintenant comme tout ca est fait avec un include sur l index j ai remplacé le code comme ca :


 <a href="index.php?page=inscription'?code='.$session.'">lien suivant :</a>
 

J ai viré le $page car celui ci est déclaré comme cela dans la code :

$page=$serveur.$_SERVER["PHP_SELF"];

quand je fais ce changement je reviens bien sur l'index comme il faut mais il n'affiche rien et surtout il ne confirme pas le compte.

Je sens que c est un truc bête encore mais cela fait 2 jours que je test des trucs
J'espere que c est assez clair comme explication.

Merci de m'éclairer sur ce problème.

#13 Re : Forum Général PHP » [Résolu] include formulaire » 15-06-2009 13:47:48

je vais aller tester direct.
Mais c'est vrai que ca me semble très très logique maintenant que je l'ai sous les yeux
merci

#14 Re : Forum Général PHP » [Résolu] include formulaire » 15-06-2009 13:47:48

Bonjour,

Désolé de ne pas avoir répondu plus tôt mais viens juste de rentrer smile (Un bon week end à la Rochelle ça fait du bien)
Alors voila :
<form action="commun/inscriptionlogin.php" method="post">
inscriptionlogin.php enfait c est le meme fichier que j'inclus je ne sais si c est très clair.
Ca veut dire que j inclus le formulaire dans mon index et je le revois vers lui même pour se valider.

#15 Forum Général PHP » [Résolu] include formulaire » 15-06-2009 13:47:48

hichoum
Réponses : 6

Bonsoir à tous,

J'ai  un formulaire qui fonctionne très bien. l'action revois sur lui même
donc ce formulaire fonctionne très bien quand sur la page du script www. monsite. com/script/form.php
Mais le problème viens quand j'appelle ce formulaire sur mon index www. monsite .com/index.php?page=form
au début tout s'affiche correctement mais des que je valide il reviens à l'accueil. Je pense que c est dû à l'action du formulaire en gros il ne se retrouve pas puisque je l'affiche sur l'index.
On m a dit il fallait séparer le formulaire du script de validation mais ce n est pas une solution qui me convient car je vais avoir plusieurs formulaires a faire et gérer du coup je préfère avoir sur la même page.

Pourriez vous me proposer une ou d'autres manières de gérer ce truuuuuuuc car j'en peu plus.:(
Merci

#16 Re : Forum Général PHP » [Résolu] tout fonctionne sur mamp mais erreur de mysql sur le serveur » 10-06-2009 14:29:03

HAaaaa je suis content j'ai trouvé. Enfin ça fonctionne c'est déjà bien maintenant d'où venait le problème bah je pense que c'était à cause du <p></p> que wymeditor ajoute ajoute à la fin.
Merci d'avoir répondu à mes postes et à bientôt smile

#17 Re : Forum Général PHP » [Résolu] tout fonctionne sur mamp mais erreur de mysql sur le serveur » 10-06-2009 14:29:03

Salut tout le monde,

Apres ton poste j ai refais tout le script formulaire est php et j'ai testé cela fonctionne tres bien sur mamp et serveur en ligne.
Mais des que j'ai ajouté wymeditor hop ca plante sur le serveur et pas sur mamp.
Donc je pense que c'est l'injection de code HTML qui ne lui plait pas ?

#18 Re : Forum Général PHP » [Résolu] tout fonctionne sur mamp mais erreur de mysql sur le serveur » 10-06-2009 14:29:03

Oui je sais c est une plaie les caractères spéciaux surtout la il y a du HTML avec wymeditor.
Mais tu penses que c est dû au formulaire HTML cette erreur ??

#19 Re : Forum Général PHP » [Résolu] tout fonctionne sur mamp mais erreur de mysql sur le serveur » 10-06-2009 14:29:03

Bonjour,

J'ai cherché un peu partout mais je n'ai rien trouvé sur ce genre de problème (pi en même temps je ne sais pas plus trop quoi chercher) alors je me pose une question
le formulaire fonctionne très bien sur mamp en ligne il fonctionne a moitié c est a dire que il accepte les formulaire avec juste quelques mots et refuse les longs textes (j'ai configuré les champs de ma table pour recevoir des longs textes)
alors est ce que cela pourrais venir de la conf de mysql sur le serveur (je doute m enfin on ne sait jamais)
et 2eme question est ce que cela pourrait venir de l'échappement car dans le message d'erreur il reprend la raquette et les caractères spéciaux deviennent encore plus spéciaux du genre :

Par les élèves
ou alors : venez écouter le spectacle de Flûte par les élè

alors du coup je reviens a la question de depart puisque je fais mes essayes avec le même contenu pourquoi ca fonctionne sur mamp et pas sur le serveur  si ce n est pas une différence de conf  ??

Voila merci de bien vouloir m aider

#20 Forum Général PHP » [Résolu] tout fonctionne sur mamp mais erreur de mysql sur le serveur » 10-06-2009 14:29:03

hichoum
Réponses : 7

Salut c'est encore moi.


Je reviens j'ai créé un petit script pour gérer des actus en ligne a ce formulaire j'ai rajouté wymedit tout fonctionne très bien dans mes tests en interne sur mamp (wamp pour mac) mais quand je transféré tout ca sur le serveur ca ne fonctionne plus c'est la même table et même code tout ce qui change c est le login et mot de passe

Une info quand je remplis chaque champs de mon formulaire avec un test et que je valide ca fonctionne masi des que je met une petite tartine de texte ca me message d'erreur

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

Merci encore a vous de bien vouloir m'aider

Oups je colle le code peut etre ca va simplier la vie


[code = php]
<?php
$date = $HTTP_POST_VARS["date"];
$entete = $HTTP_POST_VARS["entete"];
$txt = $HTTP_POST_VARS["txt"];
if (empty($date) or empty($entete) or empty($txt))
    {print("<center>Aucun champs ne peux rester vide</center>");
exit();
}

else{
//ici les parametres pour la connexion
$db = mysql_connect('localhost', 'root', 'root')  or die('Erreur de connexion '.mysql_error());
// sélection de la base 

$select_base=mysql_select_db('matable',$db)  or die('Erreur de selection '.mysql_error());

// on écrit la requête sql
    $date=htmlentities($date);
    $entete=htmlentities($entete);
    $txt=htmlentities($txt);
    $sql = "INSERT INTO actu ". "(date, entete, txt)"." VALUES('$date','$entete','$txt')";
     
    // on insère les informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

    // on affiche le résultat pour le visiteur
    echo 'Vos infos on été ajoutées.';

    mysql_close();  // on ferme la connexion
    }
?>
[/code]
Hicham

#21 Re : Forum Général PHP » [Résolu] supplied argument is not a valid MySQL result » 08-06-2009 13:54:20

MEEEERRRCIIII  BEAUCOUP c est super j'enregistre dnas la bdd
Bon le dernier post c'etait juster pour tester votre presence car je le savais roll

Encore merci

#22 Re : Forum Général PHP » [Résolu] supplied argument is not a valid MySQL result » 08-06-2009 13:54:20

Salut désolé mais je suis obligé de revenir vers vous car j'ai encore des soucis avec ce code.
voila j'ai rajouté :

[code = php]
if (mysql_num_rows ($result) == 0)
                {
                    //on ajoute l'utilisateur
                    $rq = "INSERT INTO login" . "nom_utilisateur, prenom, nom, email, mdp, date_enreg)" . "VALUES ('$nu', '$pr', '$no', '$em', PASSWORD('$mp'), NOW())" ;
                    $result = @mysql_query ($rq) or die('Erreur SQL !'.$rq.'<br>'.mysql_error());
                    if ($r)
                        {
                            echo mysql_insert_id();
                            exit;
                           
                        }
[/code]

mais j'ai une autre erreur que je ne comprends pas non plus ^^
Erreur SQL !INSERT INTO login nom_utilisateur, prenom, nom, email, mdp, date_enreg)VALUES ('test', 'test', 'test', 'mailatmail.bom', PASSWORD('1234'), NOW())
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' prenom, nom, email, mdp, date_enreg)VALUES ('test', 'test', 'test', 'mail' at line 1

merci encore pour vos reponses et aide

#23 Re : Forum Général PHP » [Résolu] supplied argument is not a valid MySQL result » 08-06-2009 13:54:20

Salut,

Le code qui gère le formulaire est complet j'inclus 2 fichiers un contenant une fonction pour gérer les erreurs et l'autre les parametres de connexion et une fonction echappement
JE peux les mettre en ligne si cela est nécessaire

#24 Re : Forum Général PHP » [Résolu] supplied argument is not a valid MySQL result » 08-06-2009 13:54:20

OK je viens de tester et ca fonctionne, enfin la fonction fonctionne et donc j'ai une réponse 0. Ca serait un probleme de conexion à la bdd ??

encore merci
Hicham

#25 Re : Forum Général PHP » [Résolu] supplied argument is not a valid MySQL result » 08-06-2009 13:54:20

j'ai essayé :


$rq = "INSERT INTO login" . "nom_utilisateur, prenom, nom, email, mdp, date_enreg)" . "VALUES ('$nu', '$pr', '$no', '$em', PASSWORD('$mp'), NOW())" ;
         
          if ($result)
            {
              echo LAST_INSERT_ID() ;
              exit;
             
            }
 

Mais je pense j'au dû mal comprendre car j'ai une erreur :
Fatal error: Call to undefined function last_insert_id()

Merci

Pied de page des forums

Propulsé par FluxBB