Ah oui effectivement... Mon tableau est vide apparement sur cette page : array => empty.
Par contre sur ma page de modification du mail et mot de passe ça fonctionne quand je modifie le mot de passe, je donne le code de celle-ci au cas ou :
<?php
$users = fopen('../fichiers/users.ini', 'a+');
$array = Array(Array());
if(isset($_POST['modifier'])) {
// Vérification de forme pour le nouvel email
if($_POST['newpseudo'] != NULL) {
// L'adresse mail est déjà utilisée?
while (($buffer = fgets($users)) !== false) {
$log = explode(';', $buffer);
if($log[0] == $_POST['newpseudo']) {
echo 'Cette adresse de messagerie est déjà utilisée.';
fclose($users);
exit();
}
}
// Vérification de la validité de l'e-mail
if(!filter_var($_POST['newpseudo'], FILTER_VALIDATE_EMAIL)) {
echo "Adresse mail invalide.";
exit();
}
$pseudo=TRUE;
}
else {
$pseudo=FALSE;
}
// Vérification pour le nouveau mot de passe
if($_POST['newmdp'] != NULL) {
if(empty($_POST['mdp3'])) {
echo "Veuillez remplir tous les champs mot de passe pour modifier celui-ci";
exit();
}
// Vérrification de la longueur minimum du mot de passe (le maximum étant déjà bloqué par la taille du champ)
if(strlen($_POST['newmdp'])<8) {
echo "Mot de passe trop court, choisissez un mot de passe comportant entre 8 et 16 caractères.";
exit();
}
// Correspondance des mdp
if(strcmp($_POST['newmdp'], $_POST['mdp3'])!=0) {
echo "Les mots de passe ne correspondent pas.";
exit();
}
$mdp=TRUE;
}
else {
$mdp=FALSE;
}
$i = 0;
$j = 0;
while (($logs = fgets($users))) {
$explode = explode(';', $logs);
while ($j!=7) {
if($explode[0] == $_SESSION['pseudo']) {
if($pseudo == TRUE) {
$explode[0] = $_POST['newpseudo'];
$_SESSION['pseudo'] = $_POST['newpseudo'];
}
if($mdp == TRUE) {
$explode[1] = md5($_POST['newmdp']);
}
}
$array[$i][$j] = $explode[$j];
$j++;
}
$i++;
$j=0;
}
var_dump($array);
// ftruncate($users, 0);
//
// foreach ($array as $j) {
// $k=0;
// foreach ($j as $key) {
// fputs($users, $key);
// if($k!=6) {
// fputs($users, ';');
// }
// $k++;
// }
// }
}
?>
Et le var_dump retourne ceci quand je modifie uniquement le mot de passe :
Code : Tout sélectionner
array
0 =>
array
0 => string '[email protected]' (length=16)
1 => string '7682fe272099ea26efe39c890b33675b' (length=32)
2 => string '2.jpg' (length=5)
3 => string 'Pouet' (length=5)
4 => string 'F' (length=1)
5 => string '15/10/2000' (length=10)
6 => string '0
' (length=3)
1 =>
array
0 => string '[email protected]' (length=13)
1 => string '9d1858e6dfaedd7cc436de74e0d5156f' (length=32)
2 => string '3.png' (length=5)
3 => string 'Li' (length=2)
4 => string 'Tux' (length=3)
5 => string '01/12/2011' (length=10)
6 => string '2
' (length=3)
Ah oui effectivement... Mon tableau est vide apparement sur cette page : array => empty.
Par contre sur ma page de modification du mail et mot de passe ça fonctionne quand je modifie le mot de passe, je donne le code de celle-ci au cas ou :
[php]
<?php
$users = fopen('../fichiers/users.ini', 'a+');
$array = Array(Array());
if(isset($_POST['modifier'])) {
// Vérification de forme pour le nouvel email
if($_POST['newpseudo'] != NULL) {
// L'adresse mail est déjà utilisée?
while (($buffer = fgets($users)) !== false) {
$log = explode(';', $buffer);
if($log[0] == $_POST['newpseudo']) {
echo 'Cette adresse de messagerie est déjà utilisée.';
fclose($users);
exit();
}
}
// Vérification de la validité de l'e-mail
if(!filter_var($_POST['newpseudo'], FILTER_VALIDATE_EMAIL)) {
echo "Adresse mail invalide.";
exit();
}
$pseudo=TRUE;
}
else {
$pseudo=FALSE;
}
// Vérification pour le nouveau mot de passe
if($_POST['newmdp'] != NULL) {
if(empty($_POST['mdp3'])) {
echo "Veuillez remplir tous les champs mot de passe pour modifier celui-ci";
exit();
}
// Vérrification de la longueur minimum du mot de passe (le maximum étant déjà bloqué par la taille du champ)
if(strlen($_POST['newmdp'])<8) {
echo "Mot de passe trop court, choisissez un mot de passe comportant entre 8 et 16 caractères.";
exit();
}
// Correspondance des mdp
if(strcmp($_POST['newmdp'], $_POST['mdp3'])!=0) {
echo "Les mots de passe ne correspondent pas.";
exit();
}
$mdp=TRUE;
}
else {
$mdp=FALSE;
}
$i = 0;
$j = 0;
while (($logs = fgets($users))) {
$explode = explode(';', $logs);
while ($j!=7) {
if($explode[0] == $_SESSION['pseudo']) {
if($pseudo == TRUE) {
$explode[0] = $_POST['newpseudo'];
$_SESSION['pseudo'] = $_POST['newpseudo'];
}
if($mdp == TRUE) {
$explode[1] = md5($_POST['newmdp']);
}
}
$array[$i][$j] = $explode[$j];
$j++;
}
$i++;
$j=0;
}
var_dump($array);
// ftruncate($users, 0);
//
// foreach ($array as $j) {
// $k=0;
// foreach ($j as $key) {
// fputs($users, $key);
// if($k!=6) {
// fputs($users, ';');
// }
// $k++;
// }
// }
}
?>
[/php]
Et le var_dump retourne ceci quand je modifie uniquement le mot de passe :
[code]array
0 =>
array
0 => string '
[email protected]' (length=16)
1 => string '7682fe272099ea26efe39c890b33675b' (length=32)
2 => string '2.jpg' (length=5)
3 => string 'Pouet' (length=5)
4 => string 'F' (length=1)
5 => string '15/10/2000' (length=10)
6 => string '0
' (length=3)
1 =>
array
0 => string '
[email protected]' (length=13)
1 => string '9d1858e6dfaedd7cc436de74e0d5156f' (length=32)
2 => string '3.png' (length=5)
3 => string 'Li' (length=2)
4 => string 'Tux' (length=3)
5 => string '01/12/2011' (length=10)
6 => string '2
' (length=3)[/code]