2011-07-25 3 views
0

J'ai deux scripts mais je ne peux pas les faire fonctionner ensemble.SESSIONS PHP Problème

1- Une simple de pages vues contre

<?php 
if(isset($_SESSION['views'])) 
$_SESSION['views']=$_SESSION['views']+1; 
else 
$_SESSION['views']=1; 
echo "Pageviews=". $_SESSION['views']; 
?> 

2 - Un lien au hasard dans une liste, mais sans répéter les liens

<?php 
if (empty($_SESSION['links'])) { 
    // first time visit, populate random links in session 
    $links = array('http://some-site.com', 'http://some-other-site.com', 'http://example.com'); 
    shuffle($links); 
    $_SESSION['links'] = $links; 
} 
$link = array_shift($_SESSION['links']); 
$_SESSION['links'][] = $link; 
?> 

Pour une raison quelconque si j'utilise un d'entre eux l'autre volonté arrêter de travailler, les deux avaient bien fonctionné mais je ne peux pas les faire travailler ensemble sur le même site.

Sur l'en-tête j'ai <?php session_start(); ?> mais j'ai aussi déplacé le script vers différentes parties du site et j'ai toujours le même problème, un arrêt pour travailler. J'ai également eu le <?php session_start();?> au début de chaque morceau de code, mais rien ne semble fonctionner.

À un certain moment, je réussis à faire fonctionner les deux scripts mais le script du compteur de vues de page comptait de 3 à 3, pas de 1 à 1 - Notez que le script de lien aléatoire a aussi 3 valeurs; donc je suppose que quelque chose est incompatible avec les deux scripts

Toute aide et guide sur comment et où j'ai besoin de placer le code sera appréciée.

Merci et désolé pour mon anglais Daniel

+0

comment incluez-vous chaque script dans vos pages, la clé est certainement votre inclure la politique, si elle compte 3 à 3, signifie que vous » Je l'ai inclus 3 fois. – regilero

+0

J'ai inclus le script sur la page d'index/fichier (wordpress) .Mais j'ai aussi fait un test en incluant le script sur l'entête et sur un fichier supplémentaire appelé sur le corps de chaque page comme ' 'Sur tous ces Cokies de test, le formulaire PC avait été effacé et les fichiers précédents avaient été supprimés (script répété) – Daniel

Répondre

0

essayer est sur le haut du code

juste ajouter "$ _SESSION [ 'vues'] = 0;" au sommet une fois quand u exécutez le script principal je pense que cela fonctionnera

$_SESSION['views'] = 0; 

if (empty($_SESSION['links'])) {  
    // first time visit, populate random links in session  
    $links = array('http://some-site.com', 'http://some-other-site.com', 
'http://example.com');  
    shuffle($links);  
    $_SESSION['links'] = $links;  
} 

$link = array_shift($_SESSION['links']);  
$_SESSION['links'][] = $link;  
echo "<pre>";  
print_r($_SESSION['links']);  
echo "</pre>" 





if(isset($_SESSION['views']))  
$_SESSION['views']=$_SESSION['views']+1;  
else  
$_SESSION['views']=1; 

echo "Pageviews=". $_SESSION['views']; 
+0

Si je colle ceci sur le corps, le crash du site (page blanche). – Daniel

+0

Résolu !!! La solution fournie auparavant était proche mais ne fonctionnait pas, je remplace simplement ** '$ _SESSION ['views'] = 0;' ** avec ** '$ _ SESSION [' views '] = $ _ SESSION [' views '] ++; '** au début, et tout semble fonctionner correctement. – Daniel