moogli

  • Signature
    Il en faut peu pour être heureux !!!!!
  • Site web
  • Nombre de sujets
    33
  • Nombre de messages
    1 802
  • Nombre de commentaires
    6
  • Nombre de news
    Aucune
  • Niveau en PHP
    Excellent

Ses derniers messages sur les forums

moogli
le 12/02/2005 à 16:18
Petit prob de fonction !
i M@n => no souci, c'été pour mettre en avant le copier collé néfaste mais bon c'est passé a la trappe :) m'explique mal :)

Pour le reste, si la requete ne retourne aucun résultat le reste ne changera rien !

essai ta requete dans phpmyadmin et regarde ce qu'il dis !

essai de faire ta requete sans le where ! ....

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 12/02/2005 à 15:27
session
me suis core fait grillé :)

de rien pour l'aide smiley


Bon courage :)

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 12/02/2005 à 15:18
session
Salut ,

tu veut faire une sorte de gallerie avec précédent et suivant !

Il faut récupérer l'auteur et la clef primaire du livre (je l'appel id);

les liens on cette forme la la_page.php?action=avant&&auteur=xxxxx&&id=xx ou la_page.php?action=apres&&auteur=xxxxxx&&id=xx.
Dans les 2 cas id est la clef primaire les tables !

Pour ce qui est du code php:

<?php
//on test si $_GET['auteur'] existe !
if (isset($_GET['auteur'])) {
$auteur = $_GET['auteur'];
}
else {
//erreur fin du script
exit();
}

//On test si $_GET['action'] et $_GET['id'] existe (cas d'un clique sur précédent ou suivant !
if (isset($_GET['action']) && isset ($_GET['id'])) {
$id = $_GET['id'];
// On a l'id et l'action a faire,
if ($_GET['action'] == 'avant') {
$sql = 'SELECT `info` FROM table WHERE auteur = "'.$auteur.'" && id < "'.$id.'" ORDER BY id ASC LIMIT 1';
}
elseif ($_GET['action'] == 'apres') {
$sql = 'SELECT `info` FROM table WHERE auteur = "'.$auteur.'" && id > "'.$id.'" ORDER BY id ASC LIMIT 1';
}
else {
//Erreur cas impossible arret du script !
exit();
}

}
else {
// car par défaut on arrive qu'avec le nom de l'auteur !
$sql = 'select `infos du livre` from table WHERE auteur = "'.$auteur.'" ORDER BY id ASC LIMIT 1';
}
$req = mysql_query($sql) or die ('Erreur SQL<br/>'.$sql.'<br/>'.mysql_error());
//ensuite affichage des infos du livre !
?>


