Aller au contenu

comment lier des données dans une adresse


Sujets conseillés

Posté

bonjour

j'aimerai savoir comment faire pour lier des information dans une adresse . quelque chose comme forum.php?categorie=X&action=ajouter

ben la vous me direz ben c'est comme ça qu'il faut faire oui mais en faite sa bug

en faite j'aimerai savoir dans une catégorie on puisse faire comme action ajouter un sujet

le code que j'ai créer

<a href="./forum.php?categorie=<?php { echo $_GET['categorie'];  } ?>&action=ajouter"> ajouter un sujet</a>
elseif(!empty($_GET['action']) && $_GET['action'] == 'ajouter' AND !empty($_GET['categorie']) AND is_numeric($_GET['categorie']))
{

pour tester

cliquez ici quand on clique sur ajouter un sujet cela devrai nous envoyer sur un formulaire alors que la ça nous renvoie a la liste des catégories

ps= j'ai fait exprès de choisir une catégorie :)

bonne soirée

schats

Posté (modifié)

Il faudrait que tu nous montre tout le code; ce qui semble le plus important c'est ce qu'il y'a après ta dérniere accolade et non pas la conditions en elle même (néanmoins celle-ci semble correcte) ...

Tu veux ajouter un sujet dans une catégorie, et ça ne marche pas..

Le problème pourrait plutôt se situer au niveau du script d'ajout et non pas les conditions , ni la construction du lien ..

Je ne comprends pas bien l'adresse de test que tu donne, il n'ya pas de champs à remplir pour ajouter un sujet ?

Modifié par Kent
Posté

bonjour

donc je donne se qui me semble intéressent dans le code enfin la ou je pense qu'il y a un problème :s

if(!empty($_GET['categorie']) && is_numeric($_GET['categorie']))
{
?><a href="./forum.php?categorie=<?php { echo $_GET['categorie']; } ?>&action=ajouter"> ajouter un sujet</a>
}
elseif(!empty($_GET['action']) AND $_GET['action']== 'editer' OR $_GET['action'] == 'repondre' AND is_numeric($_GET['id']))
{
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >

<head>


<title>index ----> forum --> <?php { echo $_GET['action'] ; }?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
</head>
<body>
<?php
include("menu.php");
?>
<div id="corps">
<?php
$mysql_query("SELECT * FROM reponse, sujet where sujet ='".$_GET['id']."'")or die(mysql_error());
$nom = mysql_fetch_array($pol);
?>

message<textarea name="message" value="<?php { echo $nom['message']; } ?>">
<input type="submit" value="<?php { echo $_GET['action']; } ?>">

<?php
if(!empty($_POST) ) // le form a été soumis
{
// servira à enregistrer les messages pour les erreurs rencontrées
$_POST = array_map('trim', $_POST);

$erreur = array();


if(empty($erreur) )
{

$pseudo = $_SESSION['pseudo'];



/// tout ce qui est avant c'est la vérification avnat d'enregistrer dans la table
mysql_query("INSERT INTO blog VALUES('','".$pseudo."','".$adresse."','".$categorie."','".$description."','".$email."')")or die (mysql_error());// ben l'enregistrement dans la table

{
echo 'merci d\'avoir fait confiance à nous pour faire l\'annuaire de blog du site merci de mettre un petit lien sur votre blog merci de la part de l\'équipe';
}
}
}
if( !empty($erreur) ) // Donc le formulaire a été envoyé et au moins une erreur a été rencontrée
{
// on affiche les erreurs
foreach( $erreur as $valeur )
echo $valeur . '<br>';
}





?></div>
<div id="pied_de_page">
</div>

la page que j'ai donne est en faite, comme si vous rentrer dans une catégorie et que vous voulez ajouter un sujet sauf :s ça ne me donne pas la page avec le formulaire pour ajouter un sujet c'est en faite pour sa que je vous demande sa :)

merci de me répondre

Posté

Bonjour,

Il me semble que l'erreur provient de ton "if(empty($erreur)" car tu lui as assigné la valeur d'un tableau vide ("array()"), ce qui n'est pas une valeur vide.

Je te conseillerais d'écrire :

if($erreur == array())...

Si ce n'est pas ça l'erreur, peux-tu nous dire si la section "if(empty($erreur)" s'exécute normalement ? (tu n'as qu'à y glisser un echo "coucou !"; temporaire)

Posté (modifié)

marche pas j'ai ajouter un truc dans l'array d'ailleurs je viens de voir que je me suis planter dans le copiage du code ( je ne sais pas si ça se dit désoler )

je poste le bon code



}
elseif(!empty($_GET['action']) && $_GET['action'] == 'ajouter' AND !empty($_GET['categorie']) AND is_numeric($_GET['categorie']))
{

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
<head>


<title>index ----> forum --> <?php { echo $don['categorie'];}?> --> ajouter sujet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
</head>
<body><?php
include("menu.php");
?>

<div id="corps">
<input type="text" name="titre">
<textarea name="message"></textarea>
<input type="submit" value="ajouter un sujet">


</div>
<div id="pied_de_page">
</div

ps= je garde le reste comme ça vous voyer comment est construit la page :)

