Le code PHP de mon site donne bien en local mais en ligne les insertions plante
Fermé
blizzarboy
Messages postés
7
Date d'inscription
jeudi 8 novembre 2018
Statut
Membre
Dernière intervention
2 octobre 2019
-
Modifié le 2 oct. 2019 à 13:43
blizzarboy Messages postés 7 Date d'inscription jeudi 8 novembre 2018 Statut Membre Dernière intervention 2 octobre 2019 - 2 oct. 2019 à 16:46
blizzarboy Messages postés 7 Date d'inscription jeudi 8 novembre 2018 Statut Membre Dernière intervention 2 octobre 2019 - 2 oct. 2019 à 16:46
A voir également:
- Le code PHP de mon site donne bien en local mais en ligne les insertions plante
- Site de vente en ligne particulier - Guide
- Site de telechargement - Accueil - Outils
- Partage de photos en ligne - Guide
- Le code ascii en informatique - Guide
- Site comme coco - Accueil - Réseaux sociaux
1 réponse
yg_be
Messages postés
23341
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 551
2 oct. 2019 à 13:26
2 oct. 2019 à 13:26
bonjour, je pense que ton problème est causé par ton code PHP.
2 oct. 2019 à 13:30
<?php
session_start();
require_once("../../bd.php");
if(isset($_POST['email']) && !empty($_POST['email']))
{
if(isset($_POST['mdp']) && !empty($_POST['mdp']))
{
$email = $_POST['email'];
$mdp = $_POST['mdp'];
$date = date("l d/m/Y H:i:s");
$resultat = $connection->query("SELECT * FROM compteuser WHERE email='$email' AND mot_de_pass='$mdp'");
if ($row = $resultat->fetch())
{
$_SESSION['pseudo'] = htmlspecialchars($row['pseudo']);
$_SESSION['idUser']=$row['id'];
$idUser=$_SESSION['idUser'];
$_SESSION['mdp']=$mdp;
$_SESSION['nom']=$row['nom'];
$_SESSION['prenom']=$row['prenom'];
$_SESSION['message']="authentification reusi!";
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
$ipMachine=$_SESSION['ip'];
$Connecter=1;
$verif=$idUser.''.$ipMachine;
$resultat = " INSERT INTO connection(id_user,heur_connecter,ip_machine,connecter,verif) VALUES('$idUser', '$date', '$ipMachine','$Connecter','$verif') ";
if($donne = $connection -> exec($resultat))
{
$_SESSION['SessionVerif']=$verif;
$_SESSION['idConnecter']=$row['id'];
header("Location:../../../vue/utilisateur");
}else{
$_SESSION['message']="impossible de ce connecter a c";
header("Location:../../../vue/site/userform.php?inscription=fake");
}
}else{
$_SESSION['message']="mot de pass ou adresse e-mail incorect";
header("Location:../../../vue/site/userform.php?inscription=fake");
}
}
else
{
$_SESSION['message']="verifier votre mot de pass!";
header("Location:../../../vue/site/userform.php?inscription=fake");
}
}
else
{
$_SESSION['message']="Verifier votre address email!";
header("Location:../../../vue/site/userform.php?inscription=fake");
}
?>
Modifié le 2 oct. 2019 à 14:11
que penses-tu faire avec ceci:
ne devrais-tu pas plutôt vérifier qu'une ligne a été insérée?
Modifié le 2 oct. 2019 à 14:30
EDIT : Ajout du LANGAGE dans les balises de code.
Modifié le 2 oct. 2019 à 14:16
comment se fait-il que ton code ne détecte pas que l'insertion ne fonctionne pas?
que penses-tu faire avec ceci:
ne devrais-tu pas plutôt vérifier qu'une ligne a été insérée?
suggestions: https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
2 oct. 2019 à 14:34
En complément.....
Il faut, le temps de trouver ton erreur, désactiver TOUTES les redirections.... sinon tu risques de ne pas voir l'erreur...
Je t'invite également à utiliser des requêtes préparées au lieu des "query" ou "exec".
Cela permet de protéger ton site d'éventuelles injections sql .
Il faut également savoir que l'instruction htmlspecialchar ne s'utilise JAMAIS pour insérer des données en BDD. Cette fonction n'est à utiliser que pour faire de l'affichage !
PS: Une fois ton erreur trouvée, tu pourras réactiver les redirections.
Il faudra (du moins c'est fortement conseillé ) placer un <code php>exit;</codes> après chacune d'elles...