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 :

Que faites-vous en ce moment comme Facebook


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2007
    Messages : 95
    Points : 48
    Points
    48
    Par défaut Que faites-vous en ce moment comme Facebook
    Bonjour,

    Je voudrais donner la possibilité aux membres de mon site d'afficher leur statut comme sur facebook.
    Ce serait en quelque sorte leur humeur du jour.

    Mon site fonctionne avec des templates Smarty.

    Merci d'avance pour votre aide car lorsque je mets à jour mon humeur, elle ne change pas.

    J'ai donc sur ma page index.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		$hum = $db->getRow("SELECT message, dateexpiration FROM ! WHERE userid = ?", array(table_humeur, $_SESSION['UserId']));
    		$humeur = $hum['message'];
    		$dateexp = $hum['dateexpiration'];
    		$t->assign('humeur', $humeur);
    		$t->assign('dateexp', $dateexp);
    Ensuite, dans mon template homepage.tpl, j'inclus humeur.tpl

    humeur.php :

    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
     
    <?php
    if ( !defined( 'SMARTY_DIR' ) ) {
    	include_once( 'init.php' );
    }
     
    include ( 'sessioninc.php' );
     
    if ($_POST['humeurdujour'] != ''){
     
    $sql = "select count(*) userid FROM ! WHERE userid = ?";
    $total=$db->getOne( $sql ,array( table_humeur, $_SESSION['UserId'] )); 
     
    if ($total > 0){
    $sendhumeur = "UPDATE ! SET dateheure = ?, dateexpiration = ? , message = ? WHERE userid= ?";
    $humeurbdd = $db->query($sendhumeur, array(table_humeur, time(), time()+86400, $_POST['humeurdujour'], $_SESSION['UserId']));
    } else {
    $sendhumeur = "INSERT INTO ! (userid, dateheure, dateexpiration, message) VALUES (?, ?, ?, ?)";
    $humeurbdd = $db->query($sendhumeur, array(table_humeur, $_SESSION['UserId'], time(), time()+86400, $_POST['humeurdujour']));
    }
     
    header("Location: humeurok.php");
    exit();		
    }
     
    ?>
    humeur.tpl :

    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
     
    {strip}
    <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#CC66CC">
        <tr>
        	<td width="20">
    			<img src="getsnap.php?id={$user.id}&amp;typ=pic&amp;height=50" class="smallpic" style="margin:10px 20px 10px 0px;" alt="" />
    		</td>
            <td>
            	<form name="composehumeur" action="" method="post">
                {if $dateexp|date_format:"%d/%m/%H/%M" < $smarty.now|date_format:"%d/%m/%H/%M"}
            	<font size="+1" color="#FFFFFF">{$smarty.session.UserName}&nbsp;<input type="text" size="50" style="font-size:14px;" name="humeurdujour" id="humeurdujour" value="Mon humeur aujourd'hui" />&nbsp;</font>
                {else}
                <font size="+1" color="#FFFFFF">{$smarty.session.UserName}&nbsp;<input type="text" size="50" style="font-size:14px;" name="humeurdujour" id="humeurdujour" value="{$humeur}" />&nbsp;</font>
                {/if}
                <input type="submit" class="formbutton" name="btnsend" value="{lang mkey='send'}" onclick="javascript:popUpWindow('humeur.php','center',400,100);" />
                </form>
            </td>
    	</tr>
    </table>
    {/strip}
    Le popup qui devrait mettre à jour le statut affiche une page blanche, pourtant mon humeurok.php et .tpl sont bien là.
    Et l'humeur reste " Mon humeur aujourd'hui " et pas de màj dans la bdd.

  2. #2
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    Je ne code pas de la meme maniere que toi, ce qui fait que j'aurais bien du mal a te conseiller (meme si j'utilise smarty egalement)...

    Sur le premier code (index.php)
    Essaie de debugguer en faisant apparaitre le contenu de tes variables (apres leur affectation) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    print_r($hum);
    echo $humeur;
    Sur le second code (humeur.php)
    Je ne comprend pas cette requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "select count(*) userid FROM ! WHERE userid = ?";
    Soit tu l'écris comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "select count(*) FROM ! WHERE userid = ?";
    Soit comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "select userid, count(*) as count FROM ! WHERE userid = ? GROUP BY userid";
    juste avant header("Location: humeurok.php"); essaie de faire un :
    Tu pourras ainsi voir si ta requète n'a pas de problème, et ensuite la tester dans PhpMyadmin

    Sur le troisième code (humeur.tpl) :
    Si cela te renvoi une page blanche c'est que tu dois avoir une erreur dans le code smarty...
    A y regarder de plus près je me demande si cela ne serais pas sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="submit" class="formbutton" name="btnsend" value="{lang mkey='send'}" onclick="javascript:popUpWindow('humeur.php','center',400,100);" />
    Je trouve bizarre la façon dont tu as écrit {lang mkey='send'}

    @+
    cadou

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2007
    Messages : 95
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    merci pour ta réponse, mais si tu as des choses à me proposer avec ta façon de coder, je suis preneur. Je suis débutant et j'ai donc pas vraiment toute la logique nécessaire.

    Citation Envoyé par cadoudal56 Voir le message

    Sur le second code (humeur.php)
    Je ne comprend pas cette requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "select count(*) userid FROM ! WHERE userid = ?";
    En fait je demande de me compter combien de fois l'userid (id de la session) apparait dans la table. Si il apparait déjà, je vais mettre à jour la ligne avec un UPDATE. Si il n'apparait pas, je vais créer la ligne. De façon à n'avoir toujorus qu'une seule ligne par id de membre.

    Sur le troisième code (humeur.tpl) :
    Si cela te renvoi une page blanche c'est que tu dois avoir une erreur dans le code smarty...
    A y regarder de plus près je me demande si cela ne serais pas sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="submit" class="formbutton" name="btnsend" value="{lang mkey='send'}" onclick="javascript:popUpWindow('humeur.php','center',400,100);" />
    Je trouve bizarre la façon dont tu as écrit {lang mkey='send'}
    {lang mkey='send'} renvoie à la ligne "send" de mon fichier langue (utile pour avoir plusieurs langues disponible mais je peux très bien remplacer tout ça par "Mettre à jour" par exemple.

Discussions similaires

  1. Réponses: 23
    Dernier message: 05/11/2019, 15h15
  2. [BadTrip] Que faites vous a noël cette année ?
    Par Joe-La-Boule dans le forum La taverne du Club : Humour et divers
    Réponses: 27
    Dernier message: 11/01/2007, 18h21
  3. Réponses: 11
    Dernier message: 14/05/2006, 15h01
  4. [Emploi/Stage] Que faites-vous en ce moment?
    Par Nasky dans le forum Emploi
    Réponses: 20
    Dernier message: 11/08/2005, 11h57

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