PDA

Voir la version complète : [php] Problème Divers Et Variés...


Astro-Pépito
05/07/2005, 20h13
Hello tous !

J'ai quelques problèmes avec mon site, j'espère que vous pourrez m'aider !


- J'ai eu un problème avec EasyPHP. En fait, pour pouvoir voir le site en temps réel sous EasyPHP, j'ai dû créer un dossier spécial. Pourquoi ? Parce que mon site est sur une partition (M:), et quand je rentre ce chemin-là dans l'installation d'un site sous EasyPHP, ben ça ne marche pas car il n'y a pas de dossier. Je sais pas pourquoi, mais bon... Donc je développe sous M:, et j'enregistre là aussi. Mais comme j'affiche M:\EasyPHP, je dois faire un copier-coller des pages modifiées... Chose que j'avais oubliée ! Donc je pouvais pas avoir le bon résultat sous les yeux, ce qui fait que je pouvais chercher ! ^^
Vous n'auriez pas un remède pour que je puisse afficher M: directement ? Ca m'éviterai bien des soucis :p


- J'ai plusieurs catégories dans mon site, dont une avec des sous-catégories. Je voudrais pouvoir tout mettre à jour depuis le Net via un formulaire, en indiquant dans un champ la sous-cat de la page ajoutée (ou modifiée), et que, lorsqu'on affiche cette page, il y ait en haut (au-dessus du titre) le chemin "Accueil > Cat > Sous-cat" avec les liens correspondants. En fait, si vous n'avez pas compris, regardez l'ancienne version de mon site, catégorie Observer le ciel, et naviguez. Au-dessus du titre, dans la p'tite barre, il y a ce que je recherche, mais en automatique ;) Ou encore sur les forums IPB, en haut.


- Même question mais cette fois-ci pour les liens "Précédent" et "Suivant" en haut et en bas de page. (Cf. mon site sur les mêmes pages)


- Je vais insérer des smileys à certains endroits de mon site. Si j'ai par exemple le
même à afficher avec plusieurs raccourcis différents (:) et :-) par ex), il faut que je retape le chemin à chaque fois. Il n'y a pas un "raccourci" (Regex ?) ?


-$reponse = mysql_query('SELECT posteur,titre,contenu,timestamp,timestamp_modifica tion FROM `news` ORDER BY timestamp DESC');
Est-ce que je mets des `` (accents graves) pour tout ce qui est en minuscules ? Je dois ou je peux ?


- Que mon champ id de la BDD soit en Index ou en Primaire, ça change quoi ? C'est crucial ou on s'en tape ?


- Est-ce que je peux mettre des retours à la ligne dans un echo, ou une variable ? Par exemple, pour afficher un texte assez long contenant du PHP, pour marquer les retours à la ligne. Je pense que c'est interdit, mais ça m'arrangerai bien ^^.


- Est-il possible de mettre un isset($_POST) au lieu de mettre des isset() pour chaque variable à vérifier ?


