guiguiz

Inscris le 30/01/2011 à 20:33
  • Signature
    guigui777
  • Site web
  • Nombre de sujets
    1
  • Nombre de messages
    1
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
guiguiz
le 30/01/2011 à 21:00
problème d'arrays
<?php

// Vérification des droits d'accès de la page
if (!utilisateur_est_connecte()) {

// On affiche la page d'erreur comme quoi l'utilisateur doit être connecté pour voir la page
include_once CHEMIN_VUE_GLOBALE.'erreur_non_connecte.php';

} else {

// Ne pas oublier d'inclure la librairie Form
include_once CHEMIN_LIB.'form.php';

// "form_modif_infos" est l'ID unique du formulaire
$form_modif_infos = new Form("form_modif_infos");

$form_modif_infos->method('POST');

$form_modif_infos->add('Email', 'adresse_email')
->label("Votre adresse email")
->Required(false)
->value($_SESSION['email']);

$form_modif_infos->add('Checkbox', 'suppr_avatar')
->label("Je veux supprimer mon avatar")
->Required(false);

$form_modif_infos->add('File', 'avatar')
->filter_extensions('jpg', 'png', 'gif')
->max_size(8192) // 8 Kb
->label("Votre avatar (facultatif)")
->Required(false);

$form_modif_infos->add('Submit', 'submit')
->initial("Modifier ces informations !");

// "form_modif_mdp" est l'ID unique du formulaire
$form_modif_mdp = new Form("form_modif_mdp");

$form_modif_mdp->method('POST');

$form_modif_mdp->add('Password', 'mdp_ancien')
->label("Votre ancien mot de passe");

$form_modif_mdp->add('Password', 'mdp')
->label("Votre nouveau mot de passe");

$form_modif_mdp->add('Password', 'mdp_verif')
->label("Votre nouveau mot de passe (vérification)");

$form_modif_mdp->add('Submit', 'submit')
->initial("Modifier mon mot de passe !");

// Création des tableaux des erreurs (un par formulaire)
$erreurs_form_modif_infos = array();
$erreurs_form_modif_mdp = array();

// et d'un tableau des messages de confirmation
$msg_confirm = array();
var_dump($erreurs_form_modif_infos);

// Validation des champs suivant les règles en utilisant les données du tableau $_POST
if ($form_modif_infos->is_valid($_POST)) {

list($adresse_email, $suppr_avatar, $avatar) = $form_modif_infos->get_cleaned_data('adresse_email', 'suppr_avatar', 'avatar');

// On veut utiliser le modèle de l'inscription(~/modules/membres.php)
include_once CHEMIN_MODELE.'membres.php';

// Si l'utilisateur veut modifier son adresse e-mail
if (!empty($adresse_email)) {

$test = maj_adresse_email_membre($_SESSION['id'], $adresse_email);

if (true === $test) {

// Ça a marché, trop cool !
$msg_confirm[] = "Adresse e-mail mise à jour avec succès !";

// Gestion des doublons
} else {

// Changement de nom de variable (plus lisible)
$erreur =& $test;

// On vérifie que l'erreur concerne bien un doublon
if (23000 == $erreur[0]) { // Le code d'erreur 23000 signifie "doublon" dans le standard ANSI SQL

preg_match("`Duplicate entry '(.+)' for key \d+`is", $erreur[2], $valeur_probleme);
$valeur_probleme = $valeur_probleme[1];

if ($adresse_email == $valeur_probleme) {

$erreurs_form_modif_infos[] = "Cette adresse e-mail est déjà utilisée.";

} else {

$erreurs_form_modif_infos[] = "Erreur ajout SQL : doublon non identifié présent dans la base de données.";
}

} else {

$erreurs_form_modif_infos[] = sprintf("Erreur ajout SQL : cas non traité (SQLSTATE = %d).", $erreur[0]);
}

}
}

// Si l'utilisateur veut supprimer son avatar...
if (!empty($suppr_avatar)) {

maj_avatar_membre($_SESSION['id'], '');
$_SESSION['avatar'] = '';

$msg_confirm[] = "Avatar supprimé avec succès !";

// ... ou le modifier !
} else if (!empty($avatar)) {

// On souhaite utiliser la librairie Image
include_once CHEMIN_LIB.'image.php';

// Redimensionnement et sauvegarde de l'avatar
$avatar = new Image($avatar);
$avatar->resize_to(100, 100); // Image->resize_to($largeur_maxi, $hauteur_maxi)
$avatar_filename = DOSSIER_AVATAR.$id_utilisateur .'.'.strtlower(pathinfo($avatar->get_filename(), PATHINFO_EXTENSION));
$avatar->save_as($avatar_filename);

// On veut utiliser le modèle des membres (~/modules/membres.php)
include_once CHEMIN_MODELE.'membres.php';

// Mise à jour de l'avatar dans la table
// maj_avatar_membre() est définit dans ~/modules/membres.php
maj_avatar_membre($_SESSION['id'] , $avatar_filename);
$_SESSION['avatar'] = $avatar_filename;

$msg_confirm[] = "Avatar modifié avec succès !";
}

} else if ($form_modif_mdp->is_valid($_POST)) {

// On vérifie si les 2 mots de passe correspondent
if ($form_modif_mdp->get_cleaned_data('mdp') != $form_modif_mdp->get_cleaned_data('mdp_verif')) {

$erreurs_form_modif_mdp[] = "Les deux mots de passes entrés sont différents !";

// C'est bon, on peut modifier la valeur dans la BDD
} else {


// On veut utiliser le modèle de l'inscription (~/modules/membres.php)
include_once CHEMIN_MODELE.'membres.php';
maj_mot_de_passe_membre($_SESSION['id'], $mdp);

$msg_confirm[] = "Votre mot de passe a été modifié avec succès !";
}

}
}

