Problème avec une fonction PHP générée par un onclick

Mammouth du PHP | 859 Messages

16 nov. 2006, 20:49

Bonjour/Bonsoir,

J'ai un problème sur une fonction et je n'avance plus, j'utilise assez peu les fonctions d'où peut-être une erreur qui ne me viendrait pas à l'esprit.

J'ai une variable qui contient le nom et le chemin du fichier que je veux traiter :
$chemcptdl = $c."/cptdl_".$matches[1][0].".dat";
// = myftp/Divers/cptdl_Missives.dat
En cliquant sur un lien, je souhaite incrémenter le chiffre contenu dans le fichier .dat, donc je passe la variable du dessus comme argument pour la fonction
<a onclick="cptvisu('<?php echo $chemcptdl; ?>');" href="<?php echo $root.$c."/".$typef."/".$matches[2][0]."/".$matches[1][0]; ?>.html"><?php echo $fichier; ?></a>
(Ne tenez pas compte des expressions régulières)

Je fais appel à un fichier php qui contient toutes mes fonctions dans lequel j'ai celle qui m'intéresse :
//fonction pour ajouter +1 au compteur de fichiers
<?php
function cptvisu($chemcptdl)
	{
		$fp = fopen($chemcptdl,"r+");
		$cptdl = fgets($fp,10);
		$cptdl++;
		fseek($fp,0);
		fputs($fp,$cptdl);
		fclose($fp);
		?>
		<script type="text/javascript">
		alert('<?php echo $cptdl ?>');
		</script>
		<?php
		return true;
	}
?>
Pour voir si elle marche bien j'ai mis une fenêtre d'alerte.

Mais le chiffre contenu dans le fichier .dat ne s'incrémente pas et la boîte de dialogue alert() ne s'affiche pas non plus.

Par contre si j'écris ça, la fonction réagit (avec une erreur ce qui est normal)
$chemcptdl = $c."/cptdl_".$matches[1][0].".dat";
// = myftp/Divers/cptdl_Missives.dat
$test = cptvisu('$chemcptdl');
Si quelqun pouvait m'orienter ce serait gentil car je suis maladroit avec les fonctions donc je bloque.

Merci d'avance.

Mammouth du PHP | 983 Messages

16 nov. 2006, 21:37

<a onclick="cptvisu('<?php echo $chemcptdl; ?>');" href="<?php echo $root.$c."/".$typef."/".$matches[2][0]."/".$matches[1][0]; ?>.html"><?php echo $fichier; ?></a>
Tu appelles une fonction javascript avec ce code. Donc ta fonction PHP n'est pas appelée.

Mammouth du PHP | 859 Messages

16 nov. 2006, 22:03

Je me disais bien que ce serait trop facile...

Merci pour la réponse :)


Je vais donc externaliser le calcul ça me paraît plus judicieux.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

24 nov. 2006, 00:46

Tiens, ça faisait longtemps qu'on ne t'avait pas vu ! ;)