[PHP]probleme avec un script de recommandation

salut a tous

j’ai un probleme avec un script pour recommander mon site web!!

quand je met "envoyer" il me met cette erreur!!



Forbidden

You don’t have permission to access /<br /><b>Notice</b>: Undefined variable: PHP_SELF in <b>c:/program files/easyphp1-8/www/index.php</b> on line <b>62</b><br /> on this server.


voila mes codes:

fichier define.inc.php

<?PHP

// fichier define.inc.php pour définir les paramètres de votre site.

$url = "http://serveur-hpp.blogdns.com/";           // url complète de votre site
$nom_site = "jeux-video-info.fr.tc";                 // le nom de votre site
$webm_email = "serveur-hpp@hotmail.fr";        // votre email
$prenom = "jeux-video-info.fr.tc";                             // votre prénom ou pseudo
$email_envoi = "y";                             // recevoir un message d'alerte // si une recommandation à eu lieu. Mettre y si oui et n si non.

$email_bgcolor = "gray";        // couleur de fond de l'email envoyé
$email_color = "black";         // couleur de la police de l'email envoyé
$email_size = "2";              // taille de la police de l'email envoyé
$email_police = "verdana";      // police de l'email envoyé

$email_color_l = "black";       // couleur de la police de l'avertissement (bas)
$email_size_l = "1";            // taille de la police de l'avertissement (bas)
$email_police_l = "verdana";    // police de l'email de l'avertissement (bas)

$page_bgcolor = "white";        // couleur de fond de la page de recommandation
$page_color_titre = "navy";     // couleur de la police du titre (en haut)
$page_size_titre = "3";         // taille de la police du titre (en haut)
$page_police_titre = "verdana"; // police du titre (en haut)

// reportez-vous directement à la page index.php pour changer les autres 
// paramètres. Si vous n'êtes pas sur ne changez rien !
?>

fichier index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>
<?PHP

// fichier index.php pour recommander votre site. Possibilitée de changement de
// cette page selon votre site si vous connaissez le html. Vous pouvez aussi 
// changer le nom de cette page.

require("define.inc.php");

echo "recommander le site $nom_site</TITLE>
<META NAME=\"Generator\" CONTENT=\"EditPlus\">
<META NAME=\"Author\" CONTENT=\"romain laferté - http://www.worldcinemag.com\">
</HEAD>

<BODY bgcolor=\"$page_bgcolor\">";
if ($email !="" || $email2 !="" || $nom !="" || $nom2 !="")
{
$tete  = "From: $email2\n";
$tete .= "Content-Type: text/html;";
$t  = "<html><body bgcolor=\"$email_bgcolor\">";
$t .= "<font face=\"$email_police\" size=\"$email_size\" color=\"$email_color\"><CENTER><B>Bonjour $nom,</B></CENTER><br><br>";
$t .= "$nom2 vous invite à venir visiter le site :<br>";
$t .= "<A HREF=\"$url\"><font face=\"$email_police\" size=\"$email_size\" color=\"$email_color\">$url</font></A><br><br>";
$t .= "voici le message qu'il vous à laissé :<br><br>";
$t .= "$body<br><br>";
$t .= "____________________________________</font><br>";
$t .= "<font face=\"$email_police_l\" size=\"$email_size_l\" color=\"$email_color_l\">Ce mail à été envoyé automatiquement par : $email2<br>";
$t .= "si vous considérez ce mail comme du spam veuillez écrire à $webm_email</font><br>";
$t .= "</body></html>";
$sujet = "$nom2 vous recommande le site $nom_site";
$corps = $t;
mail($email, $sujet, $corps, $tete);
if ($email_envoi =="y")
	{
mail("$webm_email", "une recommandation à été envoyé", "salut,\n
il y a eu une recommandation sur le site :\n
de $email2 à $email\n
de $nom2 à $nom\n\n
le message était : $body\n",
"from: $webm_email");
	}
echo "<br><br><br><br><br><FONT SIZE=\"2\" COLOR=\"black\" face=\"verdana\"><CENTER>votre message a été envoyé à :<br>$email<br><br>Merci beaucoup,<br>$prenom, webmaster du site.<br><A HREF=\"Javascript:history.go(-1)\"><FONT SIZE=\"2\" COLOR=\"black\" face=\"verdana\">revenir à la page précédente</font></A></CENTER></FONT>";
 exit;
}

