Problème de redirection mvc et php

varley Messages postés 66 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   - 28 avril 2016 à 23:09
Bonjour,

je suis entrain d'implémenter le mvc ,après avoir fait toutes les vérifications dans les controlleurs la redirection vers la page membre ne marche pas ma vue membre s'affiche dans la vue connexion quelqu'un saura t'il m'aider je vous remercie d'avance voici mon code:

mon fichier index.php

<?php
session_start();


include('modeles/bdd.php');

if(!empty($_GET['page']) AND is_file('controleurs/'.$_GET['page'].'php')){

include('controleurs/'.$_GET['page'].'php');
}else{
//redirection vers la page d'acceuil
include('controleurs/.php');
}
?>


mon fichier .php qui est un controleur pour inscrire l'utilisateur

<?php
//======================================================Traitement du formulaire=================================================
//appel du controleur connexion.php
include('modeles/bdd.php');
include('modeles/.php');
include('vues/.php');
include(dirname(__FILE__).'/../controleurs/connexion.php');


if(isset($_POST['submit'])){
$nom=htmlentities(trim($_POST['nom']));
$prenom=htmlentities(trim($_POST['prenom']));
$=htmlentities(trim($_POST['']));
$conf=htmlentities(trim($_POST['conf']));
$email=htmlentities(trim($_POST['email']));
$age=htmlentities(trim($_POST['age']));
$pays=htmlentities(trim($_POST['pays']));
if(empty($nom)){
$errors[]="Veuillez saisir votre nom";

}
if(empty($prenom)){
$errors[]="Veuillez saisir votre prénom";

}
if(empty($)){
$errors[]="Veuillez saisir votre mon de e";

}
if($!=$conf){
$errors[]="Votre mot de e nest pas identique";

}
if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
$errors[]="Votre email nest pas valide";

}
if(empty($age)){
$errors[]="Veuillez choisir votre âge";

}
if(empty($pays)){
$errors[]="Veuillez choisir votre pays";

}

// if(pseudo_existe($nom)==1){
// $errors[]="le pseudo nest pas disponible";
//}
if(email_existe($connect,$email)==1){
$errors[]="Cette email existe deja"; //verifier ne marche pas
}
if(!empty($errors)){
foreach($errors as $error){
echo $error;
}
}else{
($connect,$nom,$prenom,$,$email,$age,$pays);
// die('inscription termine');
//die('inscription terminé');
}

}


?>


voici la vue .php pour s'inscrire et se connecter


<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Page d'inscription</title>

<!--css bootstrap-->

<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>

<!-- responsive -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div class="container-fluid ">

<div class="row-fluid">
<div class="span4 offset4">
<form class="" id="" method="POST" action="">
<div class=" control-group">
<label class="control-label" for='Nom'>Nom</label>
<div class="controls">
<input type="text" placeholder="Entrez votre nom" id="nom" name="nom" class="input-medium"/>
</div>
</div>
<div class="control-group">
<label class="control-label" for='prenom'>Prénom</label>
<div class="controls">
<input type="text" placeholder="Entrez votre prénom" id="prenom" name="prenom"class="input-medium"/>
</div>
</div>

<div class="control-group">
<label class="control-label" for=''> votre mot de e</label>
<div class="controls">
<input type="" placeholder="Entrez votre mot de e" id="" name="" class="input-medium"/>
</div>
</div>

<div class="control-group">
<label class="control-label" for='repeat'> Retapez votre mot de e</label>

<div class="controls">
<input type="" placeholder="Retapez votre nom" id="conf" name="conf" class="input-medium"/>
</div>
</div>

<div class="control-group">
<label class="control-label" for='email'>Email</label>

<div class="controls">
<input type="text" placeholder="Entrez votre Email" id="email" name="email" class="input-medium"/>
</div>
</div>
<div class="control-group">
<label class="control-label" for='age'>age</label>
<select class ="form-control " name="age">
<option value=6>6 </option>
<option >7 ans</option >
<option >8 ans</option >

</select>
</div>
<div class="control-group">
<label class="control-label" for='pays'>Pays</label>
<select class ="form-control " name="pays">
<option value="Afghanistan">Afghanistan</option >
<option>Option 2</option >


</select >
</div>
<div class="form-actions ">
<button type="submit" class="btn btn-primary" name="submit">Enregistrez Vous</button>
</div>
</form>
</div>
<div class="pull-right span4">