Modifié par schats
Posté

Bonjour,

marche pas j'ai ajouter un truc dans l'array

Je suis peut-être mal réveillé, mais je comprends pas cette phrase. Qu'est ce qui marche pas ? Pourquoi ça marche pas ? Y a t-il un message d'erreur ou simplement la condition n'est pas reconnue ? Quel est le code que tu avais mis pour remplacer "if (empty($erreur))" ?

En tout cas tu peux aussi remplacer if (empty($erreur)) par "if (count($erreur) == 0)" ce qui veut dire "si le nombre d'éléments du tableau erreur est égal à 0".

Mais bon, on navigue un peu à l'aveugle là...

Posté (modifié)

euh marche toujours pas :)

en fait j'arrive pas a aligner deux données le nombre de la catégorie et aussi une action ajouter un sujet mais :s j'arrive pas a faire contionner ceci dans une adresse donc je demande conseil ou plutôt comment faire :)

merci de me répondre

Mais bon, on navigue un peu à l'aveugle là...

je pense que la je suis clair , non ??? ben sinon je ne sais pas comment l'expliquer

schats

Mais bon, on navigue un peu à l'aveugle là...

ah mais je ne voie pas ce que vous voulez encore :) pue être tout le code :)

Modifié par schats
Posté

Euh, après plusieurs minutes pour tenter de comprendre clairement ton problème, et regardé ton code...

1. Le code que tu as donné ne semble pas être celui de la page qui s'affiche dans ton exemple, ce qui est assez problématique. Dans la page que tu donnes, il y a :

ajouter un sujet dans la categorie

Dans le code que tu donnes, je ne trouve à aucun endroit le texte "dans la categorie"... De plus tu donnes le sujet seulement d'une page du type "action=ajouter&categorie=truc" alors que ce n'est pas la page que tu donnes, ni le lien qui est créé par ton Script.

Je crois que tu vas essayer de réexprimer clairement ton problème, avec un peu de ponctuation, un exemple valable, ce que tu aimerais avoir, ce que tu as, et surtout le bon code de la page que tu donnes.

Posté (modifié)

bon je vais expliquer d'expliquer clairement mon problème

d'abord quelque petit info a sarc

1 j'avais pensé que juste l'adresse suffisait mais il faut croire que non :s j'en suis désoler

