Forum de discussions pour les webmasters et les web developpeurs. (PHP, SQL, XHTML, JavaScript, Référencement, Positionnement,...)
Vous n'êtes pas identifié.
Pour ton exemple de tes balise html tu a une ligne dans ta table par lettre si j'ai bien compris?
Pourquoi ne pas mètre une ligne par balise dans ta table, après tu pourrez le généré dynamiquement le menu avec du PHP.
Dans ta base de donnée tu aurai uniquement:
Balise(IdBalise,Titre,Contenu,#IdLettre)
Lettre(IdLettre,Lettre)
Pas besoin ni de html ni de css ni de php dans les donnée.
En plus cela te permet plus de possibilités, moteur de recherche,... pour plus tard
Une base de donnée c'est fait pour stocker des donnée et nom le contenu d'une page ^^
Et toi, si tu voulais démontrer ce que fait telle ou telle code dans tes tutos ... tu ferais comment ?
La est mon problème et celui de tous ceux qui on des sites dynamiques pour faire un exemple d'un code php dans un article par exemple je le métrait dans un fichier externe au site.
Hors ligne
Crocxx a écrit:
Pour ton exemple de tes balise html tu a une ligne dans ta table par lettre si j'ai bien compris?
Non, cette partie du site est faite entièrement à la main, page par page
donc pas de base de donnée.
Crocxx a écrit:
Pourquoi ne pas mètre une ligne par balise dans ta table, après tu pourrez le généré dynamiquement le menu avec du PHP.
Dans ta base de donnée tu aurai uniquement:
Balise(IdBalise,Titre,Contenu,#IdLettre)
Lettre(IdLettre,Lettre)
Pas besoin ni de html ni de css ni de php dans les donnée.
Bonjour la prise de tête ^^! A partir du moment ou je rédige un tuto de plusieurs pages comme dans mon exemple, il va falloir que je cré une nouvelle table pour celui ci... donc que je modifie mon interface .. ou que je passe directement par ma base pour enregistrer mes données
..
Crocxx a écrit:
Une base de donnée c'est fait pour stocker des donnée et nom le contenu d'une page ^^
Alors la il va falloir que tu m'explique en détail et en mode débutant ... Moi je suis partie du principe que via mon interface il fallait que je puisse enregistrer les données suivantes:
1-titre
2-description
3-contenue
Qui dit contenue, dit l'intégralité d'une page contenue entre les balises <body> et </body>, sinon dit, HTML,script,php ... bref tout ! Pour moi, l'intégralité d'une page doit être enregistré sinon sa revient à créer les pages à la main pour ensuite les uploader et se servir de sa base uniquement comme un système de gestion de lien interne .. bref, je ne pige pas sur ce coup la !
Crocxx a écrit:
Et toi, si tu voulais démontrer ce que fait telle ou telle code dans tes tutos ... tu ferais comment ?
La est mon problème et celui de tous ceux qui on des sites dynamiques pour faire un exemple d'un code php dans un article par exemple je le métrait dans un fichier externe au site.
Je suis daccord, mais tu l'appelle comment ton fichier externe via ton interface puisque l'enregistrement d'une simple include ne fonctionne pas ...?
Hors ligne
c00lman a écrit:
Alors la il va falloir que tu m'explique en détail et en mode débutant ... Moi je suis partie du principe que via mon interface il fallait que je puisse enregistrer les données suivantes:
1-titre
2-description
3-contenue
Qui dit contenue, dit l'intégralité d'une page contenue entre les balises <body> et </body>, sinon dit, HTML,script,php ... bref tout ! Pour moi, l'intégralité d'une page doit être enregistré sinon sa revient à créer les pages à la main pour ensuite les uploader et se servir de sa base uniquement comme un système de gestion de lien interne .. bref, je ne pige pas sur ce coup la !
Ton utilisation de ta base de donnée est bizard, pour chaque page tu à une ligne dans ta base c'est bien ça.
Si tu t'en sert uniquement comme ça elle est inutile et tu devrez plutôt essayer un système d'include qui te permettra beaucoup plus de possibilités, tous en étant plus rapide.
Je pense pas arriver à t'expliquer clairement mais la meilleur chose est de télécharger un CMS, et de voir ce qui est mis en base de donnée et ce qui ne l'est pas, voir un code source complet est fonctionnel est la meilleur chose ![]()
c00lman a écrit:
Je suis daccord, mais tu l'appelle comment ton fichier externe via ton interface puisque l'enregistrement d'une simple include ne fonctionne pas ...?
Avec un simple lien ^^
Hors ligne
Crocxx a écrit:
Ton utilisation de ta base de donnée est bizard, pour chaque page tu à une ligne dans ta base c'est bien ça.
Je vais te la re faire au ralentit ^^.
Dans mon interface, j'ai une partie qui me permet d'entré mes données pour chacune des pages que je créé. Ces données sont les suivantes:
titre, description, mots clés, contenue.
Chaque page est ainsi enregistré dans ma bd avec évidement un id en auto incrément et l'id de la catégorie et l'id de la sous catégorie dont dépend la page créée.
La page qui me permet d'afficher mon contenu est la suivante (non finit):
<?php
$pageid=$_GET["page"];
if (isset($_GET["page"]))
{
include("data_bd.php");
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier data_bd.php.');
$query = mysql_query("SELECT * FROM PAGE_DU_SITE WHERE id=$pageid ");
while($page = mysql_fetch_array($query))
{
?>
<?php
$contenue = html_entity_decode($page['contenue_de_la_page']);
$titre = html_entity_decode($page['titre_de_la_page']);
$description = html_entity_decode($page['description_de_la_page']);
$motclef = html_entity_decode($page['motcle_de_la_page']);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="fr" />
<title><?php echo $titre; ?></title>
<meta name="Description" content="<?php echo $description; ?>" />
<meta name="Keywords" content="<?php echo $motclef; ?>" />
<style type="text/css" media="screen">
@import url( style.css );
</style>
</head>
<body>
<div style="text-align: center;"><?php include("header.php"); ?>
<h1><?php echo $titre; ?></h1>
<br />
<div style="text-align: left;">
<?php echo $contenue; ?><br/>
</div>
<br />
<?php include("footer.php"); ?>
</div>
</body>
</html>
<?php
//on ne ferme pas la connexion puisqu'elle l'est déjà dans le menu
}
}
?>Donc grâce à l'id transmise mes données titre,description,mots clés et contenue s'affichent. C'est comme les cms, le contenue est enregistré en base de donnée ....Je ne vois pas ce qu'il y a de bizar la dedans ?
Pour en revenir à l'include, je ne vois vraiment pas comment un simple lien enregistré dans le contenue donc dans ma bd pourrait afficher mon include qui se trouve dans un fichier extérieure ....<a href="mon-include.php">mon include</a> va m'afficher un lien .. rien de plus !!
On a un peut de mal à se comprendre je crois
!
Hors ligne
Ok j'ai mieu compris ce que tu cherche a faire.
Mais vu qu'il n'est pas possible d'executer du code PHP sortant d'une base de donnée, ton raisonnement trop global te limite.
Il t'est impossible de gérer un menu par groupe de page par exemple.
Plutot que de creer une table pour l'ensemble des pages de ton site, tu devrait créer une table par groupe de page.
Hors ligne
Crocxx a écrit:
Plutot que de creer une table pour l'ensemble des pages de ton site, tu devrait créer une table par groupe de page.
Même si ton raisonnement semble être la meilleur solution, je trouve sa trop lourd. Tu imagine la tronche de ma base d'ici quelques années ^^.
Hors ligne
Yo ^^.
Je viens juste clôturer ce poste.
Sql c'est pourrit ... on peut même pas enregistrer du php ... (je plaisante:) )
Hors ligne
J'ai peu être une solution pour tes include, utiliser la fonction preg_replace_callback() à la place de la fonction ereg_replace dans les premier code que je t'ai donné ![]()
Hors ligne
Un truc comme sa:
function Remplace($chaine)
{
$chaine = fonction preg_replace_callback("\[include\] ?([^\[]*) ?\[/include\]", include('\\1'), $chaine);
return $chaine;
}
Et ensuite je tape via mon éditeur de texte [include]le-fichier.php[/include]
Ps: tu peux pas remettre la barre bbcode dans les messages parce que la c'est chiant pour écrire ?
Hors ligne
Ha bha c'est mieux avec la barre
.
Alors ...
function Remplace($zzchaine)
{
$zzchaine = preg_replace_callback("\[include\] ?([^\[]*) ?\[/include\]",inc('\\1'), $zzchaine);
return $zzchaine;
}Puis....
<?php $moncontenue = sansaccent($contenue); echo Remplace($contenue); ?>
Me donne comme résultat...
Fatal error: Call to undefined function: inc() in /home.31/r/e/f/*****.php on line 4
Hors ligne
Il faut mètre la fonction inc aussi ^^
function inc($fichier)
{
ob_start();
include($fichier);
$Contenu = ob_get_contents();
ob_end_clean();
return $Contenu;
}Hors ligne
^^ ... j'y comprend kedal à ton code lol !
$fichier et $Contenu correspond à quoi ?
<?php
function inc($fichier)
{
ob_start();
include($fichier);
$Contenu = ob_get_contents();
ob_end_clean();
return $Contenu;
}
function Remplace($zzchaine)
{
$zzchaine = preg_replace_callback("\[include\] ?([^\[]*) ?\[/include\]",inc('\\1'), $zzchaine);
return $zzchaine;
}
$moncontenue = sansaccent($contenue);
echo Remplace($contenue);
?>Pour moi, $contenue contient entre autre [include]includpub.php[/include] .
Je ne pige vraiment pas sur ce coup la !
Hors ligne
Pour faire simple:
Normalement la fonction Remplace va chercher le morceau de chaine comprise entre [include] et [/include] et exécuter la fonction inc avec comme paramètre ce morceau de chaine.
Dans la fonction inc j'utilise les fonctions de bufferisations de sortie afin de récupérer le contenu du fichier à inclure dans une variable que je retourne afin qu'il soit remplacer dans l'expression régulière.
Hors ligne
A tes souhaits
... on est rentré dans le paranormal la
.
Bon sérieux, c'est pas le manque d'essayer mais la je suis hors jeux
.
Je ne sais pas si le code que je t'ai posté juste au dessus est correcte .. en tout il me retourne des erreurs en pagaille ...
Pour faire encore plus simple .. si j'ai merdé, peut tu me remettre tout sa dans l'ordre sinon ce poste va être interminable
.
Hors ligne