Sujet : \Hoa\Form
@Hywan : tu ma dit que \Hoa\Form était intégrer a \Hoa\Xyl , d'où ma question comment on gere ca avec le controlleur , la gestion des $_POST etc
bref un exemple concret ![]()
Merci d'avance
Thehawk ![]()
« La structure de toute “chose”, qu'il s'agisse d'un langage, d'une maison, d'une machine etc., se résume à des relations. » — Alfred Korzybski
Vous n'êtes pas logué. Veuillez vous loguer ou vous enregistrer.
Hoa Forum » Dépannages » \Hoa\Form
Pages 1
Vous devez vous loguer ou vous enregistrer pour poster une réponse
@Hywan : tu ma dit que \Hoa\Form était intégrer a \Hoa\Xyl , d'où ma question comment on gere ca avec le controlleur , la gestion des $_POST etc
bref un exemple concret ![]()
Merci d'avance
Thehawk ![]()
Voici un peu de concret (extrait d'un mail reçu de @Hywan quand on parlait formulaire pour Hoathis
) :
index.php (ta page qui affiche le formulaire)
<?php
require_once '/usr/local/lib/hoa/Core/Core.php';
from('Hoa')
-> import('Xyl.~')
-> import('Xyl.Interpreter.Html')
-> import('File.Read')
-> import('Http.Response');
$xyl = new \Hoa\Xyl(
new \Hoa\File\Read('main.xyl'),
new \Hoa\Http\Response(),
new \Hoa\Xyl\Interpreter\Html()
);
$xyl->render();ton formulaire (la vue) :
<?xml version="1.0" encoding="utf-8"?>
<document xmlns="http://hoa-project.net/xyl/xylophone">
<title>Form</title>
<yield name="my_form">
<section1>
<title>Form</title>
<form method="post" action="do.php" onerror="etop">
<p><label for="t">Foobar:</label>
<input type="text" id="t" name="t" autofocus="autofocus" /></p>
<p><label for="c2">The cake is:</label>
<input type="checkbox" name="c1" value="a_lie" /> a lie
<input type="checkbox" id="c2" name="c2" value="not_a_lie" checked="checked" /> not a lie</p>
<p>What?
<input type="radio" name="r" value="yes" checked="checked" /> a lie
<input type="radio" name="r" value="not" /> not a lie</p>
<p><label for="e">Test error:</label>
<input type="text" id="e" name="e"
validate-x="boundinteger(0, 12) or empty()" onerror-x="e1 e2" /></p>
<p>Select:
<select name="s">
<option value="a">A</option>
<optgroup label="'b-c'">
<option value="b">B</option>
<option value="c" selected="selected">C</option>
</optgroup>
<optgroup label="'d'">
<option value="d">D</option>
</optgroup>
</select></p>
<p>Textarea:
<textarea name="tt"
validate="string(boundinteger(4, 12))"
onerror="e3">abc foo xyz</textarea>
<error id="e3">ERROR!</error></p>
<p>Multi:<fbreak />
<input type="text" name="m[]" /><fbreak />
<input type="text" name="m[]" /><fbreak />
<input type="text" name="m[]" /></p>
<p><input type="submit" /></p>
</form>
</section1>
</yield>
<error id="etop">
<section1>
<title>Errors</title>
<error id="e1"><p>I'm an error (e1)!</p></error>
<error id="e2"><p>I'm another error (e2)!</p></error>
</section1>
</error>
<my_form />
</document>et le code pour le traiter :
do.php
<?php
require '/usr/local/lib/hoa/Core/Core.php';
header('Content-Type: text/plain');
from('Hoa')
-> import('Xyl.~')
-> import('Xyl.Interpreter.Html.~')
-> import('File.Read')
-> import('Http.Response');
$xyl = new \Hoa\Xyl(
new \Hoa\File\Read('main.xyl'),
new \Hoa\Http\Response(),
new \Hoa\Xyl\Interpreter\Html()
);
$xyl->interprete();
$form = $xyl->getConcrete()
->getConcreteElement($xyl->querySelector('form'))
->getFormData();
var_dump($form);Merci de ta réponse
cela n'a pas tout résolu mais ca avance sur la comprenette
Dit moi : chez moi je fais : var_dump($xyl->querySelector('div')); ou var_dump($xyl->querySelector('form)); et cela me retourne false :s j'ai loupé un passage ? ![]()
Dans l'exemple on ne dump pas directement le résultat de $xyl->querySelector('form') ?
$form = $xyl->getConcrete()
->getConcreteElement($xyl->querySelector('form'))
->getFormData();
var_dump($form);Ou alors j'ai rien compris à ta question ?
Hey
,
Est-ce que tu as bien interprété XYL avant ?
je fais :
$xyl = $this->view;
$xyl->interprete();
$form = $xyl->getConcrete()->getConcreteElement()
->getConcreteElement($xyl->querySelector('form'))
->getFormData();
var_dump($form);J'ai faux ???
ce la me retourne :
Hoa\Core\Exception\Idle::error(): (-1) Argument 1 passed to Hoa\Xml\Element\Concrete::getConcreteElement() must implement interface Hoa\Xml\Element\Element, none given, called in C:\wamp\www\Cxp\Application\Controller\Index.php on line 25 and defined
in C:\wamp\www\Hoa\Central\Library\Xml\Element\Concrete.php at line 231.
#0 C:\wamp\www\Hoa\Central\Library\Xml\Element\Concrete.php(231): Hoa\Core\Exception\Idle::error(4096, 'Argument 1 pass...', 'C:\wamp\www\Hoa...', 231, Array)
#1 C:\wamp\www\Cxp\Application\Controller\Index.php(25): Hoa\Xml\Element\Concrete::getConcreteElement()
#2 [internal function]: Application\Controller\Index->ConnexionAction()
#3 C:\wamp\www\Hoa\Central\Library\Dispatcher\Basic.php(217): ReflectionMethod->invokeArgs(Object(Application\Controller\Index), Array)
#4 C:\wamp\www\Hoa\Central\Library\Dispatcher\Dispatcher.php(174): Hoa\Dispatcher\Basic->resolve(Array)
#5 C:\wamp\www\Cxp\Application\Public\index.php(71): Hoa\Dispatcher\Dispatcher->dispatch(Object(Hoa\Router\Http), Object(Hoa\Xyl\Xyl))
#6 {main}Julien qui en chie mais qui aime ca ![]()
Bah déjà, tu demandes d'interpréter la vue dans laquelle tu es. Elle est déjà interprétée
.
Ensuite, tu fais appel deux fois getConcreteElement(), dont la première fois sans argument (d'où le message d'erreur).
Enfin, ça doit ressembler à ça dans l'ensemble.
Posts [ 7 ]
Pages 1
Vous devez vous loguer ou vous enregistrer pour poster une réponse
Hoa Forum » Dépannages » \Hoa\Form
Powered by PunBB
Currently used extensions: pun_repository, pun_bbcode, pun_pm, pun_quote, pun_antispam. Copyright © 2008 PunBB
[ Généré en 0.075 secondes, 24 requêtes exécutées ]