// Affichage des formulaires de modification du profil
include_once CHEMIN_VUE.'formulaires_modifier_profil.php';
?>

Je lai tester avec var_dump mais il m'affiche de problème du genre
Warning: Invalid argument supplied for foreach() in C:\wamp\www\mvc\libs\form.php on line 258
Form étant le nom e la class que j'utilise.Merci à tous
guigui777

Ses derniers messages sur les forums

forum
guiguiz
le 30/01/2011 à 21:00
problème d'arrays
<?php

// Vérification des droits d'accès de la page
if (!utilisateur_est_connecte()) {

// On affiche la page d'erreur comme quoi l'utilisateur doit être connecté pour voir la page
include_once CHEMIN_VUE_GLOBALE.'erreur_non_connecte.php';

} else {

// Ne pas oublier d'inclure la librairie Form
include_once CHEMIN_LIB.'form.php';

// "form_modif_infos" est l'ID unique du formulaire
$form_modif_infos = new Form("form_modif_infos");

$form_modif_infos->method('POST');

$form_modif_infos->add('Email', 'adresse_email')
->label("Votre adresse email")
->Required(false)
->value($_SESSION['email']);

$form_modif_infos->add('Checkbox', 'suppr_avatar')
->label("Je veux supprimer mon avatar")
->Required(false);

$form_modif_infos->add('File', 'avatar')
->filter_extensions('jpg', 'png', 'gif')
->max_size(8192) // 8 Kb
->label("Votre avatar (facultatif)")
->Required(false);

$form_modif_infos->add('Submit', 'submit')
->initial("Modifier ces informations !");

// "form_modif_mdp" est l'ID unique du formulaire
$form_modif_mdp = new Form("form_modif_mdp");

$form_modif_mdp->method('POST');

$form_modif_mdp->add('Password', 'mdp_ancien')
->label("Votre ancien mot de passe");

$form_modif_mdp->add('Password', 'mdp')
->label("Votre nouveau mot de passe");

$form_modif_mdp->add('Password', 'mdp_verif')
->label("Votre nouveau mot de passe (vérification)");

$form_modif_mdp->add('Submit', 'submit')
->initial("Modifier mon mot de passe !");

// Création des tableaux des erreurs (un par formulaire)
$erreurs_form_modif_infos = array();
$erreurs_form_modif_mdp = array();

// et d'un tableau des messages de confirmation
$msg_confirm = array();
var_dump($erreurs_form_modif_infos);

// Validation des champs suivant les règles en utilisant les données du tableau $_POST
if ($form_modif_infos->is_valid($_POST)) {

list($adresse_email, $suppr_avatar, $avatar) = $form_modif_infos->get_cleaned_data('adresse_email', 'suppr_avatar', 'avatar');

// On veut utiliser le modèle de l'inscription(~/modules/membres.php)
include_once CHEMIN_MODELE.'membres.php';

// Si l'utilisateur veut modifier son adresse e-mail
if (!empty($adresse_email)) {

$test = maj_adresse_email_membre($_SESSION['id'], $adresse_email);

if (true === $test) {

// Ça a marché, trop cool !
$msg_confirm[] = "Adresse e-mail mise à jour avec succès !";

// Gestion des doublons
} else {

// Changement de nom de variable (plus lisible)
$erreur =& $test;

// On vérifie que l'erreur concerne bien un doublon
if (23000 == $erreur[0]) { // Le code d'erreur 23000 signifie "doublon" dans le standard ANSI SQL

preg_match("`Duplicate entry '(.+)' for key \d+`is", $erreur[2], $valeur_probleme);
$valeur_probleme = $valeur_probleme[1];

if ($adresse_email == $valeur_probleme) {

$erreurs_form_modif_infos[] = "Cette adresse e-mail est déjà utilisée.";

} else {

$erreurs_form_modif_infos[] = "Erreur ajout SQL : doublon non identifié présent dans la base de données.";
}

} else {

$erreurs_form_modif_infos[] = sprintf("Erreur ajout SQL : cas non traité (SQLSTATE = %d).", $erreur[0]);
}

}
}

// Si l'utilisateur veut supprimer son avatar...
if (!empty($suppr_avatar)) {

maj_avatar_membre($_SESSION['id'], '');
$_SESSION['avatar'] = '';

$msg_confirm[] = "Avatar supprimé avec succès !";

// ... ou le modifier !
} else if (!empty($avatar)) {

// On souhaite utiliser la librairie Image
include_once CHEMIN_LIB.'image.php';

// Redimensionnement et sauvegarde de l'avatar
$avatar = new Image($avatar);
$avatar->resize_to(100, 100); // Image->resize_to($largeur_maxi, $hauteur_maxi)
$avatar_filename = DOSSIER_AVATAR.$id_utilisateur .'.'.strtlower(pathinfo($avatar->get_filename(), PATHINFO_EXTENSION));
$avatar->save_as($avatar_filename);

// On veut utiliser le modèle des membres (~/modules/membres.php)
include_once CHEMIN_MODELE.'membres.php';

// Mise à jour de l'avatar dans la table
// maj_avatar_membre() est définit dans ~/modules/membres.php
maj_avatar_membre($_SESSION['id'] , $avatar_filename);
$_SESSION['avatar'] = $avatar_filename;

$msg_confirm[] = "Avatar modifié avec succès !";
}

} else if ($form_modif_mdp->is_valid($_POST)) {

// On vérifie si les 2 mots de passe correspondent
if ($form_modif_mdp->get_cleaned_data('mdp') != $form_modif_mdp->get_cleaned_data('mdp_verif')) {

$erreurs_form_modif_mdp[] = "Les deux mots de passes entrés sont différents !";

// C'est bon, on peut modifier la valeur dans la BDD
} else {


// On veut utiliser le modèle de l'inscription (~/modules/membres.php)
include_once CHEMIN_MODELE.'membres.php';
maj_mot_de_passe_membre($_SESSION['id'], $mdp);

$msg_confirm[] = "Votre mot de passe a été modifié avec succès !";
}

}
}

// Affichage des formulaires de modification du profil
include_once CHEMIN_VUE.'formulaires_modifier_profil.php';
?>

Je lai tester avec var_dump mais il m'affiche de problème du genre
Warning: Invalid argument supplied for foreach() in C:\wamp\www\mvc\libs\form.php on line 258
Form étant le nom e la class que j'utilise.Merci à tous
guigui777

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours