PHP session_start():无法发送会话cookie

时间:2014-02-20 22:00:22

标签: php session

session_start();是我打电话的第一件事。没有空格。为什么我仍然得到这个警告?

截图:

Screenshot 1

错误:

  

[20-Feb-2014 16:52:32 America / New_York] PHP警告:session_start():无法发送会话cookie - 已经发送的标头(输出从/home/feyzprod/public_html/expertlookup.ca/index开始.php:1)在第4行的/home/feyzprod/public_html/expertlookup.ca/index.php

     

[20-Feb-2014 16:52:32 America / New_York] PHP警告:session_start():无法发送会话缓存限制器 - 已发送的标头(输出从/home/feyzprod/public_html/expertlookup.ca/index开始.php:1)在第4行的/home/feyzprod/public_html/expertlookup.ca/index.php

<?php session_start();  

    require_once('bdservice.php');
    $bd = new BDService();
    require_once('script.php');

    if(!isset($_SESSION['specialiteBD']))
    {
        $sql = "SELECT * FROM Specialites";

        try
        { $resultat = $bd->Select($sql); }
        catch(Exception $e)
        { echo $e->getMessage(); }

        if(count($resultat) != 0)
        {
            $newSpec= array();
            foreach($resultat as $a)
            {
                $newSpec[] = utf8_encode($a[1]);
            }

            $_SESSION['specialiteBD'] = $newSpec;           
        }
    }
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Annuaire</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
 <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
 <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
 <script src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false"></script>
<link rel="stylesheet" href="css/style.css" />
 <link rel="stylesheet" href="css/ico.css" />
<script src='js/validation.js'></script>
<script>
   function initialize()
   {
        var input = document.getElementById('where');
        var componentRestrictions = {country: 'ca'};
        var autocomplete = new google.maps.places.Autocomplete(input);
        autocomplete.setComponentRestrictions(componentRestrictions);
    }
    google.maps.event.addDomListener(window, 'load', initialize);

     $(function() {
    var availableTags = [];
    var ville = [];

    var availableTags = <?php echo urldecode(json_encode($_SESSION['specialiteBD'])) ?>;

    for(var i = 0; i < availableTags.length; i++)
    {
        ville.push(decode(availableTags[i]));
    }
    $( "#what" ).autocomplete({
        minLength: 2,
       source: function(req, responseFn) {
        var re = $.ui.autocomplete.escapeRegex(req.term);
        var matcher = new RegExp( "^" + re, "i" );
        var a = $.grep( ville, function(item,index){
            return matcher.test(item);
        });
        responseFn( a.slice(0,10));
    }
    });
  });
</script>
 </head>

 <body>