<form class="" method="POST" action="">
<div class="control-group">
<label class="control-label " for='nom'>Nom</label>
<div class="controls ">


<input type="text" id="nom" name="nom" class="input-medium">
</div>
</div>
<div class="control-group">
<label class="control-label " for=''> votre mot de e</label>

<div class="controls">
<input type="" id="" name="" class="input-medium">
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary" name="ok">Connexion</button>
</div>

<div class="control-group">

<div class="controls">
<input type="checkbox" id="checkbox" class="input-medium"><label class="control-label" for=''>Se souvenir de moi</label><br/>
<a href="#">mot de e oublié</a>
</div>
</div>
</form>
</div>

</div>

<!-- connexion des utilisateurs-->

<!-- </div>-->


</div>


</body>
</html>


voici mon controleur connexion.php

<?php
include('modeles/bdd.php');

include('modeles/connexion.php');


if(isset($_POST['ok'])){


if(empty($_POST['nom'])){
$errors[]='veuillez saisir votre nom';
}
if(empty($_POST[''])){
$errors[]='veuillez saisir votre ';
}
if(!empty($errors)){
foreach($errors as $error){
echo $error;
}
}else{

if(combinaison_pseudo_($connect,$_POST['nom'],$_POST[''])==0){
echo"votre email et est incorrecte";
}
else{

$_SESSION['nom']=$_POST['nom'];

include('/membre.php');
}
}
}

?>


controleur membre.php

<?php

include('modeles/membre.php');
$infos=infos_membre_connecte($connect);

include('vues/membre.php');

?>


vue membre.php

<html>
<body>
<?php
foreach ($infos as $info) {
echo "Bienvenue".$info['nom'];
}

?>
</body>
</html>


mes modeles

.php

<?php
//fonction inscription utilisateur
function ($connect,$nom,$prenom,$,$email,$age,$pays){
$=sha1($);
$query="INSERT INTO s(nom,prenom,,email,age,pays)
VALUES(:nom,:prenom,:,:email,:age,:pays)";
$res=$connect->prepare($query);
$res->execute(array(":nom" =>$nom,":prenom" =>$prenom,":"=>$,":email"=>$email,":age"=>$age,":pays"=>$pays));

}

//verification si l'adresse email existe
function email_existe($connect,$email){
$query=$connect->prepare("SELECT COUNT(id) FROM s WHERE email=?");
$query->execute(array($email));
$data=$query->fetchColumn(0);
return $data;

}

?>

connexion.php
<?php
//fonction combinaison pseudo et

function combinaison_pseudo_($connect,$nom,$)
{
$nom=htmlentities(trim($_POST['nom']));
$=htmlentities(trim($_POST['']));

//mot de e hasher en sha1
$=sha1($);
$result= $connect->prepare("SELECT nom, FROM s WHERE nom=? AND =?");
$result->execute(array($nom,$));

$rows= $result->rowCount();

return $rows;
}
?>


membrephp

<?php
//fonction qui va recuperer les infos de l'utilisateur connecté


function infos_membre_connecte($connect){

$infos=array();
//variable global session
$nom=$_SESSION['nom'];
$query=$connect->prepare("SELECT * FROM s where nom=?") ;
$query->execute(array($nom));

while ($row=$query->fetch(PDO::FETCH_ASSOC)) {
//on stock nos info dans dans le tableau créé
$infos[]=$row;
}

return $infos;
//}
}

?>

bdd.php
<?php
try{
$connect=new PDO('mysql:host=localhost;dbname=projet','root','');
$connect-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(Exception $e){
die('Erreur:'.$e->getMessage());
}
?>
A voir également:

2 réponses

jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 744
 
Bonjour,

Commence par ajouter les BALISES DE CODE s'il te plait.
Car là .. c'est illisible.
Explications disponibles ici :
https://codes-sources.commentcamarche.sitesdebloques.org/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
0
varley Messages postés 66 Date d'inscription   Statut Membre Dernière intervention   12
 
merci beaucou je viens d'ajouter les balises de code pourque le code soit plus lisible

https://codes-sources.commentcamarche.sitesdebloques.org/forum/affich-10064104-probleme-de-redirection-apres-sur-la-page-membre-apres-connexio#p10064104
0
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 744
 
Mais pourquoi ne pas l'avoir fait dans cette discussion directement ?
0