Page 1 sur 1

Require, post, echo

Posté : 17 mars 2007, 18:26
par chrislabricole
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...

Posté : 17 mars 2007, 18:42
par jojolapine
premièrement, remplace tes <? ?> par <?php ?>, c'est plus recommandé...
Ensuite pour ton histoire, il suffit de jouer avec les fonctions de fichiers

Posté : 17 mars 2007, 19:20
par chrislabricole
alors que doit-je mettre come code dans ma nouvelle page ?
(je rapel que chui débutant)

merci....

Posté : 17 mars 2007, 21:52
par Invité
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>";
?>

Posté : 18 mars 2007, 19:06
par chrislabricole
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...

Posté : 18 mars 2007, 21:02
par ouckileou
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

Posté : 19 mars 2007, 05:03
par ghalaad
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>";

Posté : 19 mars 2007, 19:59
par Invité
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); 

Posté : 19 mars 2007, 22:26
par Aureusms
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 ?

Posté : 19 mars 2007, 22:33
par zeus
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.

Posté : 19 mars 2007, 22:38
par Aureusms
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...)

Posté : 19 mars 2007, 22:48
par ghalaad
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 :)

Posté : 19 mars 2007, 22:51
par zeus
Sans tirer de conclusions hâtives sur les causes, il y a effectivement une certaines recrudescence de "demande McDo"

Posté : 19 mars 2007, 22:53
par Aureusms
Je t'adore ZEUS... Demande McDo... Superbe l'expression...

Posté : 19 mars 2007, 23:18
par zeus
Je t'adore ZEUS... Demande McDo... Superbe l'expression...
Rendons à César, ce qui lui appartient ... enfin, ce qui appartient à LHDN92 ;)