Categories > TinyButStrong general (FR) >

affichage conditionnelle

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: NainPuissant
Date: 2006-03-03
Time: 22:11

affichage conditionnelle

bonjour bonjour,
donc voila je bute sur un chti truc (enfin je crois)
je voudrais lorsque j'envoie mon formulaire celui ci disparaise afin de laisser le message "message bien envoyé"
voila mon code
$post = 0;

if(empty($_POST)) {
    $msg_text = '';
    $pseudo = '';
    $contenu = '';
    $sel_note = '';
} else {
    $msg_text = '';
    $pseudo = $_POST['pseudo'];
    $contenu = $_POST['contenu'];
    $note = $_POST['note'];
    $sel_note = $_POST['note'];

    if((trim($pseudo)=='') AND ($msg_text=='')) $msg_text = 'Vous devez saisir votre pseudo.';
    if((trim($note)=='') AND ($msg_text=='')) $msg_text = 'Vous devez choisir une note.';
    if((trim($contenu)=='') AND ($msg_text=='')) $msg_text = 'Vous devez saisir un contenu.';

    if($msg_text=='') {
        $msg_text = 'Votre message a bien été ajouté.';
        $post = 1;
       
        $table_name = 'livre_or';
        $fields_values = array(
            'id' => '',
            'date' => time(),
            'pseudo' => $pseudo,
            'note' => $note,
            'contenu' => $contenu
        );
        $result = $DB->autoExecute($table_name, $fields_values, DB_AUTOQUERY_INSERT);
               
        if (PEAR::isError($result)) {
            die($result->getMessage());
        }
    }
}

et mon template

<form action="[var._SERVER.REQUEST_URI]" method="post">
    [onload;block=form;when [var.post]=0]
    <fieldset>
        <legend>Ajouter un message</legend>
        <div>
            <label for="pseudo">Votre pseudo *</label>
            <input type="text" name="pseudo" id="pseudo" maxlength="20" value="[var.pseudo]" />
        </div>
        <div>
            <label for="note">Note *</label>
            <select name="note" id="note">
                <option></option>
                <option value="[note.value]">[note.name;block=option]</option>
                <option>[var.sel_note;selected]</option>
            </select>
        </div>
        <div>
            <label for="contenu">Contenu *</label>
            <textarea name="contenu" id="contenu" cols="50" rows="6">[var.contenu]</textarea>
        </div>
        <div>* champs obligatoires</div>
        <input type="hidden" name="envoi" value="[var.envoi]" />
        <div><input type="submit" id="submit" value="Envoyer" /></div>
    </fieldset>
</form>
By: Skrol29
Date: 2006-03-05
Time: 22:54

Re: affichage conditionnelle

Bonjour NainPuissant,

Ton template semble correct, il devrait marcher. Il ne lui manque que la partie qui affiche le message.
Par exemple:
<form>...</form>
<div>
[var.msg_text]
[onload;block=div;when [var.post]=1]
</div>