Require, post, echo

Mammouth du PHP | 959 Messages

17 mars 2007, 18:26

Bonjour,

voila,
voici mon problème:
j'ai fait une page (php) avec ceci:

Code : Tout sélectionner

<? require("infos.php"); ?> .... <? echo "$text"; ?>
Dans la page infos.php il y a:

Code : Tout sélectionner

<? $text="mon texte"; ?>
j'usqu'ici, il y pas de problèmes...

et je voudrais faire une nouvelle page qui permet de modifier (à l'aide d'un champ de texte) se qu'il y a écrit entre " et " ici:"mon texte" --> qui est bien sur dans la page infos.php

voila merci pour vos futures réponses...

ViPHP
ViPHP | 3607 Messages

17 mars 2007, 18:42

premièrement, remplace tes <? ?> par <?php ?>, c'est plus recommandé...
Ensuite pour ton histoire, il suffit de jouer avec les fonctions de fichiers

Mammouth du PHP | 959 Messages

17 mars 2007, 19:20

alors que doit-je mettre come code dans ma nouvelle page ?
(je rapel que chui débutant)

merci....

Invité
Invité n'ayant pas de compte PHPfrance

17 mars 2007, 21:52

voila se que j'ai mis dans la nouvelle page:
<?php
require("infos.php");
<?php
if (isset($submit))
{
?>
<?
}
$fichier=fopen("infos.php","w");
  fputs($fichier, "<?\n");
  fputs($fichier, "$"."text=\"".stripslashes($text)."\";\n");

  fputs($fichier, "?>\n");
  fclose($fichier);


if (empty($submit))
{
require("../infos.php");
}
echo"<center><table width=\"60%\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\" bordercolor=\"#000000\">
  <tr>
    <td><center><font color=\"#FFFFFF\" size=\"2\"><strong>Configuration des informations</strong></font></center></td>
  </tr>
  <tr>
    <td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\">
  <tr>
    <td>Texte :</td>
    <td><form action=\"index.php\" method=\"post\" style='margin-top: 3px; margin-bottom: 3px'>
	<input name=\"01\" type=\"text\" value=\"".stripslashes(htmlspecialchars($text))."\" size=\"35\"></td>
  </tr>  
  <tr>
    <td></td>
    <td><input name=\"submit\" type=\"submit\" value=\"Modifier\"></form></td>
  </tr>
  
</table></td>
  </tr>
</table></center>";
?>

Mammouth du PHP | 959 Messages

18 mars 2007, 19:06

chui désolé de vous dire sa mais sa commence à devenir un peu urgent... , c'est pas la pène de s'énervé, zen lol :lol:

ban, aller, télécharger ceci : http://chrismember.rf.lv/require_post_echo.zip
pi... si vouis arrivi, vouis me le repassié ?!
(ou vous me copier le code dans de "admin/index.php" , je pense que sa sera mieu, comme sa, les autres qui on le mème problème que moi pourons exploité se forum...)
merci par avance pour votre aide indispenssable...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

18 mars 2007, 21:02

chui désolé de vous dire sa mais sa commence à devenir un peu urgent... , c'est pas la pène de s'énervé, zen lol :lol:
C'est pas une question de s'énerver, c'est que les gens qui passent par ici on aussi une vie, des études, un travail, avec eux aussi des délais et des contraintes. Donc les tiens de délais, disons le clairement, on s'en tape.

De plus si personne ne t'a répondu, c'est peut-être parcequ'il faut y mettre un peu du tien. Ton dernier message c'est une pleine page de code, tu ne dis même pas ce qui ne va pas, rien, que dalle, on devrait débuguer pour toi.

Non non, ici on aide, mais on est pas là pour faire de la hotline non plus.

Alors tu reprends ton problèmes, ton code, tu fais des essais, et tu nous dis ce que ça donne pour qu'on puisse t'aiguiller. Tu pourras aussi faire un petit effort sur l'orthographe au passage...)

Sinon tu peux toujours attendre, personne ne te donnera ton code tout fait comme tu le souhaites.

Bon courage

Eléphanteau du PHP | 49 Messages

19 mars 2007, 05:03

Si j'ai bien compris tu veux faire un système de (mauvais) template qui te génère du php, c'est ça ?

avoir un truc genre :
<?php echo $texte ?>
remplacé par :
<?php echo "i am a noob" ?>
???