les explication en faite quand on vas dans une catégorie les sujet sont afficher et nous pouvons ajouter un sujet ( comme c'est magic ) lol mais en faite ici quand on veu ajouter un sujet on se retrouve sur la page index la ou il y a toute les catégorie alors que ca devrai me mettre dans un formulaire ... pour a

jouter un sujet

le code intérescent


if(!empty($_GET['categorie']) && is_numeric($_GET['categorie']))// la page des liste de sujet par categorie
{
?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
<head>


<title>index ----> forum --> <?php { echo $donnees['titre'];}?> --> liste sujet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
</head>
<body>
<?php
include("menu.php");
?><div id="corps">

<?php
$sql = 'SELECT C.id AS id_categorie, description, S.id AS id_sujet, auteur, S.titre AS sujet_titre, message FROM sujet AS S
LEFT JOIN categories AS C
ON C.id= id_categorie
WHERE C.id='.$_GET['categorie'].'';
$query = mysql_query($sql) or die(mysql_error());
while ($don = mysql_fetch_array($query))
?><a href="./forum.php?action=ajouter&categorie=<?php { echo $_GET['categorie'] ; } ?>"> ajouter un sujet</a>//l'adresse qui devrai conduire a la en dessous

dans la categorie <?php { echo $don['categorie']; } ?>
<table>
<tr><td> sujet </td><td> auteur</td></tr>
<?php
{
echo '<tr><td><a href="http://spouts.goldzoneweb.info/forum.php?sujet='.$don['id_sujet'].'>'.$don['titre'].'</a><td><td>'.$don['auteur'].'</td></tr>';
}
?></table>
</div>
<div id="pied_de_page">
</div>
}
elseif(!empty($_GET['action']) && $_GET['action'] =='ajouter' AND empty($_GET['categorie']) AND is_numeric($_GET['categorie']))// la page qui devrai s'afficher pour ajouter un sujet
{

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
<head>


<title>index ----> forum --> <?php { echo $don['categorie'];}?> --> ajouter sujet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
</head>
<body><?php
include("menu.php");
?>

<div id="corps">
<input type="text" name="titre">
<textarea name="message"></textarea>
<input type="submit" value="ajouter un sujet">


</div>
<div id="pied_de_page">
</div>
<?php
}
else// la page index ou par defaut
{

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
<head>


<title>index ----> forum --> index/forum</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
</head>
<body>
<?php
include("menu.php");
?>
<div id="corps">
bonjour bienvenu cher(e) internaute<br />
<?php
$pas = mysql_query("SELECT * from categories")or die (mysql_error());
while($donnees = mysql_fetch_array($pas))

echo '<a href="http://spouts.goldzoneweb.info/forum.php?categorie='.$donnees['id'].'">'.$donnees['titre'].'</a><br />'.$donnees['description'].'<br /><br /> ';

}
?>

</div>
<div id="pied_de_page">
</div>
</body>
</html>

en espérant été assez clair sinon euh ben je ne sais plus comment expliquer désoler

schats

Modifié par schats
Posté

Schats, je veux pas me montrer méchant avec toi, mais tu as des soucis d'écriture de messages qui n'aident pas du tout la compréhension. Tu n'utilises aucune ponctuation (son inventeur risque d'en être vexé), tu fais beaucoup de fautes... Je sais que la langue française n'est pas aisée, mais il serait sympathique de faire un effort et/ou d'utiliser un correcteur de fautes avant de poster ici.

Ca ne pourra que t'aider.

De plus, tu as donné 4 fois du code, et à chaque fois le code était différent...Ca peut expliquer un peu qu'on se perde, non ?

elseif(!empty($_GET['action']) && $_GET['action'] =='ajouter' AND empty($_GET['categorie']) AND is_numeric($_GET['categorie']))

Là tu souhaites que $_GET['categorie'] soit vide, d'après ton compte, or je crois que c'est le contraire que tu veux... Ajouter donc un ! devant empty, ça aidera peut-être.

elseif(!empty($_GET['action']) && $_GET['action'] =='ajouter' AND !empty($_GET['categorie']) AND is_numeric($_GET['categorie']))

Par contre, je te préviens c'est la dernière fois que je me pencherai sur ton problème si tu ne prends pas le soin nécessaire à la rédaction de ton prochain message ;). Merci d'avance à toi...

Posté

Désoler pour l'orthographe et la grammaire.

Le problème n'as pas l'air de venir de la car la il ne changes pas de page, il reste sur la liste des sujets. Pour les tests http//spouts.goldzoneweb.info/forum.php?categorie=1 et essayer d'ajouter une catégorie. je ne voie pas dû tout d'où cela vient .

merci de m'aider

tient un post sans faute :)

schats

Posté

Mais tu essayes avec quel code là ? Tu as donné 5 codes différents depuis le début...

Dans le dernier, je t'ai dit ce qui n'allait pas, je peux pas faire mieux hein..

Posté

ben le dernier code . j'ai mit un ! avant le empty mais, ca ne fontionne pas .

je devrais peu être donner toute la page, mais bon j'ai pas trop envie car sinon ca va être très long:).

Posté

Ah je viens de comprendre.

Quand tu mets :

if (condition1)
{...}
elseif(condition2)
{...}
else
{...}

Il regarde si ta condition 1 est validée... Si elle l'est, il exécute le code, et ne teste pas le reste. Si elle ne l'est pas, il teste la condition 2... Or quand tu regardes ta condition 1, il teste juste si catégorie est vide, donc quand tu mets "nouveau sujet", vu que catégorie n'est pas vide, il exécute bien le if, et non le elseif que tu voudrais exécuter.

==> tu dois donc inverser l'ordre de tes conditions... Tester la plus contraignante au début, jusqu'à la plus "facile" à obtenir. Donc échanger dans ton programme les conditions 1 et 2, avec tout le code qui va avec bien sûr.

Posté

