Page 1 sur 1
ce fichier ne s'ouvre pas
Posté : 12 nov. 2008, 14:18
par tounse
bonjour
<?php
if (false === ( $fp = fopen('.htpasswd', 'ab'))) {
echo 'erreur : impossible d\'ouvrir le fichier', "\n";
} else {
// + encodage du mot de passe
fprintf($fp, '%s:%s' . "\r\n", $_POST['user'], crypt($_POST['pwd'])); //"\r\n" pour retour à la ligne windows
fclose($fp);
echo 'succès: votre nouvel utilisateur est correctement enregistre', "\n";
}
?>
le fichier ne s'ouvre pas, il y a un warning :
merci
Posté : 12 nov. 2008, 15:33
par Ryle
hello !
"failed to open stream" => PHP n'a pas réussi à ouvrir le fichier
"Permission denied" => PHP n'a pas les droits pour ouvrir le fichier
Yapuka

Posté : 12 nov. 2008, 17:03
par tounse
merci pour la traduction, mais encore ...
en effet php ne peux pas ouvrir le fichier, mais pour quel raison il est bien présent dans le même repertoire
et pourquoi n'a t il pas le droitr, il n'y a aucun htaccess
merci
Posté : 12 nov. 2008, 17:08
par albat
Il n'y a pas que le .htaccess qui peut gérer les droits sur un fichier (ou un dossier)
As-tu regardé le chmod de ton fichier ?
Posté : 12 nov. 2008, 17:21
par tounse
en effet, tout est en 777
ca avance maintenant :
Call to undefined function: fprintf()
le code est devenu :
<?php
if (isset($_POST['login']) AND isset($_POST['pass']))
{
$login = $_POST['login'];
$pass_crypte = crypt($_POST['pass']); // On crypte le mot de passe
echo 'Ligne qui sera copiée copier dans le .htpasswd :<br />' . $login . ':' . $pass_crypte;
if (false === ( $fp = fopen('.htpasswd', 'ab'))) {
echo 'erreur : impossible d\'ouvrir le fichier', "\n";
} else {
echo ' <br /><br />ouverture du fichier, <br />';
// + encodage du mot de passe
fprintf($fp, '%s:%s' . "\r\n", $login, $pass_crypte); //"\r\n" pour retour à la ligne windows
fclose($fp);
echo 'succès: votre nouvel utilisateur est correctement enregistre', "\n";
}
}
else // On n'a pas encore rempli le formulaire
{
?>
</p>
<p>Entrez votre login et votre mot de passe pour le crypter.</p>
<form action="" method="post">
<p>
Login : <input type="text" name="login"><br />
Mot de passe : <input type="text" name="pass"><br /><br />
<input type="submit" value="Crypter !">
</p>
</form>
<?php
}
?>
merci pour votre aide
Posté : 12 nov. 2008, 21:35
par Ryle
D'après la documentation de la fonction fprintf(), celle-ci n'est apparue que depuis la version 5 de php. Est-ce que tu utilises bien cette version ? (sans quoi php ne pourra effectivement pas la connaitre

)
Posté : 13 nov. 2008, 11:24
par tounse
j'ai verifié, le php 5 est bien installé sur le serveur
merci
je cloture cette conversation, je vais faire autrement et je revient ssur le forum encas de pb
merci pour tout
ps : je vais utiliser fwrite à la place, on ne sais jamais