- <?php
if (isset($_GET['action']) && $_GET['action'] == 'liste')
{
if (isset($_POST['posteur']) && isset ($_POST['titre']) &&

isset($_POST['contenu']))
{
if (!empty($_POST['posteur']) && !empty($_POST['titre']) &&

!empty($_POST['contenu']))
{
$id = $_POST['id'];
$posteur = $_POST['posteur'];
$titre = $_POST['titre'];
$contenu = $_POST['contenu'];
$timestamp = time();

if ($id == 0)
{
mysql_query('INSERT INTO `news`

VALUES(``,`$posteur`,`$titre`,`$contenu`,`$timesta mp`,``)');
}
else
{
mysql_query('UPDATE `news` SET

posteur=`$posteur`,titre=`$titre`,contenu=`$conten u`,timestampModification=`$timestamp`

WHERE id=`$id`');
}
}
}

if (isset($_GET['supprimer']))
{
$id = $_GET['supprimer'];
mysql_query('DELETE FROM `news` WHERE id=`$id`');
}
?>
<table>
<caption>Liste des news</caption>

<thead>
<th>Posteur</th>
<th>Titre</th>
<th>Date</th>
<th>Modication</th>
<th colspan="2">Actions</th>
</thead>

<tfoot>
<th>Posteur</th>
<th>Titre</th>
<th>Date</th>
<th>Modication</th>
<th colspan="2">Actions</th>
</tfoot>

<tbody>
<?php
$reponse = mysql_query('SELECT

id,posteur,titre,contenu,timestamp,timestamp_modif ication FROM `news` ORDER BY timestamp

DESC');

while ($affichage = mysql_fetch_array($reponse))
{
$id = $affichage['id'];
$posteur = $affichage['posteur'];
$titre = $affichage['titre'];
$contenu = nl2br($affichage['contenu']);
$timestamp = $affichage['timestamp'];
$date = date('d/m/Y',$timestamp);
$heure = date('H\hi',$timestamp);
$timestampModification = $affichage['timestamp_modification'];
$dateModification = date('d/m/Y',$timestampModification);
$heureModification = date('H\hi',$timestampModification);

echo '<tr>';
echo '<td>'.$posteur.'</td>';
echo '<td>'.$titre.'</td>';
echo '<td>'.$date.', '.$heure.'</td>';
echo '<td>'.$dateModification.', '.$heureModification.'</td>';
echo '<td><a href="index.php?page=accueil&amp;modifier='.$id.'"

title="Modifier">Modifier</a></td>';
echo '<td><a href="index.php?page=accueil&amp;supprimer='.$id.'"

title="Supprimer">Supprimer</a></td>';
echo '</tr>';
}
?>
</tbody>
</table>
<?php
}

elseif (isset($_GET['rediger']))
{
if (isset($_GET['modifier']))
{
$id = $_GET['modifier'];
$reponse = mysql_query('SELECT posteur,titre,contenu FROM news

WHERE id=`$id`');
$affichage = mysql_fetch_array($reponse);
$posteur = $affichage['posteur'];
$titre = $affichage['titre'];
$contenu = $affichage['contenu'];
}

else
{
$id = 0;
}
?>
<form method="post">
<p>
<label>Posteur : <input type="text" name="posteur" value="<?php echo

@$posteur; ?>" tabindex="1" /></label>
</p>

<p>
<label>Titre : <input type="text" name="titre" value="<?php echo @$titre;

?>" tabindex="2" /></label>
</p>

<p>
<label>Contenu :<br />
<textarea name="contenu" rows="8" cols="50" tabindex="3"><?php echo

@$contenu; ?></textarea></label>
</p>

<p>
<input type="submit" value="Poster la news" tabindex="4" /> <input

type="reset" value="Tout effacer" tabindex="5" />
<input type="hidden" name="id" value="<?php echo @$id; ?>" />
</p>
</form>
<?php
}

else
{
echo '<h1>News</h1>';

$reponse = mysql_query('SELECT

posteur,titre,contenu,timestamp,timestamp_modifica tion FROM `news` ORDER BY timestamp

DESC');

while ($affichage = mysql_fetch_array($reponse))
{
echo '<h2>'.$titre.'</h2>';
echo '<p>News du '.$date.' à '.$heure.', par '.$posteur.' :<br

/>';
echo $contenu.'</p>';
echo '<p>Dernière modification le '.$dateModification.' à

'.$heureModification.'.</p>';
}
}
?>
J'ai mis tout ce qui concerne mes news sur la même page (admin + public).
En fait je voudrais savoir quel lien je dois mettre pour afficher la liste de news et aussi les liens à mettre pour modifier ou supprimer les news.
J'ai tenté index.php?page=accueil&action=liste mais ça ne trouve pas...


Merci d'avance ;)

Astro-Pépito

Edit : Et hop un gros edit :p

Astro-Pépito
07/07/2005, 21h23
Encore moi ^^


- Concernant la possibilité de faire un isset($_POST), j'ai vu ça sur phpDeb donc apparemment ça existe ! :)
Ca marche aussi pour empty($_POST) pour vérifier tous les champs d'un coup alors ?


- Je vais recommencer je pense le script de news d'au-dessus, mais je voudrais être bien sûr qu'il est possible de laisser des portions de code accessibles à l'admin. Par exemple avec un if ($_SESSION['grade'] == 'admin'), ça marche ?


Merchi d'avanche :)

roninfight
26/07/2006, 03h01
Je te recommande le site du zéro, section PHP ou ils traitent un peu de la fonction isset dans un TD de la partie II si ma mémoire est bonne. TU trouveras peut-être ce que tu cherches là-bas ;)

Astro-Pépito
26/07/2006, 16h44
Oh le joli déterrage :p

Ces questions sont obsolètes maintenant, mais merci de la réponse ;)


Concernant le SdZ, t'en fais pas, je suis le 1er à le prôner comme référence, et j'y pose déjà toutes mes questions.
Mais je répète : le SdZ c'est bieng, allaÿ-zy ! :)