echo "<CENTER><FONT SIZE=\"$page_size_titre\" face=\"$page_police_titre\" COLOR=\"$page_color_titre\"><B>Recommander le site $nom_site";
?> à  un ami</B></FONT></CENTER><br>
<CENTER><FONT SIZE="1" face="verdana" COLOR="navy"><B>Tous les champs sont obligatoires sauf le message</B></FONT></CENTER>
<form action="<?PHP $PHP_SELF ?>" method="post">
<div align="center"><center>
<table width="500" border="0" align="center">
<tr><td width="200"><CENTER><FONT SIZE="2" COLOR="" face="arial">Votre email</FONT></CENTER></td>
<td width="300"><input type="text" name="email2" size="40"></td></tr>
<tr><td width="200"><CENTER><FONT SIZE="2" COLOR="" face="arial">Votre nom</FONT></CENTER></td>
<td width="300"><input type="text" name="nom2" size="40"></td></tr>
<tr><td width="200"><CENTER><FONT SIZE="2" COLOR="" face="arial">Email du destinataire</FONT></CENTER></td>
<td width="300"><input type="text" name="email" size="40"></td></tr>
<tr><td width="200"><CENTER><FONT SIZE="2" COLOR="" face="arial">Nom du destinataire</FONT></CENTER></td>
<td width="300"><input type="text" name="nom" size="40"></td></tr>
<tr><td width="200"><CENTER><FONT SIZE="2" COLOR="" face="arial">Votre message</FONT></CENTER></td>
<td width="300"><textarea name="body" rows="4" cols="34"></textarea></td></tr>
<tr><td colspan="2"><CENTER>
</CENTER></td></tr>
<tr><td colspan="2"><CENTER>
<input type="submit" value="Cliquez-ici pour envoyer votre message"></CENTER></td></tr>
<tr><td colspan="2"><CENTER>
</CENTER></td></tr>
<tr><td colspan="2"><CENTER>
<!-- merci de laisser ce lien ou déplacer le si vous le voulez -->
<FONT SIZE="1" COLOR="black" face="verdana">script programmé par <A HREF="http://www.worldcinemag.com"><FONT SIZE="1" COLOR="black" face="verdana">http://www.worldcinemag.com</font></A></FONT></CENTER></td></tr>
</table>
</center></div>
</form>
</BODY>
</HTML>

voila et merci de m’aider!!

Facile : PHP_SELF n’est pas une variable existante, moralité : il râle (il est configuré pour). Ca devrait être $_SERVER[‘PHP_SELF’] si j’ai bon souvenir.

Et pour le reste, ce genre de recommandation peut être considérée comme du spam, ou en tout cas une pollution électronique certaine.

Ca ne fonctionnera pas, selon moi, car easyphp n’intègre pas la fonction mail() si ?

donc je doit faire quoi??

j’ai encore un probleme avec un script!!!

il me marque “Impossible de consulter le compteur!” et je voudrai savoire pour quoi?? y a t’il un probleme avec le code?? voila la page du site!!!

#page web#

"compteur.php"

<?php

//Variables de personnalisation
	$theme= "digital";  	//Choix du theme pour les chiffres (standard,digital)
	$taille_texte = 3;  	//taille du texte
	$smiley = "smile_counter.png";  //smiley PNG de 32*32 px
	$smiley2 = "smile_counter2.png";	//smiley PNG de 32*32 px
	$color_txt1 = array("0", "200", "0");	# couleur texte 1
	$color_txt2 = array("55", "165", "0");	# couleur texte 2
	$texte_1 = "Visites";  	// Texte 1 : "xxxx `texte`"
	$texte_2 = "";                  //Texte 2 : "ont visité <site>"
//Fin des variables de personnalisation

//Ne rien toucher en dessous si vous n'êtes pas sur

//Repertoir des différents fichiers
$fichier="compteur/count_visit.txt"; 
$ip_file = "compteur/ip_visi.txt";
$ip_long = ip2long($_SERVER['REMOTE_ADDR']);

// Lecture du nombre de visites à afficher
$file_handle = @fopen($fichier,"r");
    $count = @fread($file_handle, 16) or die("Impossible de consulter le compteur");
	$count = (int) $count;
fclose($file_handle);

//Gestion de l'adresse ip
if(filesize($ip_file) >=340) // enregistre environ 30 IP différentes : après, on remet à 0.
{
	$file_handle = @fopen($ip_file,"w");
	fclose($file_handle);
}
$file_handle = @fopen($ip_file,"r");
	$list_ip = fread($file_handle, 500);
fclose($file_handle);

