Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/02/2012, 04h20   #1
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 34
Points : 4
Points : 4
Par défaut Problème de syntaxe?

Je crois mélanger bien des choses là...

Code :
1
2
$page .= "<tr><td><font size=1>$description</td></tr>
<tr><td align=right><font size=1><a onclick=\"compteur_lien_rss();\" href=\"$link\">[Lire la suite...]</a></td></tr>";
J'ai toujours eu de la difficulté avec la syntaxe quand le départ est $string .="


Le href fonctionne mais pas l'événement ONCLICK...
DoumCSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 09h06   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonjour,

Pour moi il n'y a pas d'erreur de syntaxe.
Tu peux vérifier en remplaçant ta fonction par :
Code :
onclick="alert('cliqué');"
Si tu vois le message, c'est que l'évènement est bien tiré et intercepté. Dans ce cas, faut aller tripatouiller ta fonction.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/02/2012, 09h50   #3
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 994
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 994
Points : 5 787
Points : 5 787
Envoyer un message via Skype™ à jreaux62
Bonjour,
pour éviter les difficultés d'écriture, et avoir un code final "propre" :
- réserver les ' pour le PHP
- les " pour les attributs html
- mettre \' pour le javascript
- et "sortir" les variables PHP du code html

Ce qui donne :
Code :
1
2
3
4
$page .= '
<tr><td><font size="1">'.$description.'</td></tr>
<tr><td align="right"><font size="1"><a onclick="compteur_lien_rss();" href="'.$link.'">[Lire la suite...]</a></td></tr>
';
ou, pour illustrer avec du javascript :
Code :
1
2
3
4
$page .= '
<tr><td><font size="1">'.$description.'</td></tr>
<tr><td align="right"><font size="1"><a onclick="alert(\'tout va bien !\');" href="'.$link.'">[Lire la suite...]</a></td></tr>
';
PS : il serait temps de remplacer les balises et attributs obsolètes (<font="..."> <... align="...">)...
Au moins, mettre les balises fermantes (</font>)
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/02/2012, 14h54   #4
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 34
Points : 4
Points : 4
Ok, Merci de vos réponses! Alors mon problème réside dans mon onclick étant donné qu'un autre événement onclick fonctionne...

On peut m'éclairer sur ça alors? Voici le code. À noter que sur le clic, rien ne se passe, le href fonctionne mais il n'y a aucune insertion dans la bdd. Aucune erreur ne m'est retournée pourtant...

Code :
1
2
3
4
5
function compteur_lien_rss(){
db_connex();
$sql = "INSERT INTO clics VALUES ('','RSS','$user', '$ip', '$time')" or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
mysql_query ($sql)or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
}
PS: Dans mon fichier html, j'ai un "require_once" dans lequel se retrouvent mes fonctions pour mes news RSS. J'ai aussi un "include" dans lequel se retrouvent mes infos de connexion et quelques fonctions comme celle ci-dessus. Si ça peut avoir un lien...
DoumCSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 16h03   #5
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 994
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 994
Points : 5 787
Points : 5 787
Envoyer un message via Skype™ à jreaux62
euuuuuuuuuuuuuh !
tu fais un appel en JavaScript à une fonction en PHP ?!?

A moins de passer par Ajax : "Y'a comme un défaut !"
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 22h44   #6
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 34
Points : 4
Points : 4
euuuuuuhhhhhhh...

Et?
lol
DoumCSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 23h11   #7
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 34
Points : 4
Points : 4
Par défaut Plus précisément...

Dans mon fichier principal (HTML) mais qui se nomme "rssnews.php", j'ai mis ceci:
Code :
1
2
3
4
5
<?php
	require_once("rsslib.php");
	$url = "http://www.quebechebdo.com/Rss/c/13617/Volleyball";
	echo RSS_Display($url, 15, false, true);
?>
et dans le "rsslib.php", j'affiche avec ceci:
Code :
1
2
3
			$page .= '
			<tr><td><font size="1">'.$description.'</font></td></tr>
			<tr><td align="right"><font size="1"><a onclick=\'compteur_lien_rss();\' href="'.$link.'">[Lire la suite...]</a></font></td></tr>';
mais ma fonction "compteur_lien_rss()" se trouve dans mon fichier "config.php" que j'ai préalablement appelé avec un "include()" dans mon fichier principal.

