IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

minichat qui s'éxécute à moitié


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut minichat qui s'éxécute à moitié
    bonjours

    j'ai un problème avec ce donne il ne s'éxécute que pour enregistrer
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <?php
    session_start();
    ?>
     
     
     
     
     
    <div id="corps">
    <?php
    mysql_connect("localhost","schats*****","******");
    mysql_select_db("schats");
    $_SESSION['pseudochat'] = $_SESSION['pseudo'];
    $tt =  time()+300;
    mysql_query("insert into mnichat values('','".$_SESSION['pseudo']."','','".time()."','".$tt."','2')")or die (mysql_error());
    if(!empty($_SESSION['pseudochat'])) 
    {
    ?>
    <form method="post" action="chat.php">
    <input type="text" name="pseudo" /><input type="submit" value="accès au chat"/> 
    </form>
     
    <?php
    $pseudo = mysql_escape_string($_POST['pseudo']);
    if(empty($pseudo))
    {
    echo 'merci de mettre un pseudo'; 
    $pl = mysql_query("select membre.pseudo, mnichat.pseudo from mnichat LEFT JOIN membre on membre.pseudo = mnichat.pseudo where membre.pseudo ='$pseudo' ")or die (mysql_error());
    echo $pl// il ne m'affiche pas la requette  et ne vérifie pas si le pseudo existe 
    $lm = mysql_num_rows($pl);
    }
    elseif($pl != 0)
    {
    echo 'pseudo deja existant merci de le changer';
    }
    else
    {
    $timex = time() + 300;
    mysql_query(" insert into mnichat values( '','".$pseudo."','','".time()."','".$timex."','2')") or die (mysql_error());
    $_SESSION['pseudochat'] = $pseudo;  
    // ici normalement il devrai passer a la seconde parie mais il ne veut pas je ne comprend pas pourquoi.
    }
    }
    else
    {
    ?>// il ne passa jamais ici

    merci de m'aider car je ne comprend pl

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bonjour

    Pourrais-tu expliquer davantage ton problème ? Y a-t-il des messages d'erreur ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    bonjours
    j'ai aucun message d'erreur ( c'est bien cela qui m'inquiète) .
    en faite quand je remplie le premier formulaire il ne me renvoye par dans la second parti du site ( c'est a dire dans le chat) mais il semble que la première requête ( celle qui vérifie que le membre n'existe pas déjà ) quand dans le formulaire je met mon pseudo ( de membre ) ben sa ne me met pas pseudo déjà existant j'ai tester dans phpadmin la requête et elle marche :s

    @Celira me revoilà avec les problème bizare .

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bon on va commencer par vérifier que je comprends bien le fonctionnement de ton algo :
    Ta variable $_SESSION['pseudo'] provient d'une autre page (je suppose). Ce que tu essaye de faire c'est :
    - si cette variable existe, ouvrir la session de chat avec ce pseudo (mémorisé dans $_SESSION[pseudochat] et dans la table minichat)
    - si cette variable n'existe pas : demander un pseudo à l'utilisateur, vérifier que ce pseudo n'est pas déjà pris et ouvrir la session avec ce pseudo.

    Et avec une vérifiaction sur $_SESSION[pseudochat]; tu vérifie si la session de chat est ouverte ou non, donc si tu dois faire des manipulatiosn de pseudo ou passer au chat.

    Est-ce bien ça ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    c'est tout a fait cela ....
    si tu comprends, php devrait aussi comprendre
    oups un petit problème de dernière minute le formulaire n'a pas l'air de réagit
    pour tester

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bon, j'ai bien compris. Le problème c'est que ce n'est pas ce que tu as écrit Je crois que tu t'es un peu emmelé les pinceaux au niveau des conditions...

    J'ai repris le code que tu cites dans le premier post en réorganisant les if...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?php
    session_start();
    ?>
     
    <div id="corps">
    <?php
    mysql_connect("localhost","schats*****","******");
    mysql_select_db("schats");
     
    // il n'y a pas de session de chat ouverte <= $_SESSION[pseudochat] est vide
    if(empty($_SESSION['pseudochat'])) 
    {
    	// $-SESSION['pseudo'] existe => on ouvre le chat avec 
    	if (!empty ($_SESSION['pseudo'])){
    		$_SESSION['pseudochat'] = $_SESSION['pseudo'];
    		$tt =  time()+300;
    		$rq_chat = "insert into mnichat values('','".$_SESSION['pseudochat']."','','".time()."','".$tt."','2')";
    		mysql_query($rq_chat)or die ('Erreur SQL sur '.$rq_chat.' : '.mysql_error());
    	}
    	else // sinon on demande un pseudo
    	{
    		?>
    		<form method="post" action="chat.php">
    		<input type="text" name="pseudo" /><input type="submit" value="accès au chat"/> 
    		</form>
    		<?php
    		if(empty($_POST['pseudo']))
    		{
    			echo 'merci de mettre un pseudo'; 
    		}
    		else
    		{
    			$pseudo = mysql_escape_string($_POST['pseudo']);
    			$rq_pseudo = "select membre.pseudo, mnichat.pseudo from mnichat LEFT JOIN membre on membre.pseudo = mnichat.pseudo where membre.pseudo ='$pseudo' ";
    			$pl = mysql_query($rq_peusdo)or die ('Erreur sur '.$rq_pseudo.' : '.mysql_error());
    			$lm = mysql_num_rows($pl);
    			if($lm != 0)
    			{
    				echo 'pseudo deja existant merci de le changer';
    			}
    			else
    			{
    				$_SESSION['pseudochat'] = $pseudo;
    				$tt =  time()+300;
    				$rq_chat = "insert into mnichat values('','".$_SESSION['pseudochat']."','','".time()."','".$tt."','2')";
    				mysql_query($rq_chat)or die ('Erreur SQL sur '.$rq_chat.' : '.mysql_error());
    			}
    		}
    	}
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    oups ca marchais mais juste un problème quand je met schats dans la zone de saisie le mysql_num_rows me met 0 alorq que sa devrai mettre 1 :s
    bizare :s

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    petit up

    j'ai trouver le problème elle vient de la requête
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $rq_pseudo = "select membre.pseudo, mnichat.pseudo from mnichat LEFT JOIN membre on membre.pseudo = mnichat.pseudo where membre.pseudo ='$pseudo' ";
      $pl = mysql_query($rq_pseudo)or die ('Erreur sur '.$rq_pseudo.' : '.mysql_error());
    elle me renvoie rien membre s'il y a des données ( tester sur phpadmin)

    la composition des table
    mnichat
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    -- 
    -- Structure de la table `mnichat`
    -- 
     
    CREATE TABLE IF NOT EXISTS `mnichat` (
      `id` int(11) NOT NULL auto_increment,
      `pseudo` varchar(255) NOT NULL,
      `message` text NOT NULL,
      `timestamp` bigint(20) NOT NULL,
      `timestampex` bigint(20) NOT NULL,
      `statue` varchar(255) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 A

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    -- 
    -- Structure de la table `membre`
    -- 
     
    CREATE TABLE IF NOT EXISTS `membre` (
      `id` int(11) NOT NULL auto_increment,
      `pseudo` varchar(255) NOT NULL,
      `mdp` varchar(255) NOT NULL,
      `email` varchar(255) NOT NULL,
      `date` date NOT NULL,
      `sexe` varchar(255) NOT NULL,
      `statue` varchar(2) NOT NULL,
      `confirmation` varchar(2) NOT NULL,
      `nom` varchar(255) NOT NULL,
      `prenom` varchar(255) NOT NULL,
      `jeuxfutur` varchar(2) NOT NULL,
      `statueforum` int(11) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=73 ;

Discussions similaires

  1. [XL-2007] Procédure qui s'éxécute une seconde fois à partir de la moitié
    Par stepel dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/08/2014, 22h26
  2. Pagination qui marche a moitie
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 28/09/2010, 09h05
  3. Un page php qui se recharge à moitié exécutée
    Par lysandre dans le forum Langage
    Réponses: 5
    Dernier message: 17/04/2009, 08h39
  4. [MySQL] Requete qui s'execute à moitié
    Par xclam dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/05/2008, 14h26
  5. [VB.NET]Procédure qui s'éxécute plusieurs fois
    Par ropiet dans le forum Windows Forms
    Réponses: 13
    Dernier message: 25/08/2006, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo