Comment gérer les articles
Résolu
Gl@dior
Messages postés
328
Date d'inscription
Statut
Membre
Dernière intervention
-
Gl@dior Messages postés 328 Date d'inscription Statut Membre Dernière intervention -
Gl@dior Messages postés 328 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train de concevoir un site qui serait comme un blog, avec plusieurs parties (pages). J'ai fait un script php pour faire un nouvel article qui se met sur la page désiré. Problème : Quand je fait un article trop long, ça ne fonctionne pas.
L'article est enregistré sur la base de donnée dans une table avec l'auteur, la date, le titre.
Faut t'il mettre un type particulier au champ ? j'avais mis TEXT, j'ai essayé avec d'autres mais toujours le même résultat.
J'ai pensé au fichier aussi, mais je vois pas trop comment gérer ça après :s
Merci de m'orienter vers la méthode la plus efficace ...
Je suis en train de concevoir un site qui serait comme un blog, avec plusieurs parties (pages). J'ai fait un script php pour faire un nouvel article qui se met sur la page désiré. Problème : Quand je fait un article trop long, ça ne fonctionne pas.
L'article est enregistré sur la base de donnée dans une table avec l'auteur, la date, le titre.
Faut t'il mettre un type particulier au champ ? j'avais mis TEXT, j'ai essayé avec d'autres mais toujours le même résultat.
J'ai pensé au fichier aussi, mais je vois pas trop comment gérer ça après :s
Merci de m'orienter vers la méthode la plus efficace ...
A voir également:
- Comment gérer les articles
- Comment gérer les applications qui se lancent au démarrage - Guide
- Gerer les profils netflix - Guide
- Gerer stockage google - Guide
- Gerer les cookies - Guide
- Comment acheter plusieurs articles sur vinted - Guide
10 réponses
Avec TEXT tu es limité à 65535 caractères.
MEDIUMTEXT : 16 777 215 caractères
LONGTEXT : 4 294 967 295 caractères
MEDIUMTEXT : 16 777 215 caractères
LONGTEXT : 4 294 967 295 caractères
Je développe en local pour le moment.
<?php $Titre = $_POST['Titre']; $Auteur = $_POST['Auteur']; $Date = $_POST['Date']; $Univers = $_POST['Univers']; $Article = $_POST['Article']; $level; if($Titre=="" || $Auteur=="" || $Date=="" || $Univers=="" || $Article=="") { echo "Veuillez remplir tout les champs : <a href=newarticle.php>retour</a>"; $level=0; } else { $level=1; } if($level==1) { $serveur = mysql_connect("127.0.0.1","root",""); if (!$serveur) { die('Non connecté : ' . mysql_error()); } $db = mysql_select_db('cinegeeks', $serveur); if (!$db) { die ('Impossible d\'utiliser la base : ' . mysql_error()); } $query = "INSERT INTO articles VALUES('','$Titre', '$Auteur', '$Date', '$Univers', '$Article')"; $result = mysql_query($query); } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Est-ce que ça ne couperait quand il y a un apostrophe ou un guillemet ?
Essaye avec ça :
Essaye avec ça :
<?php $Titre = trim($_POST['Titre']); $Auteur = trim($_POST['Auteur']); $Date = trim($_POST['Date']); $Univers = trim($_POST['Univers']); $Article = trim($_POST['Article']); if(empty($Titre) || empty($Auteur) || empty($Date) || empty($Univers) || empty($Article)) { echo 'Veuillez remplir tout les champs : <a href="newarticle.php">retour</a>'; } else { if(@mysql_connect("127.0.0.1","root","")) { if(@mysql_select_db('cinegeeks')) { $query = 'INSERT INTO articles VALUES( "", "'.mysql_real_escape_string($Titre).'", "'.mysql_real_escape_string($Auteur).'", "'.mysql_real_escape_string($Date).'", "'.mysql_real_escape_string($Univers).'", "'.mysql_real_escape_string($Article).'")'; $result = mysql_query($query); } else echo 'Impossible d\'utiliser la base : ' . mysql_error(); } else echo 'Non connecté : ' . mysql_error(); } ?>
Merci beaucoup, ça fonctionne :)
Mais pourrais tu m'expliquer les changements que tu as fait please ?
Mais pourrais tu m'expliquer les changements que tu as fait please ?
Tout d'abord, j'applique la fonction trim() sur les variables afin de supprimer les espaces en début et fin de chaine.
J'ai retirer les "linkers" car tu n'effectues qu'une connexion à MySQL, c'est inutile.
J'ai également changer la façon de gérer les erreurs.
Et ce qui a résolu le problème, c'est l'utilisation de la fonction mysql_real_escape_string qui permet d'échapper les guillemets.
J'ai retirer les "linkers" car tu n'effectues qu'une connexion à MySQL, c'est inutile.
J'ai également changer la façon de gérer les erreurs.
Et ce qui a résolu le problème, c'est l'utilisation de la fonction mysql_real_escape_string qui permet d'échapper les guillemets.