Comment faire une fortune sur un site ? | résolu (code complet) - PHP - Programmation
Marsh Posté le 27-05-2003 à 19:02:05
Donc en gros c'est DMC
J'ai auncune notion de PHP
Marsh Posté le 27-05-2003 à 19:18:46
et bien profites en pour apprendre!
ya bcp d'exemples sur php.net donc spa trop difficile
Marsh Posté le 27-05-2003 à 19:20:58
mais j'ai pas trop le temps
tanpis
Marsh Posté le 27-05-2003 à 19:27:17
bon, un bout de ca devrait te servir
Code :
|
comme ca à l'arrache
ca spour lire, après pour écrire
Code :
|
voilà, c'est vite fait mais en tatonant, tu devrais y arriver
Marsh Posté le 27-05-2003 à 19:36:38
Merci..
Je dois intégrer ça dans
<html>
<head>
<title>test</title>
</head>
<body>
<?php
chdir( "./content/news/" );
$fp = file("news.txt" );
$top = count($fp);
$fields = split("\t",$fp[$k]);
for ($k=$top; $k >= 0 ; $k--) { echo "${fields[$k]}<br>";
}
?>
</body>
</html>
Marsh Posté le 27-05-2003 à 19:44:14
chdir( "./content/news/" );
Pourquoi ya un point devant le / ? C'est obligatoire ?
Marsh Posté le 27-05-2003 à 19:44:45
ReplyMarsh Posté le 27-05-2003 à 19:46:04
vanilla a écrit : chdir( "./content/news/" ); |
je changeais de répertoire avant pour prendre un autre fichier
Marsh Posté le 27-05-2003 à 19:49:24
Warning: fopen("", "fortune.txt" ) - Inappropriate ioctl for device in write.php on line 8
Warning: fwrite(): supplied argument is not a valid File-Handle resource in write.php on line 10
Warning: fclose(): supplied argument is not a valid File-Handle resource in write.php on line 11
Ouais bon j'abandonne..
Marsh Posté le 27-05-2003 à 20:16:03
Non mais déjà faudrait que ce soit plus clair.
Déjà je pense qu'il faudrait faire un truc comme ça
- Créer un répertoire fortune
- à la racine de celui-ci :
add.php
fortune.txt
c'est bon jusque là ?
donc pour la source de add.php
Code :
|
que désigne "a" ? "ce que tu veux" => à remplacer par fortune.txt ?
TODO
- il faut qu'a chaque fois qu'on envoie une fortune, quelle se place à la suite de la dernière... en ajoutant un espace ou un caractère (genre %) pour séparer les fortunes.
- une limite en nombre de ko envoyer
- un nombre de "Poster" limiter par IP (afin d'éviter les floods)
PS
pour visualiser on va directement dans fortune/fortune.txt
Marsh Posté le 27-05-2003 à 20:30:32
pour qqn qui n'a aucune notion en PHP tu te débrouilles plutôt bien
Créer un rép fortune, bon début, et le script en lui-même est à peu près correct.
Pour ajouter sa fortune, tu ne peux le faire qu'avec un formulaire ! C'est là que ça commence à devenir plus complexe...
Vaudrait mieux que tu crées alors une page addfortune.php par exemple, qui reprend le code suivant
Code :
|
Voilà, c'est le schéma, mais j'me suis ptetre planté
Marsh Posté le 27-05-2003 à 20:33:21
le 'a'de fopen - Ouvre en écriture seule; place le pointeur de fichier à la fin du fichier file. Si le fichier n'existe pas, on tente de le créer.
Marsh Posté le 27-05-2003 à 20:35:00
Oui, j'avais meme pensé à prendre un livre d'or.
Merci pour ton aide, je vais voir ce que je peux faire avec ça
Marsh Posté le 27-05-2003 à 20:36:04
pour plus d'infos : http://dev.nexen.net/docs/php/anno [...] .fopen.php
Marsh Posté le 27-05-2003 à 20:39:06
ça y est ça a marché !
Faut maintenant améliorer un peu mais dans l'idée c'est exactement ce que je voulais..
add.php => on ajoute sa fortune => on poste => ça écrit sur fortune.txt.
Marsh Posté le 27-05-2003 à 21:56:51
problème :
- du cadre (trop petit)
- du fait qu'a chaque fois qu'on poste, le fichier est remis à zéro (en gros ya tjs qu'une fortune sur fortune.txt)
- une fois qu'on a posté, il faudrait renvoyer vers une page !
comment faire tout ça ?
Marsh Posté le 27-05-2003 à 22:18:30
dans ton fopen, tu as bien mis 'a' pour ouvrir le fichier en ecriture et se positionner a la fin du fichier?
Marsh Posté le 27-05-2003 à 22:25:43
$pointeur=fopen("fortune.txt","a" );
'a' - Ouvre en écriture seule; place le pointeur de fichier à la fin du fichier file. Si le fichier n'existe pas, on tente de le créer.
ça n'écrit plus aussi...
faudrait pas mettre r+ ?
# 'r' - Ouvre en lecture seule, et place le pointeur de fichier au début du fichier.
# 'r+' - Ouvre en lecture et écriture, et place le pointeur de fichier au début du fichier.
# 'w' - Ouvre en écriture seule; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
# 'w+' - Ouvre en lecture et écriture; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
# 'a' - Ouvre en écriture seule; place le pointeur de fichier à la fin du fichier file. Si le fichier n'existe pas, on tente de le créer.
# 'a+' - Ouvre en lecture et écriture; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.
Marsh Posté le 27-05-2003 à 22:41:23
Bon avec a ça marche sauf que tout est écrit à la suite...
et puis à chaque ' ya un \ ...
Marsh Posté le 27-05-2003 à 23:14:03
Citation : sujet: Comment faire fortune sur un site ? |
en faisant un site de boule
Marsh Posté le 28-05-2003 à 00:42:51
vanilla a écrit : Bon avec a ça marche sauf que tout est écrit à la suite... |
Marsh Posté le 28-05-2003 à 10:23:40
cmotsch a écrit : |
Quelle reponse? quoi? hein? qui? ou? comment? quesque l'univers?
lol
(Heu si j'ai bien compris, une fortune c'est une sorte de livre d'or.. enfin les visiteurs peuvent poster des trucs a la suite.. bref bon..)
Marsh Posté le 28-05-2003 à 11:57:39
ReplyMarsh Posté le 28-05-2003 à 12:18:45
Mr yvele a écrit : |
tu viens d'en pondre une deuxieme... félicitations
Marsh Posté le 28-05-2003 à 14:03:23
Bin ouais mais je mets cette fonction où ?
Code :
|
Marsh Posté le 28-05-2003 à 15:40:40
J'arrive même pas à obtenir une zone de texte et non un champ de texte dans le script PHP
au lieu de ça :
|
(qui est en fait en HTML :
<imput type="text" name="texte"> |
)
il me faudrait ça
|
Mais comment le traduire en langage PHP ?
Marsh Posté le 28-05-2003 à 17:28:41
vanilla a écrit : J'arrive même pas à obtenir une zone de texte et non un champ de texte dans le script PHP
)
|
je t'arrête, c'est du HTML dont tu as besoin... PHP est un langage de programmation serveur, qui ne rentre pas du tout en compte pour l'affichage d'une page web
Donc tu peux y aller, remplace directos le input par le textarea dans le echo du code PHP et... voilà !
ps : c'est mieux d'écrire
Code :
|
à la place de :
Code :
|
Marsh Posté le 28-05-2003 à 19:44:27
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in index.php on line 43
Et la ligne 43 c'est le fameux <textarea (...)
|
Où est l'erreur ?
C'est pas que je dois le mettre à l'extérieur du code PHP par hasard
Marsh Posté le 02-06-2003 à 20:37:49
ReplyMarsh Posté le 02-06-2003 à 20:38:33
ReplyMarsh Posté le 02-06-2003 à 20:43:31
ah ben oui
ps : zen --
Marsh Posté le 02-06-2003 à 22:15:42
Merci
Bon il me faudrait deux choses essentielles :
- une fois qu'on a posté, renvoyer vers une page disant que la fortune a bien été posté.
- à chaque ajout de fortune, qu'on est le caractère % s'intercalant comme ceci en fait ;
<blabla> blabla blabla ?
<blabla> blabla blabla !
<blabla> blabla blabla
%
<blabla> blabla blabla :-)
<blabla> blabla blabla !
%
<blabla> blabla blabla
<blabla> blabla blabla
<blabla> blabla blabla :-(
Seulement comment faire ? pour le revoie vers une page ça doit pas etre bien dur mais pour l'autre ?
Marsh Posté le 02-06-2003 à 22:19:50
<?php
if(!isset($_POST["texte"]))
{
echo "<form method=\"post\" action=\"$PHP_SELF\">
<input type=\"text\" name=\"texte\">
<input type=\"submit\" value=\"Poster la fortune\">
</form>";
}
else
{
$texte=$_POST["texte"];
$pointeur=fopen("fortune.txt","a" );
fwrite($pointeur, $texte);
fwrite($pointeur, "%" );
fclose($pointeur);
echo "Votre fortune a bien été postée, merci blablabla";
}
?>
</body>
</html>
Marsh Posté le 02-06-2003 à 22:20:58
je reve ou vous lui avez fait son truc et il a rien branlé là?
Marsh Posté le 26-05-2003 à 21:52:00
Bon bin ça avance ce petit script.
Pour le moment, l'idée principale a été mise en place.
------
- Créer un répertoire fortune
- à la racine de celui-ci, on va trouver
index.php => la page principale avec le formulaire pour envoyer la fortune vers fortune.txt
ok.html => la page pour dire que la fortune a été envoyée, blabla, etc
fortune.txt => le fichier texte qui contiendra les fortunes
Source de index.php
Source de ok.html
Source de fortune.txt
Ce que vous avez posté
Si j'ai le courage et l'envie, on pourrait faire ce genre de chose pour améliorer le script.
TODO
- une limite en nombre de ko à envoyer (pour éviter les 40 lignes)
- un nombre de "Poster" limiter par IP (afin d'éviter les floods)
Voila.
Message édité par vanilla le 11-06-2003 à 22:24:45
---------------
Membre du Front de Libération de Datoune | Soutenez le FLD | A Tribute To Datoune