Formulaires et cookies

Résolu
cs_skit Messages postés 54 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 23 septembre 2009 - 15 oct. 2006 à 13:35
cs_skit Messages postés 54 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 23 septembre 2009 - 15 oct. 2006 à 22:21
Voila j'ai fait un code qui permet au visiteur de choisir s'il veut que
la musique de mon blog dotclear se lance automatiquement ou pas.

Mais voila 2 gros problèmes; un message d'erreur
Warning: Cannot modify header information - headers already sent by (output started at /mnt/136/sdc/b/5/lupuce2/Blog/index.php:50) in /mnt/136/sdc/b/5/lupuce2/Blog/themes/Bloc Lady Vengeance/template.php on line 182
relatif à l'usage du setcookie


et le second c'est qu'étrangement; j'ai beau vider mon répertoire de
cookies, il me prend toujours l'option 'non'... Si quelqun pouvait
m'être secourable ce serait sympa.


Merci.


<?PHP

            if ($_POST['musique']='non')

            {

            setcookie("musique","non");

            }

            elseif ($_POST['musique']='oui')

            {

            setcookie("musique","oui");

            }

            $musique = $_COOKIE["musique"];

            if ($musique="non")

            {

            echo
'';

            echo "<form
method='post' action=''>
</form>";

            }

            else

            {

           
 echo'" name="radio" scrolling="no" frameborder="0" width="220"
height="320">';

            echo "<form
method='post' action=''>
</form>";

            }

            ?>

8 réponses

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
15 oct. 2006 à 21:29
Euh, pour la déformation du design, c'est la largeur de l'iframe qu'il faut modifier (peut etre un 100%)
Sinon, au tout debut de ta page, ajoute un

<?php
ob_start();
?>

et tout à la fin

<?php
ob_flush_end();
?>

<hr />Si ma reponse te convient, merci de l'accepter ! 
3
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
15 oct. 2006 à 21:53
Euh, tu peux trouver de la documentation sur php.net

ob_ start
Enclenche la tamporisation de sortie.

Cette fonction démarre la tamporisation de sortie.
Tant qu'elle est enclenchée, aucune donnée, hormis
les en-têtes, n'est envoyée au navigateur, mais
temporairement mise en tampon.

De plus, elle permet de ne pas afficher (et d'accepter) les fonction Header (Header, setcookie, session_start() ...) apres l'envoi de donnée HTML.

ob_ end_ flush
Envoie les données du tampon de sortie et éteint la
tamporisation de sortie

Si ma reponse te convient, merci de l'accepter ! 
3
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
15 oct. 2006 à 17:34
Salut,
Voici un code :

<?php

if( isset($_COOKIE['musique']) AND is_numeric($_POST['musique']) )  {

  

  if( $_COOKIE['musique'] = = 1 )

    $music = 1; // OUI

  else

    $music = 0; // NON

} else

  $music = -1; // Pas défini

if( isset($_POST['musique']) )  {
  $_musique ( is_numeric($_POST['musique']) AND $_POST['musique'] 1 ) ? 1 : 0 ;

  

  // SI $_POST['musique'] existe

  // - Si la valeur et numérique et = à OUI alors OUI

  // - Sinon NON

  

  setcookie('musique', $_musique); // On enregistre la cookie

  

  $music = $_musique;

}
if( $music !1 )  { // Si $music est à 0 (NON) ou -1 (n'existe pas)

  echo '



<form method="post" action="">

 

  

  

  <!-- Activation $_POST[\'musique\'] = 1; -->

 



</form>';

}  else  {

  $var = ''; // A définir

  echo '

 , $var, '" name="radio" scrolling="no" frameborder="0" style="width: 220px; height: 320px"> 

<form method ="post" action="">

 

  

  

  <!-- Désactivation $_POST[\'musique\'] = 0; -->

 



</form>';

}

if ($_POST['musique']='non')

{

    setcookie("musique","non");

}

elseif ($_POST['musique']='oui')

{

    setcookie("musique","oui");

}

$musique = $_COOKIE["musique"];

if ($musique="non")

{

    echo '';

    echo "<form method='post'
action=''>
 </form>";

}

else

{

    echo'" name="radio" scrolling="no" frameborder="0" width="220"
height="320">';

    echo "<form method='post'
action=''>
 </form>";

}

?>


<hr />Si ma reponse te convient, merci de l'accepter ! 
0
cs_skit Messages postés 54 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 23 septembre 2009
15 oct. 2006 à 20:05
et non malheureusement

je me retrouve avec ce message;
Warning: Cannot modify header information - headers already sent by
(output started at /mnt/136/sdc/b/5/lupuce2/Blog/themes/Bloc Lady
Vengeance/template.php:25) in /mnt/136/sdc/b/5/lupuce2/Blog/themes/Bloc Lady
Vengeance/template.php on line 196


mais également 2 frames de ma radio... Néanmoins maintenant le bouton peut passer d'activer à désactiver ce qui est pas mal :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
15 oct. 2006 à 20:53
Euh, oooups ^^ J'avais oublié d'enlevé ton code à toi ^^'

<?php 

if( isset($_COOKIE['musique']) AND is_numeric($_POST['musique']) )  { 
   
  if( $_COOKIE['musique'] = = 1 ) 
    $music = 1; // OUI 
  else 
    $music = 0; // NON 
} else 
  $music = -1; // Pas défini 

if( isset($_POST['musique']) )  {   $_musique ( is_numeric($_POST['musique']) AND $_POST['musique'] 1 ) ? 1 : 0 ; 
   
  // SI $_POST['musique'] existe 
  // - Si la valeur et numérique et = à OUI alors OUI 
  // - Sinon NON 
   
  setcookie('musique', $_musique); // On enregistre la cookie 
   
  $music = $_musique; 
} 
if( $music !1 )  { // Si $music est à 0 (NON) ou -1 (n'existe pas) 
  echo ' 
 

<form method="post" action=""> 
  
   
   
  <!-- Activation $_POST[\'musique\'] = 1; --> 
 

 
</form>'; 

}  else  { 
  $var = ''; // A définir 
  echo ' 
 , $var, '" name="radio" scrolling="no" frameborder="0" style="width: 220px; height: 320px">  

<form method ="post" action=""> 
  
   
   
  <!-- Désactivation $_POST[\'musique\'] = 0; --> 
 

 
</form>'; 
}

?>
<hr />Si ma reponse te convient, merci de l'accepter ! 
0
cs_skit Messages postés 54 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 23 septembre 2009
15 oct. 2006 à 21:16
Presque!

Le message d'erreur est toujours là et la colonne de la radio reste déformée; http://skit.hopto.org

J'ai essayé d'enlever le <head> pour voir si le bug venait bien de ça mais apparemment non...

Tu as besoin d'une partie spéciale du code?

la partie php:

<?php

# ***** BEGIN LICENSE BLOCK *****

# This file is part of DotClear.

# Copyright (c) 2004 Olivier Meunier and contributors. All rights

# reserved.

#

# DotClear is free software; you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by

# the Free Software Foundation; either version 2 of the License, or

# (at your option) any later version.

#

# DotClear is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

# GNU General Public License for more details.

#

# You should have received a copy of the GNU General Public License

# along with DotClear; if not, write to the Free Software

# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

#

# ***** END LICENSE BLOCK *****

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang="<?php dcInfo('lang'); ?>"

lang="<?php dcInfo('lang'); ?>">

<head>

    <meta http-equiv="Content-Type"

    content="text/html; charset=<?php dcInfo('encoding'); ?>" />

    <meta name="MSSmartTagsPreventParsing" content="TRUE" />

    <?php dcHeadLinks(); ?>

    <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php dcInfo('rss'); ?>" />

    <link rel="alternate" type="application/atom+xml" title="Atom" href="<?php dcInfo('atom'); ?>" />

    <meta name="DC.title" content="<?php dcInfo(); ?>" />

    <title><?php dcSinglePostTitle('%s - '); dcSingleCatTitle('%s - ');

    dcSingleMonthTitle('%s - '); dcCustomTitle('%s - '); dcInfo(); ?></title>

   

    <link rel="stylesheet" type="text/css" href="<?php dcInfo('theme'); ?>/style.css" media="screen" />

    <?php dcPostTrackbackAutoDiscovery(); ?>

</head>

<!-- définition de la chanson aléatoire-->

<? $var=mt_rand(1,45); ?>

<!-- fin de la définition-->

<!-- Colonne de gauche: Top et Footer -->

           

                Archives

                <?php dcMonthsList(); ?>

           

           

           

                Minus and Cortex's Place

           

           

            Syndication

           

                <li>[<?php dcInfo('rss'); ?> fil rss]</li>

                <li>[<?php dcInfo('rss'); ?>?type=co fil rss commentaires]</li>

                <li>[<?php dcInfo('atom'); ?> fil atom]</li>

                <li>[<?php dcInfo('atom'); ?>?type=co fil atom commentaires]</li>

                <li>XHTML 1.0 Strict</li>

                <li>CSS</li>

           

           

               

        <!-- Veuillez laisser les liens de paternite. Merci. -->

        Propuls&eacute; par DotClear

        Design&eacute; par Skit et kloh

        Sous licence CC

        Get Firefox

   

<!-- Page : Main et Sidebar -->

   

   

       

           

                <!--Calendrier
-->

                <?php #Affichage du calendrier

                dcCalendar('%s
'); ?>

               

           

           

                Pens&eacute;e profonde

                <?

                $var2=mt_rand(1,10);

                    if ($var2==1)

                    {

                    $var2="Use me like
a chupa chups!";

                    }

                    elseif ($var2==2)

                    {

                    $var2="I don't discriminate.
I hate everyone.";

                    }

                    elseif ($var2==3)

                    {

                    $var2="Sex 'n
Drugs 'n
Rock'n roll!";

                    }

                    elseif ($var2==4)

                    {

                    $var2="You say
I'm a whore
like it's a
bad thing...";

                    }

                    elseif ($var2==5)

                    {

                    $var2="Les cheveux noirs
comme une popstar!";

                    }

                    elseif ($var2==6)

                    {

                    $var2="If you have to be a loser,
Be a True Rebel Loser!";

                    }

                    elseif ($var2==7)

                    {

                    $var2="Kill a hero...
...Be an Emo.";

                    }

                    elseif ($var2==8)

                    {

                    $var2="ChocapicKitten
ou
La volont&eacute; de choquer.";

                    }

                    elseif ($var2==9)

                    {

                    $var2="Arr&ecirc;te de te plaindre
et
Ouvre la bouche!";

                    }

                    elseif ($var2==10)

                    {

                    $var2="Le coeur empoisonn&eacute;,
Les oreilles d&eacute;coll&eacute;es,
L'anus lubrifi&eacute;,
La gueule tum&eacute;fi&eacute;e.";

                    }

                echo "" ".$var2.""

";?>

           

           

           

                <form action ="<?php dcInfo('search'); ?>" method= "get">

       

                    <label for="q">Rechercher</label>

                    " accesskey="4" />

                   

       

                </form>

           
   

       

       

       

        <?php if ($err_msg != '') : /* Si on a une quelconque erreur, on l'affiche */?>

           
Erreur :

            <?php echo $err_msg; ?>

   

        <?php elseif ($preview) : /* Si on demande la prévisualisation d'un commentaire */?>

            Commentaire pour <?php dcPostTitle(); ?>

           

               

                <?php dcCommentPreview(); ?>

               

           

       

            Changer le commentaire

            <?php include dirname(__FILE__).'/form.php'; ?>

       

        <?php elseif ($mode ! = 'post') : /* Si aucune erreur et mode != post on affiche une liste de billets */?>

            <?php # Phrase affiché en cas de recherche (%s est le mot cherché)

            dcSearchString('R&eacute;sultats de votre recherche de %s.

');

            ?>

       

            <?php include dirname(__FILE__).'/list.php'; ?>

       

        <?php else : /* Sinon, mode = post, donc billet unique (avec commentaires et tout le reste)*/?>

            <?php include dirname(__FILE__).'/post.php'; ?>

        <?php endif; ?>

   

       

   

   

   

       
   

           

            Radio

            <?php

            if( isset($_COOKIE['musique']) AND is_numeric($_POST['musique']) )  {

             

              if( $_COOKIE['musique'] == 1 )

                $music = 1; // OUI

              else

                $music = 0; // NON

            } else

              $music = -1; // Pas défini

           

            if( isset($_POST['musique']) )  {
              $_musique ( is_numeric($_POST['musique']) AND $_POST['musique'] 1 ) ? 1 : 0 ;

             

              // SI $_POST['musique'] existe

              // - Si la valeur et numérique et = à OUI alors OUI

              // - Sinon NON

             

              setcookie('musique', $_musique); // On enregistre la cookie

             

              $music = $_musique;

            }

           

           
            if( $music !1 )  { // Si $music est à 0 (NON) ou -1 (n'existe pas)

              echo '

           

           

            <form method ="post" action= "">

           

             

             

              <!-- Activation $_POST[\'musique\'] = 1; -->

           

            </form>';

           

            }  else  {

              echo '

           

           

            <form method ="post" action="">

           

             

             

              <!-- Désactivation $_POST[\'musique\'] = 0; -->

           

            </form>';

            }

?>

           

           

           

                Liens

                <?php dcBlogroll::linkList(); ?>

           

           

            <!-- Si vous souhaitez rajouter un bloc sous celui des Liens, decommentez la ligne ci-dessous -->

            <!--

    -->

            <!-- Pour configurer ce bloc, utilisez l'espace le concernant dans style.css a la ligne 410 -->

       

       

       

            <!-- Si vous souhaitez rajouter un bloc sous celui des Liens, decommentez la ligne ci-dessous -->

            <!--

-->

            <!-- Pour configurer ce bloc, utilisez l'espace le concernant dans style.css a la ligne 454 -->

       

   

<!-- Blocs en plus pour ajouter des images en tout genre si besoin -->


</html>
0
cs_skit Messages postés 54 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 23 septembre 2009
15 oct. 2006 à 21:42
ouahouuu merci

(c'était le message d'erreur qui déformait la page)

sinon tu pourrais m'en dire un peu plus sur les 2 commandes que tu m'as demandé d'ajouter?

Merci
0
cs_skit Messages postés 54 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 23 septembre 2009
15 oct. 2006 à 22:21
merci beaucoup :-)
0
Rejoignez-nous