merci sarc la sa marche. Il faudra après que je me case la tête pour les sujet, mais comme c'est dans le même style :). sa sera simple :)

Posté

bonjour

j'ai encore un problème dan le même style, en effet ma variable action a 3 possibilter , ajouter, repondre, éditer. Le seul problème c'est que pour l'instant aucun sujte ne peu êtr créer car ......l'action= ajouter ne reagit pas.

le code


if(!empty($_GET['action']) AND $_GET['action'] == 'editer' OR $_GET['action'] == 'repondre' AND !empty($_GET['sujet']) AND is_numeric($_GET['sujet']))
{
if(empty($_SESSION['logged']) || FALSE === $_SESSION['logged'])
{
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >

<head>


<title>index ----> forum --> <?php { echo $_GET['action'] ; }?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
</head>
<body>
<?php
include("menu.php");
?>
<div id="corps">
<?php
$mysql_query("SELECT * FROM reponse, sujet where sujet ='".$_GET['id']."'")or die(mysql_error());
$nom = mysql_fetch_array($pol);
?>

message<textarea name="message" value="<?php { echo $nom['message']; } ?>">
<input type="submit" value="<?php { echo $_GET['action']; } ?>">

<?php
if(!empty($_POST) ) // le form a été soumis
{
// servira à enregistrer les messages pour les erreurs rencontrées
$_POST = array_map('trim', $_POST);

$erreur = array();

if(empty($_POST['message']))

if (empty($erreur))
{

$pseudo = $_SESSION['pseudo'];



/// tout ce qui est avant c'est la vérification avnat d'enregistrer dans la table
mysql_query("INSERT INTO blog VALUES('','".$pseudo."','".$adresse."','".$categorie."','".$description."','".$email."')")or die (mysql_error());// ben l'enregistrement dans la table

{
echo 'merci d\'avoir fait confiance à nous pour faire l\'annuaire de blog du site merci de mettre un petit lien sur votre blog merci de la part de l\'équipe';
}
}
}

if( !empty($erreur) ) // Donc le formulaire a été envoyé et au moins une erreur a été rencontrée
{
// on affiche les erreurs
foreach( $erreur as $valeur )
echo $valeur . '<br>';
}





?></div>
<div id="pied_de_page">
</div>
<?php
}
elseif(!empty($_GET['action']) AND $_GET['action'] == 'ajouter' AND !empty($_GET['categorie']) AND is_numeric($_GET['categorie']))
{

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
<head>


<title>index ----> forum --> <?php { echo $don['categorie'];}?> --> ajouter sujet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" media="screen" title="Simple" href="toutetrien.css" />
</head>
<body><?php
include("menu.php");
?>

<div id="corps">
<input type="text" name="titre"><br />
<textarea name="message"></textarea><br />
<input type="submit" value="ajouter un sujet"><br />
<?php
if(!empty($_POST) ) // le form a été soumis
{
// servira à enregistrer les messages pour les erreurs rencontrées
$_POST = array_map('trim', $_POST);

$erreur = array();
if(empty($_POST['titre']))
{
$erreur[] = 'veillez mettre un titre';
}
elseif(empty($_POST['message']))
{
$erreur[] = 'veullez mettre un message';
}
elseif(preg_match("#viagra|^cialis$|cialis</a>|levitra|<a |<img #i" , $_POST['message']) == true)
{
$erreur[] = 'arg le spam est interdit';
}


if(empty($erreur))
{

$pseudo = $_SESSION['pseudo'];
$message = mysql_escape_real($_POST['message']);
$titre = mysql_escape_real($_POST['titre']);




/// tout ce qui est avant c'est la vérification avnat d'enregistrer dans la table
mysql_query("INSERT INTO sujet VALUES('','".$pseudo."','".$message."','".$titre."','".$_GET['categorie']."','". time() ."')")or die (mysql_error());// ben l'enregistrement dans la table

{
echo 'votre sujet est bien enregistrer ';
}
}
}

if( !empty($erreur) ) // Donc le formulaire a été envoyé et au moins une erreur a été rencontrée
{
// on affiche les erreurs
foreach( $erreur as $valeur )
echo $valeur . '<br>';
}


}
else
{
echo ' vous devez être membre pour poster pour vous inscrire allez <a href="./inscriptiogeneral.php>ici</a>."';
}

?>

</div>
<div id="pied_de_page">
</div>

ps au modérateur j'aurai bien édit mais je n'ai pas trouver de bouton désoler

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...