si c'est ça, ceci devrait t'aider :
$texte = 'et hop $mon_texte hahaha';
$pattern = '/(\$([[:alnum:]][_]?)*)/';
$replace ="je suis un noob";
echo preg_replace($pattern,$replace,$texte);
C'est ce qu'on appelle une "expression régulière".
Je vais détailler :
1 - les simple quote => ' <= : entourent la chaine
2 - le "/" est le délimiteur du masque
3 - les parenthèses délimitent le premier élément du masque (il n'y a qu'un élément ici)
4 - la chaine commence par un $
5a - on commence un sous masque (permettant de déterminer le nom de caractères suivant le $)
5b - [[:alnum:]] : tous les caractères alphanumériques
5c - [_] on inclus l'underscore => _ <=
5d - ? par ce que l'underscore est facultatif
5e - * pour dire qu'il peut y avoir de un à X caractères de type [:alnum:] ou _

A toi de lire ton fichier ligne par ligne, y appliquer à chacune cette transformation pour ensuite la réecrire.


Une fonction un brin plus complète (qui évite que le premier caractères soit incorrect et qui le fait que la chaine commence par $ suivi de _ OU d'un caractère alpha (les variables types $1 $2 sont réservées à php !):

le pattern :
$pattern = '/(\$((([[:alpha:]]|[_]){1})([[:alnum:]][_]?[-]?)*))/';
Des exemples :
$texte = 'et hop $mon_texte-a-des-tirets hahaha';
$texte2 = 'et hop $1mon_texte-a-des-tirets hahaha';
$texte3 = 'et hop $_mon_texte-a-des-tirets hahaha';
$pattern = '/(\$((([[:alpha:]]|[_]){1})([[:alnum:]][_]?[-]?)*))/';
$replace ="je suis un noob";
echo $texte."<br/>";
echo "transform&eacute; =><b>".preg_replace($pattern,$replace,$texte)."</b>";
echo "<br/>".$texte2."<br/>";
echo "transform&eacute; =><b>".preg_replace($pattern,$replace,$texte2)."</b>";
echo "<br/>".$texte3."<br/>";
echo "transform&eacute; =><b>".preg_replace($pattern,$replace,$texte3)."</b>";

Invité
Invité n'ayant pas de compte PHPfrance

19 mars 2007, 19:59

aa j'ai trouvé !

eu, j'arrive pas à exprimer ma joix, vous avez comprient, je suis trop trop trop trop content, mille fois merci :D :D :D :D

le code:
require("../infos.php");
$text = $_POST['Texte'];

$fichier=fopen("../infos.php","w");
fputs($fichier, "<?php\n");
fputs($fichier, "$"."text=\"".stripslashes($text)."\";\n");
fputs($fichier, "?>\n");
fclose($fichier); 

ViPHP
ViPHP | 1996 Messages

19 mars 2007, 22:26

C'est pas une question de s'énerver, c'est que les gens qui passent par ici on aussi une vie, des études, un travail, avec eux aussi des délais et des contraintes. Donc les tiens de délais, disons le clairement, on s'en tape.

De plus si personne ne t'a répondu, c'est peut-être parcequ'il faut y mettre un peu du tien. Ton dernier message c'est une pleine page de code, tu ne dis même pas ce qui ne va pas, rien, que dalle, on devrait débuguer pour toi.

Non non, ici on aide, mais on est pas là pour faire de la hotline non plus.

Alors tu reprends ton problèmes, ton code, tu fais des essais, et tu nous dis ce que ça donne pour qu'on puisse t'aiguiller. Tu pourras aussi faire un petit effort sur l'orthographe au passage...)

Sinon tu peux toujours attendre, personne ne te donnera ton code tout fait comme tu le souhaites.

Ca fais du bien ouckileou ?
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 mars 2007, 22:33

Sans parler de "ça fait du bien", je trouve mon collègue sympa sachant que j'aurais modéré.

Ici, on ne fait pas de support hotline et encore moins dans l'urgence.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 1996 Messages

19 mars 2007, 22:38

Je suis d'accord avec toi.

Je viens de retourner aussi un POST d'un impatient... Il se passe quoi en ce moment ? Cela fait 1 semaine ou les "menaces" (le mot est volontairement fort) se font de plus en plus fréquente... Il y a eu une ouverture d'école ? (je plaisante...)
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 49 Messages

19 mars 2007, 22:48

Bon, je crois que je n'avais rien compris à sa question xD

Non mais faut les comprendre les pauvres ... Ce sont des étudiants qui s'y prennent la veille pour le lendemain, ils ont eu deux mois avant mais non, c'est très urgent, et comme le dit si bien l'adage : "des étudiants qui cherchent on en trouve... Des étudiants qui trouvent, on en cherche".

Bah, un peu de courage :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 mars 2007, 22:51

Sans tirer de conclusions hâtives sur les causes, il y a effectivement une certaines recrudescence de "demande McDo"
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 1996 Messages

19 mars 2007, 22:53

Je t'adore ZEUS... Demande McDo... Superbe l'expression...
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 mars 2007, 23:18

Je t'adore ZEUS... Demande McDo... Superbe l'expression...
Rendons à César, ce qui lui appartient ... enfin, ce qui appartient à LHDN92 ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer