Creer une table sql avec php pour chaque utilisateur

Résolu/Fermé
Gilles229_229 - Modifié le 3 mai 2020 à 00:35
 Gilles229_229 - 3 mai 2020 à 14:21
Salut. J'aimerai vous soumettre une requête dans l'espoir de finalement trouver une solution.
Mon problème est le suivant:
Je mets en place un forum local pour faciliter les echanges de données entre utilisateurs local grace à wamp.
Mais pour la messagerie je tente de creer une table dont le nom est celui de l'addresse email fournit lors de l'inscription .Mais apres des recherches sur internet je m'appercois que le nom d'une table dans la base de donnée sql est figé et donc je ne sais pas comment m'y prendre
Mon code est le suivant:
<?php
session_start();
$_SESSION['nom'] = htmlspecialchars($_POST["Nom"]);
$_SESSION['prenom'] = htmlspecialchars($_POST["Prenom"]);
$_SESSION['email'] = htmlspecialchars($_POST["Email"]);
$_SESSION['pays'] = htmlspecialchars($_POST["pays"]);
?>
<link rel="stylesheet" type="text/css" href="styleredirect.css">
<?php
$pdo = null;
try
{
$pdo = new PDO('mysql:host=localhost;dbname=tests','root','',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

}
catch (Exception $e)
{
die ('Erreur de connection:' .$e->getMessage());
}


//verification de l'existance au préalable
$verif=$pdo->prepare("SELECT * FROM utilisateurs WHERE email=?");

$verif->execute([$_SESSION['email']]);
$user=$verif->fetch();
if($user)
{
// email existe deja
header('Location:Inscription.php');
}

else
{

$insertion = $pdo->prepare('INSERT INTO utilisateurs (id, nom, prenom, password, email, pays) VALUES(NULL,?,?,?,?,?)');
$insertion->execute(array($_SESSION['nom'],$_SESSION['prenom'],$_SESSION['password'],$_SESSION['email'],$_SESSION['pays']));

header('Location:page1.php');
}
?>


EDIT : Ajout des balises de code
Comment pourrais je faire pour doter chaque utilisateur d'une table ayant le nom de leur addresse email
A voir également:

1 réponse

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
3 mai 2020 à 00:40
Bonjour,

Pour commencer... lorsque tu postes du code sur le forum, tu dois utiliser les BALISES DE CODE.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

Ensuite.. tu utilises mysql et non sqlserver (le forum que tu as choisi...)

Et vu que ta question semble d'avantage concerner le php.. je déplace ta question dans le forum php.

Et enfin...
Creer une table sql avec php pour chaque utilisateur

Sauf que :
1 - On évite de créer des tables à la volée... on défini la structure de la BDD avant de coder et après on évite de la modifier.

2 - Rien dans ton code ne montre une éventuelle création de table.

3 - Il faut activer l'affichage des erreurs PHP ainsi que traiter les éventuelles erreurs PDO
Pour ça, : voir le contenu de ces deux liens :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

4 - Pour pouvoir voir les éventuelles erreurs, il te faut mettre en commentaire les redirections.
(le temps de finaliser ton code).


Reviens nous voir avec le code modifié si tu rencontres toujours des soucis.



0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
3 mai 2020 à 00:41
Ah.. et.. la fonction htmlspecialchars ne s'utilise que pour de l'affichage. En aucun cas pour des traitements en bdd.
0
Gilles229_229
3 mai 2020 à 00:56
Je comprends ce que tu dis j'en prendrai note mais aurais t'il un moyen de doter chaque utilisateur d'une messagerie
Je suis partant pour une proposition et faire des erreurs me motive à continuer
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649 > Gilles229_229
3 mai 2020 à 08:37
Pour créer une messagerie interne, il te suffit d'une table avec les champs ( id, to, from , subject , message )
  • to : id de l'utilisateur à qui est envoyé le message
  • from : id de l'utilisateur qui a envoyé le message
  • subject : sujet du message
  • message.. ben.. le message


comme tu le vois, pas besoin de créer une table par utilisateur....
0
Gilles229_229 > jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024
3 mai 2020 à 14:21
Je vois j'y avais pensé mais je pensais que faire comme précedement décris serait plus facile .
Mais je viens de comprendre
Merci
0