bouton

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : bouton

par Vincentimes » 12 mars 2005, 21:02

:arrow: C'est quoi "Id"
Id de ta balise HTML (ex: <div id="toto"></div>).

:arrow: C'est quoi "Source"
Source de ton objet (ex: <img src="toto.gif">)

:arrow: que veus tu dir "Contenu du Calque "
Le code HTML entre les balises <div> (ex: <div id="toto">Contenu</div>)

par Arcantos » 12 mars 2005, 19:12

C'est quoi "Id"
C'est quoi "Source"
que veus tu dir "Contenu du Calque "

par Arcantos » 12 mars 2005, 18:30

d'accor, merci nok-I. je vais voir ça mais la j'ai pas le temps

par Vincentimes » 12 mars 2005, 16:01

Je n'ai pas du tout étudier le fonctionnement d'XmlHttpRequest, mais par contre, j'ai des fonctions qui peuvent peut-etre faire l'affaire.

La première est pour changer la source d'un objet (iframe, image ...). On utilise l'id de l'objet pour modifier l'attribut src qui correspond donc à la source.
Dans un premier temps, on verifie qu'il a bien des objets possedant un id sur le document (On va chercher si il y a des valeurs dans les tableaux document.all ou document.layers, ou dans la fonction document.getElementById, pour assurer la compatilité) puis on change l'attribut src.

C'est plus ou moins une fonction générique, du moment ou tu changes l'attribut que tu veux modifier (ici src, mais par exemple innerHTML pour un calque).

Code : Tout sélectionner

// Objet = Id de ton Objet (img, iframe...) // Source = La source de l'Objet function Change_Source(Objet, Source) { if (document.getElementById) { document.getElementById(Objet).src = Valeur; return true; } else if (document.all && !document.getElementById) { document.all[Objet].src = Valeur; return true; } else if (document.layers) { document.layers[Objet].src = Valeur; return true; } return false; } <iframe src="pagetemp.php" style="display:none" name="IframeExec"> <!-- ou <img src="temp.php" style="display:none"> --> // Quand tu clics, la page temp.php de l'Iframe se recharge et execute ton code <input type="button" OnClick="Change_Source('IframeExec', 'pageaction.php?action=aleatoire');">
D'ailleurs pour te faciliter la tache, voici une fonction pour modifier le contenu d'un calque. Meme principe que predecement, sauf qu'on change le contenu du calque via innerHTML.

Code : Tout sélectionner

// Calque = Id de ton Calque // Valeur = Contenu du Calque function Change_Calque(Calque, Valeur) { if (document.getElementById) { document.getElementById(Calque).innerHTML = Valeur; return true; } else if (document.all && !document.getElementById) { document.all[Calque].innerHTML = Valeur; return true; } else if (document.layers) { document.layers[Calque].innerHTML = Valeur; return true; } return false; }
Et puis une autre fonction pour afficher / masquer un calque. On change l'attribut style.display par none ou block.

C'est loin d'etre une fonction adapté à ce genre d'action. On peut utiliser l'attribut visibility pour eviter les mouvements desagréables.

Code : Tout sélectionner

// Calque = id de ton Calque // Display = true ou false (Affiché oui ou non) function Affiche_Calque(Calque, Display) { if (Display) { Display = 'block'; } else { Display = 'none'; } if (document.getElementById){ document.getElementById(Calque).style.display = Display; return true; } else if (document.all) { document.all[Calque].style.display = Display; return true; } else if (document.layers) { document.layers[Calque].style.display = Display; return true; } return false; } <input type="button" value="Display" OnClick="Affiche_Calque('Teste', true);"><input type="button" value="Hide" OnClick="Affiche_Calque('Teste', false);"> <br><div id="Teste" style="display: none; margin: 10px; padding: 5px; background-color: #F0F0F0">function <b>Affiche_Calque</b>(Calque <i>Id</i>, Display <i>Boolean</i>)</div>
I'll be back... :D

par Arcantos » 12 mars 2005, 13:07

comment fait tu pour appeler le code php

car j'ai un code a peu pres iddentique, mais je comprand pas l'interer de "return true" et "return false", en faite je les est jamais compris a quoi sa ser

voici mon code de modif comme il est:
<html>
<head>
<title>modif</title>
</head>

<body>
<p>le nom de votre fichier est : 
  <input name="textarea" type="text" value="
<?php
print $nom
?>">
</p>
<p>
  <textarea name="script" rows="10" cols="100">
   <?php
    extract($_POST);
  if ( file_exists("$nom") ) {
  $texte = fopen("$nom","w");
$donnees = fgets($texte,4096);
fclose($texte);
print $donnees;
  } else {
print"<html>
<head>
<title>Document sans titre</title>
</head>

<body>

</body>
</html>";
}
?>
  </textarea>
  
// la sa commence a buguer !!!
<form id="formulaire" method="post" action="$_SERVER['PHP_SELF']">

  <input type="submit" name="Submit" value="OK" action="<?php
extract($_POST);
$code = fopen( "$nom", 'w' );
fwrite( $code, "$script" );
fclose( $code );
?>">
</form>
</p>
</body>
</html>
ps: peux tu m'en dir plus sur le javascript (je mis conné pas)