// On enregistre le premier hit de la session
if(!eregi("$ip_long;", $list_ip))
{
   // Incrémente le compteur
   $count++;
   $file_handle = @fopen($fichier,"w");
    @fwrite($file_handle, $count) or die("impossible d'incrémenter le compteur");
   fclose($file_handle);
   
   //On enregistre l'ip pour qu'elle ne soit plus compter lors de la prochaine visite.
	$file_handle = @fopen($ip_file,"a");
  @fwrite($file_handle, "$ip_long;") or die("Enregistrement de l'ip impossible");
	fclose($file_handle);
}
                     
if ($count<10) {	
	$nb="0000$count"; //Si le nombre de visite est inferieur à 10 on affiche 4 zéros
}
if  ($count>=10) {
	$nb="000$count";  //Si le nombre de visite est superieur ou égale à 10 on affiche 3 zéros
}
if ($count>=99) {	
	$nb = "00$count";  //Si le nombre de visite est superieur ou égale à 99 on affiche 2 zéros
}
if ($count>=999) {	
	$nb = "0$count";  //Si le nombre de visite est superieur ou égale à 999 on affiche 1 zéro
}
if ($count>=9999) {	
	$nb = "$count";  //Si le nombre de visite est superieur ou égale à 9999 on n'affiche pas de zéro
}

                  
$verif_c1 = substr("$nb", 0, 1);
$verif_c2 = substr("$nb", 1, 1);
$verif_c3 = substr("$nb", 2, 1);
$verif_c4 = substr("$nb", 3, 1);
$verif_c5 = substr("$nb", 4, 2);


 print("<img src=\"compteur/themes/$theme/chiffres_0$verif_c1.gif\">"); 
 print("<img src=\"compteur/themes/$theme/chiffres_0$verif_c2.gif\">"); 
 print("<img src=\"compteur/themes/$theme/chiffres_0$verif_c3.gif\">"); 
 print("<img src=\"compteur/themes/$theme/chiffres_0$verif_c4.gif\">"); 
 print("<img src=\"compteur/themes/$theme/chiffres_0$verif_c5.gif\">"); 






?> 

et voila le manuelle d’installation!!

installation

****************************************
*  JohnCount est distribué librement   *
*  il est donc gratuit est libre de    *
*            droits. Merci             *
****************************************


Installation:
-------------
1) Créez un dossier compteur a la racine de votre site. 
2) Dezippez les fichiers contenu dans le fichier zip dans le dossier que vous venez de créer.
3) Transferez tout ce dossier sur votre serveur FTP.
4) Editer la page HTML sur laquelle vous souhaitez voir apparaître le compteur avec le code suivant :

<IFRAME name=Compteur 
align=center 
marginWidth=0 
marginHeight=0 
src="compteur/compteur.php" 
frameBorder=no 
noResize 
width=110 
height=40> 
</IFRAME>

Ces lignes vous ferons insérer une iframe dans votre page HTML, il est préférable d'adapter les dimensions
de celle ci pour que le compteur s'affiche en entier (les dimensions par defaut sont approximatives, il se
peut que le compteur ne s'affiche pa en entier, dans ce cas modifiez le code width=110 qui determine la largeur
et le code height=40 qui determine la hauteur).


5) Si votre page est en PHP dans ce cas insérez le code suivant :

<?
include("compteur/compteur.php");
?>


---------------------------------------------------------------------------------------------------------------
Astuces:
--------

Pour parametrer la premiere valeur du compteur (1 par defaut) qui signifie un visiteur,
ouvrez le fichier count_visit.txt et remplacez le 1 par la valeur que vous souhaitez afficher.


Si vous voulez que le compteur ne prenne pas en compte les ip, donc un il comptera une visite a
chaque fois que la page sera affichée, ouvrez le fichier compteur.php, et modifiez la ligne :

if(filesize($ip_file) >= 340) // enregistre environ 30 IP différentes : après, on remet à 0.

Changez 340 par 0 ainsi la prise en compte de l'adresse IP sera négligée.

---------------------------------------------------------------------------------------------------------------

merci a nouveau de m’aider A++

Et il existe le dossier compteur? et le programme a les droits d’écriture? (sur le serveur, pas avec easyphp)

moi je suis avec easyphp!!!
et comment on donne des droits d’écriture a un programme?
il y a ses fichier!!
compteur.php
count_visit: dossie texte
installation: dossie texte
ip_visit: dossie texte

merci A++

Ici :

// Lecture du nombre de visites à afficher
$file_handle = @fopen($fichier,"r");
   $count = @fread($file_handle, 16) or die("Impossible de consulter le compteur");
$count = (int) $count;
fclose($file_handle);