Pour éviter les erreurs, tu peut aussi tester si tu est sur la 1er page ( cas ou id et action ne sont pas dans l'url ! (attention on peut revenir en arriere et la tu peut etre sur la 1er page avec ces variables .... !)

Tu peut aussi le faire avec un tableau, dans ce cas tu fait une requete sql avec tout les livres !

tu récupère la clef du tableau et tu passe par l'url le nom de l'auteur et la valeur de la clef !

Fait attention au passage par url, si des nom d'auteur contiennent des caractères spéciaux, telque quote (simple et double) les accents .... utilise dans ce cas urlencode ou rawurldecode. Pour récupérer la valeur initiale urldecode et rawurlencode !


Voila j'espère que tu a compris ce que j'ai voulue dire smiley

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 12/02/2005 à 12:33
Petit prob de fonction !
lu,

keitarosan => je tout a fait d'accord avec toi :)

Je me permet de me citer smiley

Je suis curieux de savoir combien de tuple retourne ta requete, si le résultat est zéro c'est que ta requete est foireuse !


Donc faudrait vérifier ton script qui récupère l'id !
y a pas un htmlentities qui traine la dessus ?

@+
Il en faut peu pour être heureux !!!!!
moogli
le 11/02/2005 à 15:39
Petit truc sur les _blank !
Ben tu fais comme tu veux , globule a fait sont site valide xhtml et c'est pas une mince affaire je t'assure !

quand a Js y il a par exemple des admin système qui le désactive (sécurité ?) j'ai eu le cas a la fac et dans ce cas c lourd quand un site doit avoir js pour fonctionner !

Sa m'arrive de désactiver JS pour virer des trucs genre pop up ...
ensuite certain anti pop up pourrait prendre sa pour la pub ....

Bref le débat est long et perso je pense que chacun fait comme veut, et penser un truc compatible au plus grand nombre n'est forcément simple !


smiley
Il en faut peu pour être heureux !!!!!
moogli
le 11/02/2005 à 15:31
Petit prob de fonction !
SAlut,

dans le code d'Im@n ilmanque des choses !

<?

if (isset($_GET['id'])) $id = $_GET['id']; else $id = "";
// $id sera toujours définit donc le test a la fin ne sert a rien !!!

connect($nw);

$sql2 = 'SELECT auteur, FROM site_news WHERE id="'.$id.'"';
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
$nb = mysql_num_rows($req2);
echo 'il y a ',$nb,' tuple retournés par la requete <br/>',$sql2,'<br/>';
$data = mysql_fetch_array($req2);
$pseudo = $data['auteur'];

mysql_close();
if (((isset($pseudo)) && (!empty($pseudo)))
{ // en théorie $pseudo est toujours définit !
echo $pseudo.'pseudo existe !';
}
else
{
echo 'pseudo n\'exsite pas !';
}
if (((isset($auteur)) && (!empty($auteur)))
{//sa je vois pas d'ou sa vient, a part avec register gobal=On !
echo $auteur.'auteur existe !';
}
else
{
echo 'auteur n\'est pas definie !';
}
//Le test ici n'est valable que pour le empty puisque $id est définit en haut du script !
if (((isset($id)) && (!empty($id)))
{
echo $id.'id existe !';
}
else
{
echo 'id n\'est pas definie !';
}

echo $id;

incre_hit("nb_news",$pseudo,"moins");

?>


Je suis curieux de savoir combien de tuple retourne ta requete, si le résultat est zéro c'est ta requete est foireuse !

c nivo debutant mais personne arrive a trouver l'erreur => tu l'a trouvé toi l'erreur ? :)

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 10/02/2005 à 19:50
Petit truc sur les _blank !
Salut,

juste histoire de contrarier quelqu'un, j'ai récupéré sa dans les sources de Globule du temp de la V2 !

function openwin (url, w, h) {
window.open(url,'Smile','toolbar=0,location=0,directories=0,status=0,scrollbars=1,
resizable=0,copyhistory=0,menuBar=0,width='+w+',height='+h+',top=50,left=50');
return(false);}


Tout le monde remarquera qu'i s'agit de window.open et non window.opener qui permet d'adresser la fenetre mère (celle a ouvert celle ou tuest smiley).

Ensuuit j'ai deja posé la question a globule qui ma répondu il me semble que sa devait pas etre bon pour je ne sais pu quel raison.
La seul que je vois, c'est que des qu'un gars stop JS, le site est devenu inutilsable donc direction /dev/null smiley

en général open sert a ouvrir des pop-up qui aide a la navigation (affichage des smilies, bb-code ..).

En regardant les sources du site on trouve ceci

<a href="http://www.lephpfacile.com/includes/smiley.php" onclick="AfficheSmiley('http://www.lephpfacile.com/includes/smiley.php'); return(false);">Les smileys</a><a href="http://www.lephpfacile.com/includes/bbcode.php" onclick="AfficheBBcode('http://www.lephpfacile.com/includes/bbcode.php'); return(false);">Le BB-code</a>

Donc une fonction JS qui, je n'en doute pas, utilise window.open smiley

Bref post faux et inutile !

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 10/02/2005 à 19:41
problème de session
Salut,

C'est des infos de la session qui sont modifier ?
Dans ce cas vérifie si la config de ton server est register_globals=On. si c'est cas c'est que utilise un variable comme $login et $_SESSION['login'] qui sont les memes dans le cas d'une config register global=On. Ceci est valable pour toute les variables de session ainsi que celle issu de GET, POST et COOKIE ...

La solution est de faire attention au nom des variable que tu utlise et ne pas utiliser une variable qui pourait exiter dnas une session, un cookie, une formulaire ....


smiley
Il en faut peu pour être heureux !!!!!
moogli
le 10/02/2005 à 17:53
date mysql
Salut,

Utilise mysql_query(requete) or die ('Erreur SQL : '.$requete.'<br/>'.mysql_error());


sa va te donner l'erreur associr a la requete, s'il y en a une !


@+
Il en faut peu pour être heureux !!!!!
moogli
le 10/02/2005 à 16:08
No Database Selected... help!
Salut,

tu a du oublier le mysql_select_db dans la seconde page !

sans code je ne peut pas plus t'aider !


@+
Il en faut peu pour être heureux !!!!!
LoadingChargement en cours