par Vincentimes » 12 mars 2005, 12:35

Voici une fonction pour enregistrer un fichier... si tu veux comparer avec la tienne. Celle-ci fonctionne. Fais attention au CHMOD aussi (777).

La fonction ouvre le fichier, balance le pointeur à la position 0 (début de fichier) et sauvegarde... le fichier est écrasé automatiquement lorsqu'on positionne le pointeur en début de fichier.

Code : Tout sélectionner

function File_Save($Fichier, $NewFichier) { if(file_exists($Fichier)) { $FichierOpen = fopen($Fichier,"w"); fseek($FichierOpen ,0); fputs($FichierOpen, $NewFichier); fclose ($FichierOpen); return true; } else { return false; } }

par Vincentimes » 12 mars 2005, 12:06

Pas forcement d'XmlHttpRequest,

Au lieu de recharger ta page pour aller chercher le contenu de ton fichier, tu peux utiliser une Iframe en utilisant une autre page et une fonction javascript. Tu peux aussi mettre un lien Previsualiser, et tu envoies le contenu de ta textarea dans un calque.

Fonctions javascript :
Change_Source();
SendFiletoTextarea();
Change_Calque();

Comme ceci, il y a que trois fonctions et la montagne de code javascript que tu te fais n'existe pas :P

par Arcantos » 12 mars 2005, 11:49

je cherche a fair un système simple que je vais petit a petit ameliorer

j'avais prevue d'affichier ma page dans un calque, mais je n'arrive toujours pas a enregistré ma page, donc le calque va attendre
voila mon scriptje l'ai un peu modifier par rappor a hier mais il marche toujour pas donc si on peu m'expliquer un peu plus le scrite de flitox.[/php]

par pascaltje » 12 mars 2005, 00:09

Arcantos,

Tu cherches à faire un système simple ou un peu plus devellopé ?

Parce que là, il y a possibilité de faire quelques choses de sympa, et vu que c'est plus ou moins d'actualité (GMail a tracé la route), je pense que cela peut interessé pas mal de monde... (si page HTML pourquoi pas créer un aperçu de ta page via un calque ? en allant chercher le contenu -pour le placer ds une textarea- à partir d'une Iframe... tu me suis ?)

Bref, à toi voir, je peux t'aider... car je n'ai jamais essayé :wink:
tu parles d'XmlHttpRequest en javascript :D

ça marche bien, sauf que le javascript c'est dur dur! ;)

et après réflexion et utilisation pendant une semaine, je me dis que ça ressemble aux bonnes vieilles frame, mais sans les inconvénients pour l'utilisateur - juste pour le codeur si il n'est pas organisé (et je ne suis pas encore organisé sur ce point ;) )

A+

Pascal

par Vincentimes » 11 mars 2005, 22:07

Arcantos,

Tu cherches à faire un système simple ou un peu plus devellopé ?

Parce que là, il y a possibilité de faire quelques choses de sympa, et vu que c'est plus ou moins d'actualité (GMail a tracé la route), je pense que cela peut interessé pas mal de monde... (si page HTML pourquoi pas créer un aperçu de ta page via un calque ? en allant chercher le contenu -pour le placer ds une textarea- à partir d'une Iframe... tu me suis ?)

Bref, à toi voir, je peux t'aider... car je n'ai jamais essayé :wink:

par Arcantos » 11 mars 2005, 21:00

bon je vais expliquer
j'essaille de faire un script pur pouvoir modifier mais page HTML sur le net sans passer par un FTP

j'ai 2 pages
index ou on entre le nom de la page

Code : Tout sélectionner

<html> <head> <title>index</title> </head> <body> <form action="modif.php" methode="post"> non de la page HTML : <input name="nom" type="text"> <input type="submit" name="bouton1" value="OK"/> </form> </body> </html>
modif qui
1)regarde si le nom de la page existe, si elle existe elle l'ouvre et l'affiche dans mon formulaire, si elle existe pas elle ecrit un page classique dans le formulaire
2)elle enregistre le la page avec les modif faite dans le formulaire et le nom donné
pour le 1 j'y arrive a peu pres mais pour le 2 j'arrive pas executer le script au pressage du bouton

mon scripte pour le 1
<?php
extract($_POST);
if ( file_exists("$nom") ) {
$texte = fopen("$nom","w");
$donnees = fgets($texte,4096);
fclose($texte);
print $donnees;
} else {
touch("$nom");
print"<html>
<head>
<title>Document sans titre</title>
</head>

<body>

</body>
</html>";
}
?>

par Xenon_54 » 11 mars 2005, 20:57

Alors je crois que l'exemple de nok-I fait amplement le travail.

;)

par flitox » 11 mars 2005, 20:44

Tu peux tout mettre s'il-te-plaît?

par Arcantos » 11 mars 2005, 20:42

le formulaire est dans la meme page que mon bouton

par flitox » 11 mars 2005, 20:41

mon action depend de se qu'a taper un utilisateur dans un formulaire
Arcantos il est où le formulaire? (pas fais gaffe)