Vire les @ devant les appels de fonctions, afin de savoir ce qui cloche.

voila l’erreur qui s’affiche:

Warning: fopen(compteur/count_visit.txt): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\jeux\compteur\compteur.php on line 22

Warning: fread(): supplied argument is not a valid stream resource in c:\program files\easyphp1-7\www\jeux\compteur\compteur.php on line 23
Impossible de consulter le compteur

vous pouvais la voire auss la ==> http://serveur-hpp.blogdns.com/jeux/1230000.html

Non, mais tu as ta réponse : il trouve pas ton fichier, donc ça marche pas.

pour temps il existe bien et y a marque de dans "2465"!!

Pour moi ca devrait te dire : error on line XX on http://127.0.0.1/jeux/compteur/compteur.php

Ca devrait pas afficher c:\program files selon moi, mais je peux me gourer.

Sans nom tu confimes pour la fonction mail() ?

La fonction mail existe sous Windows mais il faut configurer un serveur SMTP dans le php.ini pour qu’elle fonctionne.

HPPP: quel est le chemin absolu vers ton fichier count_visit.txt ?
Quel est le chemin absolu du script exécuté ?

les chemins des fichies sont:

compteur/count_visit.txt // fichier count_visit
1230000.html // ou est integre le compteur
compteur/compteur.php // le script qui execute le compteur!!

Ce sont des chemins relatifs, ça, il me faudrait les chemins absolus (depuis la racine du disque dur, genre c:\ sous Windows ou / sous Linux).

Pour le program files, c’est normal : il affiche le chemin du fichier qu’il a essayé de lire.
Pour le mail, cf. Dinofly.

c’est bon sa marche!!j’ai trouve le probleme!!

en faite le fichier html doit etre
http://127.0.0.1/1230000.html
puis le fichier compteur.php
http://127.0.0.1/compteur/compteur.php
et le reste
http://127.0.0.1/compteur/compteur/count_visit.txt
http://127.0.0.1/compteur/compteur/ip_visit.txt

voila donc maintenent il me reste plus que mon premier probleme avec "mon programme de recommandation de site web"!!

voila A++

bon pour mon autre probeme je vais l’aisser tombe!!

mais j’ai trouver un moteur de recherche mais je ne sais pas ou metre les mots cle??

http://www.javascriptfr.com/code.aspx?ID=15853

merci A+++

<html> 
<head> 
<script LANGUAGE="JavaScript"> 
var item = new Array(); 
  
// C'est ici ou tous ce passe. 
// Écrivez autant de pages que vous voulez. 
  
  
// "Site","Location","","Titre de la page","Mot clés","Commentaires descriptifs" 
  
c=0; item[c]=new Array("SITE ICI","","Index","index","Page Principale de mon site web"); 
c++; item[c]=new Array("SITE ICI","","A Propos","about, a propos,auteur,contact,email","Information sur mon site web"); 
c++; item[c]=new Array("SITE ICI","","Liens ","liens,sites","Sites ayant le meme sujet"); 
  
page="<html><head><title>Résultats de la recherche</title></head><body bgcolor='white'><center><table border=0 cellspacing=10 width=80%>"; 
  
  
function search(frm) { 
win = window.open("","","scrollbars"); 
win.document.write(page); 
txt = frm.srchval.value.split(" "); 
fnd = new Array(); total=0; 
for (i = 0; i < item.length; i++) { 
fnd[i] = 0; order = new Array(0, 4, 2, 3); 
for (j = 0; j < order.length; j++) 
for (k = 0; k < txt.length; k++) 
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "") 
fnd[i] += (j+1); 
} 
for (i = 0; i < fnd.length; i++) { 
n = 0; w = -1; 
for (j = 0;j < fnd.length; j++) 
if (fnd[j] > n) { n = fnd[j]; w = j; }; 
if (w > -1) total += show(w, win, n); 
fnd[w] = 0; 
} 
win.document.write("</table><br>Pages trouvé(s): "+total+"<br></body></html>"); 
win.document.close(); 
} 
function show(which,wind,num) { 
link = item[which][1] + item[which][0]; 
line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a> Item numéro "+num+"<br>"; 
line += item[which][4] + "<br>"+link+"</td></tr>"; 
wind.document.write(line); 
return 1; 
} 
</script> 
</head> 
<body> 
<center> 
<form method=get action="javascript:void(0)" onsubmit="search(this); return false;"> 
<tr><td><input type=text name=srchval value=""><input type=submit value="Chercher!"></td></tr> 
</form> 
</center> 
</body> 
</html>