#1776 Le 02/08/2010, à 02:50
- bloublou
Re : /* Topic des codeurs couche-tard [1] */
Putain, je viens de voir que y'avait un système de points !
Hors ligne
#1777 Le 02/08/2010, à 03:06
- :dam: tob☢B tit'Р
Re : /* Topic des codeurs couche-tard [1] */
Hors ligne
#1778 Le 02/08/2010, à 03:07
- \\Ouranos//
Re : /* Topic des codeurs couche-tard [1] */
C-C-C-COMBO BREAKER !
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#1779 Le 02/08/2010, à 03:09
- nesthib
Re : /* Topic des codeurs couche-tard [1] */
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#1780 Le 02/08/2010, à 03:23
- Sir Na Kraïou
Re : /* Topic des codeurs couche-tard [1] */
Descendant de Charlemagne et de LUCA.
Bleu, en l'hommage d'un truc bleu. :'(
C'est pas du bleu.
C'est pas le lac de Genève, c'est le Lac Léman.
Hors ligne
#1781 Le 02/08/2010, à 03:28
- Morgiver
Re : /* Topic des codeurs couche-tard [1] */
M'enmerdais alors, j'viens de pondre ça :
<?
include "../include/config.php";
$a = $_GET['a'];
$i = $_GET['i'];
switch ($a)
{
//Poster un article
case 1:
?>
<form action="admin.php?a=3&i=1" method="POST">
<fieldset>
<label>Poster un article</label>
<input type="text" name="titre">
<input type="textarea" col="100" span="100" name="contenu">
</fieldset>
</form>
<?
break;
//Modifier un article
case 2:
$id = $_GET['id'];
$requete = $bdd->query('SELECT titre, contenu FROM article WHERE id = :id');
$requete->execute(array('id' => $id));
$donnees = $requete->fetch();
$titre = $donnees['titre'];
$contenu = $donnees['contenu'];
?>
<form action="admin.php?a=3&i=2" method="POST">
<fieldset>
<label>Modifier un article</label>
<input type="text" name="titre" value="<? $titre ?>" />
<input type="textarea" col="100" span="100" name="contenu" value="<? $contenu ?>" />
<input type="HIDDEN" name="id" value="<? $id ?>">
</fieldset>
</form>
<?
$requete->closeCursor();
break;
//Traitement des données des articles ajout/modification/suppression
case 3:
if($i == 1)
{
//On post un article
$titre = $_POST['titre'];
$contenu = $_POST['contenu'];
$requete = $bdd->query('INSERT INTO article (titre, contenu) VALUES(:titre, :contenu)');
$requete->execute(array(
'titre' => $titre,
'contenu' => $contenu));
echo "Article ajouté ! <a href=\"admin.php\">Cliquez ici</a> pour revenir à la page principale";
$requete->closeCursor();
}
if($i == 2)
{
//On modifie un article
$id = $_POST['id'];
$titre = $_POST['titre'];
$contenu = $_POST['contenu'];
$requete = $bdd->query('UPDATE article SET titre = :titre, contenu = :contenu WHERE id = :id ');
$requete->execute(array(
'titre' => $titre,
'contenu' => $contenu,
'id' => $id));
echo "Article modifié !<a href=\"admin.php\">Cliquez ici</a> pour revenir à la page principale.";
$requete->closeCursor();
}
if($i == 3)
{
//On supprime un article et ses commentaires.
//1. On supprime les commentaires lié à l'article.
$id = $_GET['id'];
$requete = $bdd->query('DELETE * FROM commentaire WHERE id_article = :id');
$requete->execute(array('id' => $id));
//2. On supprime l'article.
$requete = $bdd->query('DELETE * FROM article WHERE id = :id');
$requete->execute(array('id' => $id));
echo "L'article et ses commentaires ont bien été supprimés ! <a href=\"admin.php\">Cliquez ici</a> pour revenir à la page principale."
$requete->closeCursor();
}
else
{
echo "Vous n'avez rien à faire ici.";
}
break;
//Lister les articles
case 4:
$requete = $bdd->query('SELECT id, titre FROM article ORDER BY id DESC');
$donnees = $requete->fetch();
echo "<table>";
while ($donnees)
{
echo "<tr><td>". $donnees['id'] ."</td>
<td>". $donnees['titre'] ."</td>
<td><a href=\"admin.php?a=3&i=3&id=". $donnees['id'] ."\">Supprimer</a></td>
<td><a href=\"admin.php?a=3&i=2&id=". $donnees['id'] ."\">Modifier</a></td>
<td><a href=\"admin.php?a=5&id=". $donnees['id'] ."\">Moderer</a></td></tr>";
}
echo "</table>";
$requete->closeCursor();
break;
//Voir un article et ses commentaires
case 5:
$id = $_GET['id'];
$requete = $bdd->query('SELECT titre, contenu FROM article WHERE id = :id ');
$requete->execute(array('id' => $id));
$donnees = $requete->fetch();
$titre = htmlspecialchars($donnees['titre']);
$contenu = htmlspecialchars($donnees['contenu']);
echo "<fieldset />";
echo "<label>". $titre ."</label>";
echo $contenu ;
echo "<fieldset />";
$requete = $bdd->query('SELECT id, auteur, contenu FROM commentaire WHERE id_article = :id');
$requete->execute(array('id' => $id));
$donnees = $requete->fetch();
while($donnees)
{
$id = $donnees['id'];
$auteur = htmlspecialchars($donnees['auteur']);
$contenu = htmlspecialchars($donnees['contenu']);
echo "<fieldset>";
echo "<label>". $auteur ." a dit :</label>";
echo $contenu;
echo "<a href=\"admin.php?a=6&id=". $id ."\>Supprimer le commentaire ?</a>";
echo "</fieldset>";
}
$requete->closeCursor();
break;
//Supprimer un commentaire
case 6:
$id = $_GET['id'];
$requete = $bdd->query('DELETE * FROM commentaire WHERE id = :id');
$requete->execute(array('id' => $id));
echo "Le commentaire à été supprimer.";
echo "<a href=\"admin.php\">Cliquez ici</a> pour retourner au menu de départ";
$requete->closeCursor();
break;
//Aucun choix n'est fait, on affiche la page d'accueil d'admin
default:
echo "Que voulez-vous faire ?";
echo "<a href=\"admin.php&a=1\">Poster un nouvel article ?</a>";
echo "<a href=\"admin.php&a=4\">Voir la liste des articles ?</a>";
echo "<a href=\"../index.php\">Retourner sur le blog ?</a>";
break;
}
?>
C'est un panneau d'administration minimal pour un système de blog ou de news.
Vous en pensez quoi ? des trucs à modifier ? à coder autrement ?
Dernière modification par Morgiver (Le 02/08/2010, à 03:32)
Hors ligne
#1782 Le 02/08/2010, à 09:14
- tshirtman
Re : /* Topic des codeurs couche-tard [1] */
http://adresse_de_ton_truc/admin.php?i=1;drop table article
http://adresse_de_ton_truc/admin.php?a=vardump($bdd);
enfin j'ai pas testé, c'est pas ma spécialité, mais il me semble que ce genre de trucs va marcher…
Dernière modification par tshirtman (Le 02/08/2010, à 09:18)
Hors ligne
#1783 Le 02/08/2010, à 10:41
- Morgiver
Re : /* Topic des codeurs couche-tard [1] */
Arf, ca fait presque 24h que j'ai pas dormi.
Tentative de remettre tout ça en ordre, genre pouvoir aller me coucher vers 21h sans trop de problème xD
Effectivement j'ai oublier de protégé les variable, j'crois qu'un htmlspecialchars ça suffit, non ?
La page admin doit de toute façon etre protégée avec un .htaccess, dans sont dossier.
Enfin bon, j'pourrais te confirmer ça lorsque j'aurais enfin trouver la solution à mon problème majeur, pour l'instant mes pages PHP avec mon apache, c'est des pages blanches...
Hors ligne
#1784 Le 02/08/2010, à 10:43
- kamui57
Re : /* Topic des codeurs couche-tard [1] */
Enfin bon, j'pourrais te confirmer ça lorsque j'aurais enfin trouver la solution à mon problème majeur, pour l'instant mes pages PHP avec mon apache, c'est des pages blanches...
Des fois j'ai eu ça j'avais oublié un ; à la fin d'une instruction
ou en mettant ça au début ça t'affichera les erreurs php
ini_set('display_errors', 1);
Dernière modification par kamui57 (Le 02/08/2010, à 11:09)
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas (proverbe indien)
Toshiba Satellite L655 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
Toshiba Satellite M30 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
https://help.ubuntu.com/community/Pastebinit pour poster du texte sur internet en console
Hors ligne
#1785 Le 02/08/2010, à 11:24
- Morgiver
Re : /* Topic des codeurs couche-tard [1] */
Ouai effectivement, j'avais oublier de configurer php.ini le Display_error était sur Off
Facile pour trouver des erreur dans ces cas là xD
J'ai donc pu observer un peu les quelques petites erreur, bidouillé deux trois trucs et voilà ce que ca donne :
Index.php
<?php
//Inclusion du fichier config, nécéssaire pour la connexion à la base de données
include "include/config.php";
//On récupère a, qui est la variable qui nous guidera dans les conditions
if(empty($_GET['a']))
{
$a = NULL;
}
else
{
$a = htmlspecialchars($_GET['a']);
}
if($a == 1)
{
//Si a = 1, c'est qu'on veut afficher un article et ses commentaires
//1. On charge l'article, en ayant pris soin de récupéré son id.
$id = htmlspecialchars($_GET['id']);
$requete = $bdd->query('SELECT * FROM article WHERE id = :id');
$requete->execute(array('id' => $id));
$donnees = $requete->fetch();
$titre = htmlspecialchars($donnees['titre']);
$contenu = nl2br(htmlspecialchars($donnees['contenu']));
echo "<fieldset>";
echo "<label>Titre :". $titre ."</label>";
echo $contenu ;
echo "</fieldset>";
//2. On récupère les commentaires lié à l'id de l'article précédemment charger.
$requete = $bdd->query('SELECT * FROM commentaire WHERE id_article = :id');
$requete->execute(array('id' => $id));
$donnees = $requete->fetch();
while ($donnees)
{
$auteur = htmlspecialchars($donnees['auteur']);
$contenu = nl2br(htmlspecialchars($donnees['contenu']));
echo "<fieldset>";
echo "<label>". $auteur ." à dit :</label>";
echo $contenu ;
echo "</fieldset>";
}
$requete->closeCursor();
}
if($a == 2)
{
//Si a = 2, c'est qu'on veut poster un nouveau commentaire, on affiche alors un formulaire.
//L'id est transféré au formulaire et on le retransferera directement au traitement des donnnées
//pour lié le commentaire à l'article dans la base de données avec le champ id_article.
$id = htmlspecialchars($_GET['id']);
?>
<form action="index.php?a=3&id=<? $id ?>" method="POST" />
<fieldset>
<label>Poster un commentaire :</label>
Auteur : <input type="text" name="auteur" /><br />
Contenu :<br />
<textarea name="contenu" id="contenu" row="20" cols="50"></textarea><br />
<input type="submit" value="Poster" />
</fieldset>
</form>
<?
}
if($a == 3)
{
//Si a = 3, on traîte les données reçues.
$id = htmlspecialchars($_POST['id']);
$auteur = htmlspecialchars($_POST['auteur']);
$contenu = htmlspecialchars($_POST['contenu']);
$requete = $bdd->query('INSERT INTO commentaire (auteur, contenu, id_article) VALUES (:auteur, :contenu, :id_article) ');
$requete->execute(array(
'auteur' => $auteur,
'contenu' => $contenu,
'id_article' => $id));
echo "Pour revenir sur le message : <a href=\"index.php?a=1&id=". $id ."\">Cliquez ici</a>";
echo "Pour revenir sur la page principale : <a href=\"index.php\">Cliquez ici</a>";
}
else
{
//Si a n'a pas de valeur, alors on charge les articles.
$requete = $bdd->query('SELECT * FROM article ORDER BY id DESC Limit 0,50');
$donnees = $requete->fetch();
while ($donnees)
{
$id = htmlspecialchars($donnees['id']);
$titre = htmlspecialchars($donnees['titre']);
$contenu = nl2br(htmlspecialchars($donnees['contenu']));
echo "<fieldset>";
echo "<label>Titre :". $titre ."</label>";
echo $contenu ;
echo "<a href=\"index.php?a=1&id=". $id ."\">Voir les commentaires</a>";
echo "<a href=\"index.php?a=2&id=".$id ."\">Ajouter un commentaire</a>";
echo "</fieldset>";
}
$requete->closeCursor();
}
?>
Admin.php
<?php
include "../include/config.php";
if(empty($_GET['a']))
{
$a = NULL;
}
else
{
$a = htmlspecialchars($_GET['a']);
}
if(empty($_GET['i']))
{
$i = NULL;
}
else
{
$i = htmlspecialchars($_GET['i']);
}
switch ($a)
{
//Poster un article
case 1:
?>
<form action="admin.php?a=3&i=1" method="POST">
<fieldset>
<label>Poster un article</label><br />
Le Titre : <input type="text" name="titre" /><br />
Le contenu :<br />
<textarea name="contenu" id="contenu" row="20" cols="50"></textarea><br />
<input type="submit" value="Poster" /><br />
</fieldset>
</form>
<?
break;
//Modifier un article
case 2:
$id = htmlspecialchars($_GET['id']);
$requete = $bdd->query('SELECT titre, contenu FROM article WHERE id = :id');
$requete->execute(array('id' => $id));
$donnees = $requete->fetch();
$titre = htmlspecialchars($donnees['titre']);
$contenu = nl2br(htmlspecialchars($donnees['contenu']));
?>
<form action="admin.php?a=3&i=2" method="POST">
<fieldset>
<label>Modifier un article</label>
Le Titre <input type="text" name="titre" value="<? $titre ?>" /><br />
Le Contenu :<br />
<textarea name="contenu" id="contenu" row="20" cols="50"><? $contenu ?></textarea><br />
<input type="submit" value="Modifier" /><br />
<input type="HIDDEN" name="id" value="<? $id ?>">
</fieldset>
</form>
<?
$requete->closeCursor();
break;
//Traitement des données des articles ajout/modification/suppression
case 3:
if($i == 1)
{
//On post un article
$titre = htmlspecialchars($_POST['titre']);
$contenu = htmlspecialchars($_POST['contenu']);
$requete = $bdd->query('INSERT INTO article (titre, contenu) VALUES(:titre, :contenu)');
$requete->execute(array(
'titre' => $titre,
'contenu' => $contenu));
echo "Article ajouté ! <a href=\"admin.php\">Cliquez ici</a> pour revenir à la page principale";
$requete->closeCursor();
}
if($i == 2)
{
//On modifie un article
$id = htmlspecialchars($_POST['id']);
$titre = htmlspecialchars($_POST['titre']);
$contenu = htmlspecialchars($_POST['contenu']);
$requete = $bdd->query('UPDATE article SET titre = :titre, contenu = :contenu WHERE id = :id ');
$requete->execute(array(
'titre' => $titre,
'contenu' => $contenu,
'id' => $id));
echo "Article modifié !<a href=\"admin.php\">Cliquez ici</a> pour revenir à la page principale.";
$requete->closeCursor();
}
if($i == 3)
{
//On supprime un article et ses commentaires.
//1. On supprime les commentaires lié à l'article.
$id = htmlspecialchars($_GET['id']);
$requete = $bdd->query('DELETE * FROM commentaire WHERE id_article = :id');
$requete->execute(array('id' => $id));
//2. On supprime l'article.
$requete = $bdd->query('DELETE * FROM article WHERE id = :id');
$requete->execute(array('id' => $id));
echo "L'article et ses commentaires ont bien été supprimés ! <a href=\"admin.php\">Cliquez ici</a> pour revenir à la page principale.";
$requete->closeCursor();
}
else
{
echo "Vous n'avez rien à faire ici.";
}
break;
//Lister les articles
case 4:
$requete = $bdd->query('SELECT id, titre FROM article ORDER BY id DESC');
$donnees = $requete->fetch();
echo "<table>";
while ($donnees)
{
$id = htmlspecialchars($donnees['id']);
$titre = htmlspecialchars($donnees['titre']);
echo "<tr><td>". $id ."</td>
<td>". $titre ."</td>
<td><a href=\"admin.php?a=3&i=3&id=". $id ."\">Supprimer</a></td>
<td><a href=\"admin.php?a=3&i=2&id=". $id ."\">Modifier</a></td>
<td><a href=\"admin.php?a=5&id=". $id ."\">Moderer</a></td></tr>";
}
echo "</table>";
$requete->closeCursor();
break;
//Voir un article et ses commentaires
case 5:
$id = htmlspecialchars($_GET['id']);
$requete = $bdd->query('SELECT titre, contenu FROM article WHERE id = :id ');
$requete->execute(array('id' => $id));
$donnees = $requete->fetch();
$titre = htmlspecialchars($donnees['titre']);
$contenu = nl2br(htmlspecialchars($donnees['contenu']));
echo "<fieldset />";
echo "<label>". $titre ."</label>";
echo $contenu ;
echo "<fieldset />";
$requete = $bdd->query('SELECT id, auteur, contenu FROM commentaire WHERE id_article = :id');
$requete->execute(array('id' => $id));
$donnees = $requete->fetch();
while($donnees)
{
$id = $donnees['id'];
$auteur = htmlspecialchars($donnees['auteur']);
$contenu = nl2br(htmlspecialchars($donnees['contenu']));
echo "<fieldset>";
echo "<label>". $auteur ." a dit :</label>";
echo $contenu;
echo "<a href=\"admin.php?a=6&id=". $id ."\>Supprimer le commentaire ?</a>";
echo "</fieldset>";
}
$requete->closeCursor();
break;
//Supprimer un commentaire
case 6:
$id = htmlspecialchars($_GET['id']);
$requete = $bdd->query('DELETE * FROM commentaire WHERE id = :id');
$requete->execute(array('id' => $id));
echo "Le commentaire à été supprimer.";
echo "<a href=\"admin.php\">Cliquez ici</a> pour retourner au menu de départ";
$requete->closeCursor();
break;
//Aucun choix n'est fait, on affiche la page d'accueil d'admin
default:
echo "Que voulez-vous faire ?<br />";
echo "<a href=\"admin.php?a=1\">Poster un nouvel article ?</a><br />";
echo "<a href=\"admin.php?a=4\">Voir la liste des articles ?</a><br />";
echo "<a href=\"../index.php\">Retourner sur le blog ?</a><br />";
break;
}
?>
Voilà, j'ai utiliser "htmlspecialchars" un peu partout là où je pouvais pour tenter de protégé mes variables, mais je ne sais pas si c'est suffisant.
Si quelqu'un s'y connait un peu en secu html/php qu'il n'hésite pas à me donner des conseils
Morgiver
Dernière modification par Morgiver (Le 02/08/2010, à 11:31)
Hors ligne
#1786 Le 02/08/2010, à 11:35
- tshirtman
Re : /* Topic des codeurs couche-tard [1] */
ben teste le ^^, regarde si en passant des caractères bizarre t'arrive à faire planter le code ou pas :]
Hors ligne
#1787 Le 02/08/2010, à 17:12
#1788 Le 02/08/2010, à 17:58
- tshirtman
Re : /* Topic des codeurs couche-tard [1] */
roh
/me avait écrit un programme du genre en basic quand il était en seconde…
Hors ligne
#1789 Le 02/08/2010, à 20:29
- compte supprimé
Re : /* Topic des codeurs couche-tard [1] */
Bon, j'ai complété ma doc'.
Me reste à déterminer les valeurs de base des caractéristiques, toute la partie « arithmétique »
(exemple : la vie d'un personnage = 20 + la valeur de constitution + son niveau * 2) et les seuils de passage de niveau.
Après je passe au code
(A tout les coups y'aura un sort ou une capacité over-cheat et les gens râleront quand je la nerferai )
Dernière modification par Lagierl (Le 02/08/2010, à 20:31)
#1790 Le 02/08/2010, à 23:13
- Compteur du TdCCT
Re : /* Topic des codeurs couche-tard [1] */
Scores totaux, depuis le début :
1) 904 samuncle
2) 891 nesthib
3) 847 Pylade
4) 668+5 grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
5) 559 mathieuI
6) 440 cm-t
7) 399 helly
8) 266 \\Ouranos//
9) 202 Lagierl
10) 193 gnuuat
11) 162 tshirtman
12) 127 Р'tite G☢gole :mad:
13) 121 ǤƦƯƝƬ
14) 93 petifrancais
15) 70 Kanor
16) 52 edge_one
17) 44 pierguiard
18) 37 ilagas
19) 30 keny
20) 25 GentooUser
21) 22 gulp
22) 20 Morgiver
23) 19 Le Rouge
24) 18 Ph3nix_
24) 18 xapantu
26) 15 timsy
27) 14 kouskous
28) 12 stratoboy
28) 12 sailing
30) 11 alexises
30) 11 louiz'
32) 10 CROWD
32) 10 Toineo
32) 10 NutMotion
35) 8 Mornagest
36) 7 Vista
37) 6 Zeibux
38) 4 danychou56
38) 4 Neros
38) 4 Biaise
38) 4 Le Bûcher
42) 2 SoJaS
42) 2 ceric
44) 1 pfriedK
44) 1 geenux
Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !
J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).
Hors ligne
#1791 Le 02/08/2010, à 23:14
- Compteur du TdCCT
Re : /* Topic des codeurs couche-tard [1] */
Scores de la période en cours :
1) 10 Morgiver
1) 10 nesthib
1) 10 \\Ouranos//
1) 10 Р'tite G☢gole :mad:
5) 6 mathieuI
5) 6 louiz'
7) 5 cm-t
8) 4 Lagierl
8) 4 helly
8) 4 Pylade
11) 2 xapantu
Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !
J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).
Hors ligne
#1792 Le 02/08/2010, à 23:14
- Pylades
Re : /* Topic des codeurs couche-tard [1] */
Bordel !
Il n’en a pas marre de ne pas passer ?
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#1793 Le 02/08/2010, à 23:42
- helly
Re : /* Topic des codeurs couche-tard [1] */
BN
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#1794 Le 02/08/2010, à 23:42
- bloublou
Re : /* Topic des codeurs couche-tard [1] */
Bordel !
Il n’en a pas marre de ne pas passer ?
aha.
Hors ligne
#1795 Le 03/08/2010, à 00:16
- compte supprimé
Re : /* Topic des codeurs couche-tard [1] */
Bonne nuit !
#1796 Le 03/08/2010, à 00:39
- Kanor
Re : /* Topic des codeurs couche-tard [1] */
Bonne nuit
Hors ligne
#1797 Le 03/08/2010, à 00:45
- cm-t
Re : /* Topic des codeurs couche-tard [1] */
'Nuit;
Actu Ubuntu ☺/
Pauses Ubuntu sur Paris \_< -t
[(π)] La Quadrature du net
Hors ligne
#1798 Le 03/08/2010, à 01:22
- gulp
Re : /* Topic des codeurs couche-tard [1] */
o
Hors ligne
#1799 Le 03/08/2010, à 03:04
- nesthib
Re : /* Topic des codeurs couche-tard [1] */
plop
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#1800 Le 03/08/2010, à 03:07
- Pylades
Re : /* Topic des codeurs couche-tard [1] */
plop
o/
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne