phpbar.de logo

Mailinglisten-Archive

[pear] Problem mit versteckten Feldern und quickform

[pear] Problem mit versteckten Feldern und quickform

Matthias Weinhold Matthias.Weinhold at gmx.net
Son Jan 18 19:44:53 CET 2004


Hallo,

ich habe ein mir vollkommen unverständliches Problem, vielleicht kann 
mir ja jemand eine Erklärung geben.

Ich schreibe ein Datenbankinterface und will per hidden parameter den 
Inhalt von $_SESSION['work'] weiterreichen. Das klappt in einem Fall im 
anderen nicht.

######################################
if ($_SESSION['work'] == delete){
/********************************************************
*löschen und feedback                    *
*Datenbankabfrage = Eingabe + Verarbeitung        *
*hier direkt im script, da interner Bereich        *
*zuallererst die Authentifizierung (siehe ganz am Ende)    *
*********************************************************/
/*require_once "DB.php";
$host = 'localhost';
$db_name = 'literatur';
$dsn = "pgsql://".$_SESSION['user'].":".$_SESSION['pass']."@$host/$db_name";
$db = DB::connect($dsn);
$db->query("DELETE FROM museum WHERE id = '".$_POST['id']."'");

//Datenbankverbindung beenden
$db->disconnect();*/

$tpl->setVariable("SEARCH", "Der Datensatz '".$_POST['title']."' von 
'".$_POST['authors']."' mit der id ".$_POST['id']." wurde aus der 
Datenbank gelöscht");
$tpl->parse("arbeit");

//Der Backbutton
$form = new HTML_QuickForm('firstForm','','working.php');
//Layout der Formen verändern
$renderer =& $form->defaultRenderer();
$renderer->setFormTemplate('<table width="100%" border="0" 
cellpadding="0" cellspacing="0">
<form{attributes}>{content}</form></table>');
$renderer->setHeaderTemplate('<tr><td align="left" 
colspan="2"><p><b>{header}</b></p></td></tr>');

$form->addElement('hidden', 'work', $_SESSION['work']); 
<----------####hier geht es nicht#####

$form->addElement('submit', null, 'nächsten Satz löschen');
$t = $form->toHtml();
$tpl->setVariable("BACK","$t");
}

elseif ($_SESSION['work'] == add){
/********************************************************
*einfügen und feedback                    *
*Datenbankabfrage = Eingabe + Verarbeitung        *
*hier direkt im script, da interner Bereich        *
*zuallererst die Authentifizierung (siehe ganz am Ende)    *
*********************************************************/
require_once "DB.php";
$host = 'localhost';
$db_name = 'literatur';
$dsn = "pgsql://".$_SESSION['user'].":".$_SESSION['pass']."@$host/$db_name";
$db = DB::connect($dsn);
$db->query("INSERT INTO museum VALUES 
(nextval('museum_id_seq'::text),'".$_POST['title']."', 
'".$_POST['year']."', '".$_POST['authors']."', '".$_POST['editor']."', 
'".$_POST['abstract']."', '".$_POST['journal']."', 
'".$_POST['volume']."', '".$_POST['pagebegin']."', 
'".$_POST['pageend']."', '".$_POST['series']."', '".$_POST['number']."', 
'".$_POST['address']."', '".$_POST['institution']."', 
'".$_POST['publisher']."', '".$_POST['language']."', 
'".$_POST['isbn_issn']."', '".$_POST['standort']."', 
'".$_POST['anmerkung']."', '".$_POST['rezension']."', 
'".$_POST['citationtype']."', 'now', '".$_POST['keywords']."')");

//Datenbankverbindung beenden
$db->disconnect();

$tpl->setVariable("SEARCH","Der Datensatz mit dem Titel: 
'".$_POST['title']."' von '".$_POST['authors']."' wurde der Datenbank 
hinzugefügt" );
$tpl->parse("arbeit");

//Der Backbutton
$form = new HTML_QuickForm('firstForm','','working.php');
//Layout der Formen verändern
$renderer =& $form->defaultRenderer();
$renderer->setFormTemplate('<table width="100%" border="0" 
cellpadding="0" cellspacing="0">
<form{attributes}>{content}</form></table>');
$renderer->setHeaderTemplate('<tr><td align="left" 
colspan="2"><p><b>{header}</b></p></td></tr>');

$form->addElement('hidden', 'work', $_SESSION['work']); <------------- 
####hier geht es#####

$form->addElement('submit', null, 'nächsten Satz hinzufügen');
$t = $form->toHtml();
$tpl->setVariable("BACK","$t");
}

#####################################################

Sobald ich im Falle von $_SESSION['work'] == delete aus

$form->addElement('hidden', 'work', $_SESSION['work']);

$form->addElement('hidden', 'anders', $_SESSION['work']);

mache geht es. Irgendwie weiß ich nicht mehr weiter.

Dankbar für jeden Hinweis Matthias
-- 

Entweder man lebt, oder man ist konsequent.
		-- Erich Kästner


php::bar PHP Wiki   -   Listenarchive