<?php include_once("analyticstracking.php") ?>
    <div class='headerBar'>
        <div class='headerContent'>
            <div id='logo'><a href='index.php'><img src='images/logo4.png' height='75' width='321' alt="Expert LookUp"/ title="Expert LookUp"/></a></div>
            <div id='navLien'>
                <table>
                    <tr>
                        <td>
                            <span>
                                <?php
                                    if(isset($_SESSION['authentification']))
                                    {
                                        echo "<a href='logout.php'>déconnexion</a>
                                                   <a href='profil.php' class='blue_Button'>Profil</a>";
                                    }
                                    else
                                    {
                                        echo "<a href='enregistrement.php'>Ajouter votre entreprise</a>
                                                   <a href='connexion.php' class='blue_Button'>Connexion</a>";
                                    }
                                ?>
                            </span>
                        </td>
                    </tr>
                </table>
            </div>
        </div>
    </div>

    <div class='blur'>
        <div class='blurContent'>
            <div id='left'>
                <p>Multiplier votre visibilité sur le web en vous inscrivant gratuitement sur notre moteur de recherche d'entreprise.</p>
                    <a href='enregistrement.php' class='blue_Button'>S'enregistrer</a>
            </div>
            <div id='right'>
                <form action='search/index.php' method='get'>
                <p>Trouvez un entrepreneur pour vos prochains travaux</p>
                <div class='iconMan'><input type='text' name='what' id='what' size='40' placeholder="Que recherchez vous ? Ex : Plombier" required title="Veuillez indiquer votre critère de recherche." x-moz-errormessage="Veuillez indiquer votre critère de recherche." /></div><br/>
                <?php
                    if(isset($_SESSION['invalideAdr']))
                    {
                        unset($_SESSION['invalideAdr']);
                        echo "<div class='iconWhere'><input type='text' style=\"border:1px solid red;\" name='where' id='where' size='40' placeholder=\"Impossible de trouver votre adresse !\" required title=\"Veuillez indiquer l\'emplacement de vos travaux.\" x-moz-errormessage=\"Veuillez indiquer l\'emplacement de vos travaux.\" /></div><br/>";
                    }
                    else
                    {
                        echo "<div class='iconWhere'><input type='text' name='where' id='where' size='40' required title=\"Veuillez indiquer l\'emplacement de vos travaux.\" x-moz-errormessage=\"Veuillez indiquer l\'emplacement de vos travaux.\" /></div><br/>";
                    }
                ?>
                <div class='radio'>
                    <input type="radio" id="r1" name="secteur" value='1' />
                    <label for="r1"><span></span>Résidentiel</label>
                    <input type="radio" id="r2" name="secteur" value='2' />
                    <label for="r2"><span></span>Industriel</label>
                    <input type="radio" id="r3" name="secteur" value='3' checked="checked" />
                    <label for="r3"><span></span>Les deux</label><br/><br/>
                    <input type='hidden' name='page' value='1' />
                    <input type='submit' name='Rechercher' value='Rechercher' class='blue_Button' />
                </div>
                </form>
            </div>
        </div>
    </div>

    <div class='infoContent'>

        <div id='info'>
            <p>À propos d'Expert Lookup</p>
            <span style='font-weight:bold;'>Information</span><br/>
            <span>Expert LookUp est un annuaire se concentra principalement sur les entreprises dans le domaine de la construction.</span><br/><br/>
            <span style='font-weight:bold;'>La simplicité même !</span><br/>
            <span>Vous avez uniquement à choisir quel type d'entreprises/personnes vous recherchez, l'emplacement de votre travaux et le secteur d'activité pour faire votre recherche.
            Les résultats de recherches vous seront affichées par ordre de distance et si une entreprise ne se déplace pas jusqu`à chez vous, elle ne sera pas affichée.</span><br/><br/>
            <span style='font-weight:bold;'>Validation de la licence RBQ</span><br/>
            <span>Nous vérifions directement à partir de la base de données de Gouvernement du Québec pour vérifier la licence RBQ des entreprises enregistrées sur notre annuaires.
             Si une entreprise ne dispose pas de licence RBQ valide, cette information vous sera affichée.</span><br/><br/>
        </div>

        <div id='why'>
            <p>Pourquoi s'enregistrer ?</p>
            <table>
                <tr>
                    <td><span>Soyez visible partout au Canada, auprès des millions d'internautes !</span></td>
                    <td><img src='images/blueEarth.png' width='97' height='97' alt='terre' title='terre' /></td>
                </tr>
                <tr>
                    <td><span>Expert LookUp est un annuaire entièrement gratuit, aucun frais caché !</span></td>
                    <td><img src='images/greenMoney.png' width='97' height='97' alt='terre' title='terre' /></td>
                </tr>
                <tr>
                    <td><span>Votre inscription prendra  moins de 5 minutes, alors qu'attendez-vous ? Vous n'avez rien à perdre !</span></td>
                    <td><img src='images/clock.png' width='97' height='97' alt='terre' title='terre' /></td>
                </tr>               
            </table>
        </div>

    </div>
    <div class='footerBar'>
        <div class='footerContent'>
            <a href='contact.php'>Contactez-nous</a><span> | </span>
            <a href='enregistrement.php'>Ajouter votre entreprise</a><span> | </span>
            <a href='connexion.php'>Connexion</a><span> | </span>
            <a href='aide.php'>Aide</a><br/>
            <span>&#169; Copyright at ExpertLookUp.ca</span>
        </div>
    </div>
 </body>

 </html>

2 个答案:

答案 0 :(得分:1)

无需检查您的session_start()是否已经开始。 session_start()只会使用当前会话。

PHP Doc:

  

session_start()创建会话或恢复当前会话   通过GET或POST请求传递的会话标识符,或通过   cookie中。

Link

关于您收到的错误,我猜这是由于它上面的IF-Statement行。

答案 1 :(得分:-5)

嗯,这可能是因为你已经在某个地方开始了会话。我通常在@之前放置session_start并且错误是静默的,并且会话也有效。

因此,@session_start();可能是解决方案。