Le code PHP de mon site donne bien en local mais en ligne les insertions plante
blizzarboy
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
blizzarboy Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
blizzarboy Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour
J'ai développé un site web en local une sorte de petit e commerce pour débutant j'ai decider de l'importer en ligne sur un serveur panel mais lors de la manipulation du site je me suis rendu compte que tous les insertions du site ne fonctionne pas. J'ai effectué des recherches sur googler et je n'ai vu aucun problème similaire au mien s'il vous plaît aidez-moi. vous avez ci desous le code de connection et de d'insertion dans la table connection
J'ai développé un site web en local une sorte de petit e commerce pour débutant j'ai decider de l'importer en ligne sur un serveur panel mais lors de la manipulation du site je me suis rendu compte que tous les insertions du site ne fonctionne pas. J'ai effectué des recherches sur googler et je n'ai vu aucun problème similaire au mien s'il vous plaît aidez-moi. vous avez ci desous le code de connection et de d'insertion dans la table connection
<?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");
}
?>
A voir également:
- Le code PHP de mon site donne bien en local mais en ligne les insertions plante
- Code ascii - Guide
- Partage de photos en ligne - Guide
- Site de telechargement - Accueil - Outils
- Site de vente en ligne particulier - Guide
- Site comme coco - Accueil - Réseaux sociaux
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, je pense que ton problème est causé par ton code PHP.
<?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");
}
?>
que penses-tu faire avec ceci:
ne devrais-tu pas plutôt vérifier qu'une ligne a été insérée?
EDIT : Ajout du LANGAGE dans les balises de code.
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
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...