Ses derniers messages sur les forums
Alors, petit rappel de POO :
- quand tu mets des parenthèses, cela veut dire que tu appelles une méthode de l'objet
- quand tu ne mets pas de parenthèses, tu appelles une proriété d'un objet (un attribut si tu préfères)
En regardant le code de ta classe la, "menu" est une propriété de l'objet et non une méthode.
Pour récupérer sa valeur, il te suffit donc de faire un echo de $page->menu.
De plus, ta méthode getMenu n'affiche rien, elle ne fait que "charger" la propriété menu de ton objet (donc tu ne verras rien en faisant un echo de $page->getMenu()).
Problème résolu sur IRC :
- il manquait le dossier 'sessions' (hebergement free)
- une erreur du genre "Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/101/sdb/8/8/jakarta82/inscription.php:1) in /mnt/101/sdb/8/8/jakarta82/inscription.php on line 23" : il y avait un espace à la ligne 1 de inscription.php avant le <?php
C'est un peu facile de dire "cela ne fonctionne pas".
Pourquoi cela ne fonctionne pas ? Tu as une erreur SQL ? tu as fais des echo pour débuguer ?
Quant à tes filepath, seul toi peut savoir si ils sont corrects ou non (je n'ai pas accès à ta base de données ni à ton FS, donc je ne peux rien vérifier).
Tu as plusieurs solutions :
- soit tu utilises les index
fulltext de mysql (si tes tables sont en MyISAM)
- soit tu utilises des LIKE en SQL
Par exemple : SELECT ... FROM ... WHERE champ LIKE '%toto%' OR champ LIKE '%titi%'.
Cela te récupere toutes lignes ou le champ 'champ' contient le mot 'toto' ou le mot 'titi'
Bien sur, le toto et le titi, tu peux les récupérer via un formulaire, de même que le OR (que tu peux remplacer par un AND pour faire une double condition).
Voila le principe.
Ben une erreur 500, c'est une erreur serveur, tu le dis toi même.
A priori, tu ne peux rien y faire.
Donc soit Free a un problème (ce dont je doute fortement : l'erreur 500 doit être voulue), soit Free doit avoir sa "technique maison" pour uploader des fichiers (un peu comme la fonction mail de PHP désactivée et remplacée par une fonction de Free).
Renseigne toi avec leur FAQ.
Voici un exemple que je te laisse adapter :
<?php
if (isset($_POST['tab1']) && isset($_POST['tab2']) && is_array($_POST['tab1']) && is_array($_POST['tab2'])) {
if (array_keys($_POST['tab1']) == array_keys($_POST['tab2'])) {
foreach ($_POST['tab1'] AS $key => $value) {
echo 'tab1 valeur '.$key.' : '.$value.' / tab2 valeur '.$key.' : '.$_POST['tab2'][$key].'<br />';
}
}
}
?>
<form action="blu.php" method="post">
<?php
for ($i=0; $i<3; $i++) {
?>
<input type="texte" name="tab1[]" /> <input type="texte" name="tab2[]" /><br />
<?php
}
?>
<input type="submit" name="go" value="ok" />
</form>
Et en mettant un espace après le mot clé LIMIT et ta première valeur de limite ?
Et les paramètres que tu passes à la fonction, tu les as affiché pour voir quelles sont leur valeur ?
La fonction barre_navigation est bien définie ? Si tu fais un echo dans le code de la fonction, tu le vois ?
Si tu vires tes LIMIT, tous les résultats s'affichent ?
Sinon, tu n'as aucune erreur ?
Heu, ton but, c'est de faire quoi la ?
Perso, j'ai ma petite idée (afficher les photos et les commentaires d'un hotel), mais la, ton code tel qu'il est aujourd'hui, il ne fait pas cela du tout.
Tu as plusieurs solutions :
- récupérer tout d'abord la liste des hotel, puis, pour chaque hotel (donc dans le while qui affiche les hotels) faire une requête qui va récupérer les photos
- lire le cours sur les
jointures SQL (qui est la solution la plus propre)
Le problème est que tu donnes le même attribut name à tous tes input, du coup, il ne t'en récupère qu'un.
Ce que tu peux faire, c'est utiliser un tableau pour tes attributs name.
Exemple <input type="text" name="toto[]" />, ainsi tu recupères toutes tes valeurs dans le tableau $_POST['toto'].
Naturellement, tu fois utiliser un nom de tableau différent pour chaque input.
Je te conseille d'utiliser massivement
print_r pour débuguer ce genre de code.