Peut-être il peut y avoir une erreur dans ma fonction???
La voici:
Code :
1
2
3
4
5
function compteur_lien_rss() {
	db_connex();
	$sql = "INSERT INTO clics VALUES ('','RSS','$user', '$ip', '$time')" or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
	mysql_query ($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
}
Étant donné qu'aucune insertion ne se fait dans la bdd, et ce, sans message d'erreur, je me dis que l'erreur a lieu avant l'appel à sql...

Et s'il faut que je m'y prenne autrement pour faire ce que je veux faire, je ne vois pas vraiment comment...
Ma balise <a> est là et je dois y mettre un "onclick" pour pouvoir ajouter les données dans la bdd pour compter le nombre de clics sur ce lien...
:/
DoumCSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 02h44   #8
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 34
Points : 4
Points : 4
Par défaut désolé...

Ha bon, je viens de comprendre que d'appeler une fonction php par le js, ca ne se fait tout simplement pas... Et ajax ne m'intéresse pas vraiment mais bon... si quelqu'un a une solution qui reste simple, je suis preneur!
DoumCSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 08h10   #9
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 738
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 738
Points : 3 310
Points : 3 310
Salut

J'ai un peu de mal à comprendre ce que tu recherche à faire.
Tu as une fonction avec comme nom compteur_lien_rss(), et une requête SQL comme ceci :
Code :
INSERT INTO clics VALUES ('','RSS','$user', '$ip', '$time')
Si tu recherches à compter le nombre de clics d'une page qui est demandée, le plus simple théoriquement c'est de la faire au moment où le serveur reçoit la demande cette page, donc de le faire dans la page en question.
Si le lien est : -http://www.domaine.com/toto.php
On fera l'insertion dans toto.php

Qu'est-ce qui t'empêche de faire ceci ?


Si le but est de différencier l'origine du clic, c'est à dire qu'il a bien eu lieu sur un lien d'un flux RSS (et non dans une page HTML quelconque ou autre lien référencé dans un moteur de recherche par exemple), on peu s'appuyer sur le HTTP_REFERER, c'est à dire l'origine de la page où le lien se trouvait (la page précédente normalement).
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 10h04   #10
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 994
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 994
Points : 5 787
Points : 5 787
Envoyer un message via Skype™ à jreaux62
Bonjour,
Si Ajax te donne des boutons, tu peux passer par une page intermédiaire, en transmettant les données en input cachés via un formulaire :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
$page .= '
	<tr><td>'.$description.'</td></tr>
	<tr><td align="right">
	<form method="post" action="compteur_lien_rss.php">
	  <input type="hidden" name="user" value="'.$user.'"/>
	  <input type="hidden" name="ip" value="'.$ip.'"/>
	  <input type="hidden" name="time" value="'.$time.'"/>
	  <input type="hidden" name="link" value="'.$link.'"/>
	  <input type="submit" value="[Lire la suite...]"/>
	</form>
	</td></tr>
	';
fichier compteur_lien_rss.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// recuperation des donnees transmises
$user 	= (isset($_POST['user']))? mysql_real_escape_string($_POST['user']) : '';
$ip 	= (isset($_POST['ip']))? mysql_real_escape_string($_POST['ip']) : '';
$time 	= (isset($_POST['time']))? mysql_real_escape_string($_POST['time']) : '';
$link 	= (isset($_POST['link']))? $_POST['link'] : '';
// insertion en bdd
db_connex();
$sql = "INSERT INTO clics VALUES ('','RSS','$user', '$ip', '$time')" or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
mysql_query ($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// redirection
header('location: '.$link);
?>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 12h09   #11
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 34
Points : 4
Points : 4
Citation:
Envoyé par RunCodePhp Voir le message
Salut

J'ai un peu de mal à comprendre ce que tu recherche à faire.
Tu as une fonction avec comme nom compteur_lien_rss(), et une requête SQL comme ceci :
Code :
INSERT INTO clics VALUES ('','RSS','$user', '$ip', '$time')
Si tu recherches à compter le nombre de clics d'une page qui est demandée, le plus simple théoriquement c'est de la faire au moment où le serveur reçoit la demande cette page, donc de le faire dans la page en question.
Si le lien est : -http://www.domaine.com/toto.php
On fera l'insertion dans toto.php

Qu'est-ce qui t'empêche de faire ceci ?


Si le but est de différencier l'origine du clic, c'est à dire qu'il a bien eu lieu sur un lien d'un flux RSS (et non dans une page HTML quelconque ou autre lien référencé dans un moteur de recherche par exemple), on peu s'appuyer sur le HTTP_REFERER, c'est à dire l'origine de la page où le lien se trouvait (la page précédente normalement).
En fait, je compte un clic sur un lien qui pointe vers un autre site. J'ai des fils RSS qui pointent vers plusieurs sites en fait...
DoumCSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 12h16   #12
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 34
Points : 4
Points : 4
Citation:
Envoyé par jreaux62 Voir le message
Bonjour,
Si Ajax te donne des boutons, tu peux passer par une page intermédiaire, en transmettant les données en input cachés via un formulaire :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
$page .= '
	<tr><td>'.$description.'</td></tr>
	<tr><td align="right">
	<form method="post" action="compteur_lien_rss.php">
	  <input type="hidden" name="user" value="'.$user.'"/>
	  <input type="hidden" name="ip" value="'.$ip.'"/>
	  <input type="hidden" name="time" value="'.$time.'"/>
	  <input type="hidden" name="link" value="'.$link.'"/>
	  <input type="submit" value="[Lire la suite...]"/>
	</form>
	</td></tr>
	';
fichier compteur_lien_rss.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// recuperation des donnees transmises
$user 	= (isset($_POST['user']))? mysql_real_escape_string($_POST['user']) : '';
$ip 	= (isset($_POST['ip']))? mysql_real_escape_string($_POST['ip']) : '';
$time 	= (isset($_POST['time']))? mysql_real_escape_string($_POST['time']) : '';
$link 	= (isset($_POST['link']))? $_POST['link'] : '';
// insertion en bdd
db_connex();
$sql = "INSERT INTO clics VALUES ('','RSS','$user', '$ip', '$time')" or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
mysql_query ($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// redirection
header('location: '.$link);
?>
Bien vu| Sauf que...

Mon lien pointe sur une page externe et non une page sur mon site...
donc le header('location: '.$link);
me renvoit des erreurs... Dois-je avoir une permission de mon serveur?

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'xxxxxxx'@'localhost' (using password: NO) in /home/xxxxxxx/public_html/compteur_lien_rss.php on line 10

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/xxxxxxx/public_html/compteur_lien_rss.php on line 10

(Ces 2 erreurs entre autres...)
DoumCSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 12h53   #13
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 994
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 994
Points : 5 787
Points : 5 787
Envoyer un message via Skype™ à jreaux62
Les erreurs concernent mysql_real_escape_string()
Il manque peut-être des includes pour ta connexion fonctionne.
Sinon, teste en les enlevant.

Mais le plus malin est d'utiliser Ajax : Web 2.0, allez plus loin avec AJAX et XMLHttpRequest
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/02/2012, 13h01   #14
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 994
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 994
Points : 5 787
Points : 5 787
Envoyer un message via Skype™ à jreaux62
A tester :
Code :
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
<script type="text/JavaScript">
function getXhr(){
	var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
	   try {
		xhr = new ActiveXObject("Msxml2.XMLHTTP");
	   } catch (e) {
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
	   }
	}
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
	return xhr
}
 
/**
* Méthode qui sera appelée sur le click du bouton
*/
function compteur_lien_rss( user, ip, time){
	var user; var ip; var time;
	var xhr = getXhr()
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
			alert(xhr.responseText);
		}
	}
	xhr.open("POST","compteur_lien_rss.php",true);
	xhr.send('user='+user+'&ip='+ip+'&time='+time);
}
</script>
le lien :
Code :
1
2
3
			$page .= '
			<tr><td><font size="1">'.$description.'</font></td></tr>
			<tr><td align="right"><font size="1"><a onclick=\'compteur_lien_rss(\''.$user.'\',\''.$ip.'\',\''.$time.'\');\' href="'.$link.'">[Lire la suite...]</a></font></td></tr>';
le fichier compteur_lien_rss.php :
Code :
1
2
3
4
5
6
7
8
9
10
<?php
// recuperation des donnees transmises
$user 	= (isset($_POST['user']))? mysql_real_escape_string($_POST['user']) : '';
$ip 	= (isset($_POST['ip']))? mysql_real_escape_string($_POST['ip']) : '';
$time 	= (isset($_POST['time']))? mysql_real_escape_string($_POST['time']) : '';
// insertion en bdd
db_connex();
$sql = "INSERT INTO clics VALUES ('','RSS','$user', '$ip', '$time')";
mysql_query ($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
?>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 06/02/2012, 13h15   #15
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 738
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 738
Points : 3 310
Points : 3 310
Citation:
Envoyé par jreaux62
Mais le plus malin est d'utiliser Ajax
+1
C'est à mon sens le moyen le plus efficace et plus propre de faire ça.

Citation:
Envoyé par DoumCSS
Mon lien pointe sur une page externe et non une page sur mon site...
C'est le genre de détail qu'il aurait été bon de le dire dès le départ.
C'est radicalement pas la même chose entre pointer sur une page/url de son serveur/domaine et extérieur.
Fait le en Ajax, ça se résume à télécharger la librairie, de l'importer dans sa page, puis créer un code Javascript qui se chargera au clic de pointer sur une page Php de ton serveur pour insérer ce compteur.
Pour le code à créer, les tutos, blog regorge sur le Net (un coup de "jQuery Ajax" sur GG suffit)


Si tu fais un header() dans ta page, ça veut dire que l'URL ce trouvant dans le lien (la page précédente en faite) pointe sur une page de ton serveur, et non sur l'URL du flux.
Ca sous-entend que tu ne mets plus de lien "en dur" vers ce flux, mais vers la tienne, donc tu n'aide plus au bon référencement du site appartenant à ce flux.
Ce n'est plus la même chose, faut le savoir.

Sans compter que cette page "transitoire" sera la même quelque soit le flux, donc 1 page pour n flux, ce qui diminue la pertinence de ton site.
Il faudrait au moins déclarer cette page comme une url canonique, ou faire une redirection de type 301, etc ... quelque chose dans ce sens là.
Bref, faut peut être faire un peu attention à ce qu'on fait.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/02/2012, 22h22   #16
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 34
Points : 4
Points : 4
Merci pour ces bons conseils RunCodePHP !! je veux bien m'efforcer de me rapprocher le plus possible du "parfait"! Je suis "autodidacte", père de famille qui n'a pas beaucoup de temps à consacrer au coding... et j'essaie de rendre service à la communauté avec mon site... alors quand je vois des gens comme vous, aider sur ces forums, j'admire!

Merci aussi à jreaux62 !!!

Alors, si j'ai pas le choix, ajax, me voilà!

Sur ce, je me mets au travail!
DoumCSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 13h00   #17
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 34
Points : 4
Points : 4
Re-bonjour à tous!

J'ai tenté quelque chose avec la librairie xAjax et j'ai un petit souci coté php auquel on ne peut me répondre sur le forum ajax qui me disent de poser la question ici alors voilà...

J'ai mon fichier php principal, dans lequel je fais un "include(rsslib.php);"
Dans ce rsslib.php, j'ai 3 variables à appeler comme suit:
Code :
1
2
3
4
5
 
$user = $HTTP_COOKIE_VARS['username'];
if ($user == "") { $user = "Visiteur"; }
$ip = $REMOTE_ADDR;
$time = time();
Si je fais un "echo" immédiatement, $time m'est retourné mais pas $ip ni $user ...
Pourquoi?
DoumCSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 14h41   #18
Futur Membre du Club
 
Homme
Étudiant
Inscription : mai 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 22
Points : 19
Points : 19
Personnelement je ne connais pas xAjax, j'utilise JQuery, mais là n'est pas la question.

Citation:
Envoyé par DoumCSS
Si je fais un "echo" immédiatement, $time m'est retourné mais pas $ip ni $user ...
Pourquoi?
Si tu fait un echo de quoi ?
(n'oublie pas que l'on est sur un forum, et non dans ta tête )
zeroc00l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 15h10   #19
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 738
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 738
Points : 3 310
Points : 3 310
Tu exploites des syntaxes qui datent de l'antiquité

Code :
$user = $_COOKIE['username'];
C'est à dire que depuis pas mal temps c'est comme ceci :
$_GET, $_POST, $_SESSION, $_COOKIE, $_SERVER

Pour obtenir une IP, essai avec une fonction comme :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function get_adr_ip() {
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
        $ip  = $_SERVER['HTTP_CLIENT_IP'];
    }
    else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}
 
// A l'usage
$ip = get_adr_ip();
Conserve tout de même à l'esprit qu'une IP n'est pas une donnée tout à fait fiable.
Ca se peut que cette fonction ne retourne rien, ou quelque chose d'absurde, voir l'IP du voisin.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 22h36   #20
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 34
Points : 4
Points : 4
Je comprends très bien vos points et je m'efforcerai de travailler en ce sens.

Cependant, si je fais un "echo" de $ip , de $user et de $time, tout va très bien mais pas partout. ma question était sur ce point.

Ets-ce possible que dans un include de fichier, certaines variables ne puissent m'être retournées?

ex.: Dans mon fichier principal, j'ai:
Code :
require_once("rsslib.php");
Et dans rsslib.php, j'ai :
Code :
1
2
3
4
5
6
7
 
$user = $HTTP_COOKIE_VARS['username'];
if ($user == "") { $user = "Visiteur"; }
$ip = $REMOTE_ADDR;
$time = time();
 
echo "$user --- $ip --- $time";
Il n'y a que $time qui me retourne quelque chose...

Et pourtant, je fais ces mêmes opérations dans mon fichier principal et j'obtiens le résultat de mes 3 variables...
DoumCSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h00.


 
 
 
 
Partenaires

Hébergement Web