Bonjour,
Voila je rencontre un petit problème avec mon code.
J'ai un site sur lequel je viens de mettre un sytème de login. Tout fonctionne seulement mon système de login est en php et J'ai encore du mal à savoir comment faire appel aux fonction qui sont en php.
Ce que j'aimerais c'est mettre des restrictions aux utilisateurs qui ne sont pas log. Mais pour cela il faut que je fasse appel au php dans mon script.
Voilà mon login.php
require_once('includes/config.php');
//process login form if submitted
if(isset($_POST['submit'])){
$username = $_POST['username'];
$password = $_POST['password'];
if($user->login($username,$password)){
$_SESSION['username'] = $username;
header('Location: calendar.php');
exit;
} else {
$error[] = 'Wrong username or password or your account has not been activated.';
}
J'aimerais lancer une fonction en ajax lorsque la personne est connectée.
Donc il faut que je dise: Si la personne est connectée alors -> on lance l'ajax
Mais je ne sais pas trop comment m'y prendre
J'ai fait des tests:
var $username = <?php echo $_SESSION['username']; ?>;
alert (username);
if($user = login($username,$password)){
$_SESSION['username'] = $username;
$.ajax({
url: 'login_ok.js',
dataType: "script",
success: success
});
}
Mais ce n'est pas très concluant.
Merci pour l'aide que vous pourrez m'apporter.
Salut et merci pour vos réponses. Je sais bien que je n'ai pas à mixer du php et le JS mais justement je ne sais pas comment m'y prendre. J'ai mon login qui est géré en php. Et je voudrais lancer une requête dans mon html < script > qui fait:
If "L'utilisateur est connecté" -> on lance la requête ajax
Donc comment récupérer le if qui est en php?
Merci pour votre aide :)
Salut
Tu peux faire comme ceci
<?php
class User{
public function isLogged(){
if(isset($_SESSION['username'] && !empty($_SESSION['username']){
return true;
}
}
}
?>
Donc ça, ça vérifie si la session existe donc si il est connecter après tu peux faire ça sur la page login
<?php
$users = new User();
if($users->isLogged()){
header("Location: profil.php");
}
?>
<form action="" method="post">
......
</form>
Merci beaucoup pour vos réponses.
Ce que j'aimerais c'est rester sur la même page. Ne pas avoir de redirection dans le php. Ce que j'ai dans ma page html c'est:
<?php require('includes/config.php');
//define page title
$title = 'Members Page';
//include header template
require('layout/header.php');
?>
Et dans mon header j'ai:
<h2> Bienvenue <?php echo $_SESSION['username']; ?></h2>
Donc je me connecte. Mon php verifie que je suis bien dans la base de donnée et je me vois connecté dans le header. Jusque la tout va bien je suis toujours sur la même page. Maintenant j'aimerais rajouter des script sur ma page une fois connecté.
Merci pour ta réponse j'ai essayé de faire :
if ($_SESSION = true) {
$.smallBox({
title: "Ca marche",
content: "<i class='fa fa-clock-o'></i> <i>Votre réservation à bien été prise en compte</i>",
color: "#659265",
iconSmall: "fa fa-check fa-2x fadeInRight animated",
timeout: 4000
});
}
else{
$.smallBox({
title: "Erreur",
content: "<i class='fa fa-clock-o'></i> <i>Veuillez remplir correctement tous les champs</i>",
color: "#C46A69",
iconSmall: "fa fa-times fa-2x fadeInRight animated",
timeout: 4000
});
}
Mais j'ai le message positif que je sois connecté ou non.
$_SESSION c'est du php, le reste c'est du javascript, on ne peut pas melanger les deux, on te la dit plus haut.
une simple recherche sur le site t'aurai deja avancé dans ton problème
ajax avec jquery
formulaire de contact avec jquery ( tu as un formulaire de login mais le principe est le meme )
et encore poster un formulaire en ajax
avec tous ca si tu n'arrive pas a trouver une solution c'est qu'il y as un problème quelque part