Propblème de connexion avec php/mysql

Abdl85 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous, chers amis experts en programmation.

S'il vous plait j'ai un petit problème avec mon site. D'abord en tant que débutant en programmation, je veux savoir quelque chose sur PHP/MYSQL. Je voulais créer un site de membre.

J'ai réussi à faire la section d'inscription et de connexion des membres. Sauf que là une fois qu'un membre est connecté à son compte, il n'arrive pas ajouter de nouvelles données sur la base de données.

Donc j'aimerais savoir s'il y a la différence entre le code d'avant la connexion et pendant la connexion. Je veux dire le "INSERT" qu'on écrit pour l'inscription est-il différent de celui qu'on écrit une fois que la personne est connecté à son compte.

Car j'ai écris la même chose pour l'utilisateur ajoute de nouvelle chose sur son compte mais ça ne marche pas. Merci pour d'avance pour votre aide.
A voir également:

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour
Il faudrait nous montrer le code en question...

Pense à utiliser les balises de code
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

.
0
Abdl85 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour votre aide.
0
Abdl85 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
// la connexion des utilisateurs à leur compte
<?php
session_start();
if(!isset($_SESSION['username'])){
header('location:connexion.php');
}
?>
<!DOCTYPE html>
<html>
<head>
<tittle>Tableau de bord</tittle>
<meta name="viewport" content="width=device-width, initial-scale=1">
...
</head>
<body>
...
<?php
//vérification des variables
if(isset($_POST['submit'])){
$sitename = htmlspecialchars(stripslashes(trim($_POST['site'])));
$statut = htmlspecialchars(stripslashes(trim($_POST['statut'])));
$avis = htmlspecialchars(stripslashes(trim($_POST['avis'])));

$s = "select * FROM comment where site = '$sitename'";

$result = mysqli_query($con, $s);

//Nouvel insertion à la base de donnée
$num = mysqli_num_rows($result);
if($num == 1){
$erreur = "<p>Ce site existe déjà!</p>";
}else{
$reg= "INSERT INTO accounts(site , statut , avis) values ('$sitename' , '$statut' ,'$avis')";
mysqli_query($con , $reg);
$erreur = "<p>Votre Avis est créé avec succès!</p>";
}
}
?>

//formulaire d'envoi
<diV class="container" style="padding-bottom: 35px;">
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

<label for="site" class="w3-left">Nom du site:</label>
<input type="text" id="site" name="site" placeholder="nom du site..." style="width: 100%;margin: 8px 0;padding: 12px 20px;box-sizing: border-box;" required>

<label for="statut" class="w3-left">Statut:</label>
<input type="text" id="statut" name="statut" placeholder="Votre Statut..." style="width: 100%;margin: 8px 0;padding: 12px 20px;box-sizing: border-box;" required>

<label for="avis" class="w3-left">Votre Avis:</label>
<textarea type="text" id="avis" name="avis" placeholder="Votre Avis sur ce Site..." style="width: 100%;margin: 8px 0;padding: 12px 20px;box-sizing: border-box;" required></textarea>

<input type="submit" name="submit" value="Envoyer" class="w3-black w3-hover-blue" style="padding: 12px 20px;border: none;border-radius: 4px;cursor: pointer;width: 100%;">

<?php if (isset($erreur)) echo '<br /><br />',$erreur;?>
</form>

</diV><br>
</body>
</html>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonsoir,

Tu dois, dans ton code, ajouter une gestion d'erreur au niveau de tes requêtes.
Par exemple, pour ta requête INSERT, moi je ferai :

// Perform a query, check for error
$reg= "INSERT INTO accounts(site , statut , avis) values ('$sitename' , '$statut' ,'$avis')";
if (!mysqli_query($con,$reg)) {
  echo("Error description: " . mysqli_error($con));
}


Je te conseille également de déplacer le maximum de code php AVANT le code HTML.
Le traitement du formulaire par exemple, n'a pas besoin de se trouver dans le html...
ça rendra ton code plus propre et plus facile à maintenir à l'avenir plutôt que de le noyer inutilement au milieu du html de ta page.
0