| 
<?php
include("class/autoloader.php");
 
 //Mysqli-Datenbank-Verbindung
 include ("connection_data.php"); //in connection_data.php werden $server, $user, $passwort und $db definiert
 $mysqli= new MySQLi($server, $user, $passwort, $db);
 if($mysqli->connect_errno) {
 echo $mysqli->connect_error;
 }
 
 if(isset($_GET["edit"])){
 $id=$_GET["edit"];
 }else{
 $id=0;
 }
 try{
 //Databinding-Procedure anlegen
 $databinding=new Jb_Databinding_Procedure();
 //Formular anlegen
 $form=new Jb_Form_Model_Form();
 //Textfeld
 $textfeld= new Jb_Form_Model_FormElement();
 $textfeld->name="name";
 $textfeld->label="Name";
 $textfeld->setEditoption("textfeld");
 
 //Verbindung zwischen Databinding und Formular herstellen
 $databinding->addPostBinder($textfeld);
 //Verbindung zwischen Databinding und Datenbank herstellen
 $mysqliBinder = new Jb_Databinding_MysqliBinder($mysqli,"user","name",$id);
 $databinding->addReadWriteBinder($textfeld,$mysqliBinder);
 //Textfeld zum Formular hinzufügen
 $form->addElement($textfeld);
 
 //Submitbutton
 $button=new  Jb_Form_Model_FormElement();
 $button->name="Submit";
 $button->value="Absenden";
 $button->setEditoption('submit');
 $form->addElement($button);
 
 
 //Diesen Block am Besten komplett so übernehmen
 
 //Leere Felder erlauben, wenn das Formular abgesendet wurde
 if(!empty($_POST)){
 $databinding->allowempty=1;
 }
 //Databinding durchführen, wenn das Formular abgesendet wurde, oder $_GET["edit"] existiert
 if(!empty($_POST) or isset($_GET["edit"])){
 if($databinding->bindElements()==true){
 $id=$mysqliBinder->id;
 //Erfolgsmeldung
 $meldung="Eintrag erfolgt! (".$id.") \\n".date("d.m.Y - H:i:s");
 //Weiterleitungsadresse definieren (weitere $_GET-Parameter werden übernommen)
 if(!isset($_GET["edit"])){
 $href=$_SERVER['SCRIPT_NAME']."?edit=".$id;
 if(!empty($_SERVER["argv"])){
 for($i=0;$i<$_SERVER["argc"];$i++){
 $href.="&".$_SERVER["argv"][$i];
 }
 }
 }
 }
 }else{
 $databinding->deleteSession();
 }
 
 //output muss hinter Databinding stehen!
 $viewForm=new Jb_Form_View_HtmlForm($form);
 }catch( Jb_Exception $e){
 echo $e->getExceptionDetails();
 }
 
 ?>
 <html>
 <head>
 <title>Jb_Databinding einfaches Mysqli-Formular</title>
 <script type="text/javascript">
 
 function alerter(){
 <?php if(!empty($meldung)){?>
 alert('<?php echo $meldung?>');
 
 <?php
 if(isset($href)){?>
 window.location.href='<?php echo $href?>';
 <?php
 }
 }
 ?>
 }
 window.onload=function(){
 alerter();
 }
 </script>
 </head>
 <body>
 <?php
 //Formular anzeigen
 //print_r($viewForm);
 $viewForm->output();
 
 ?>
 </body>
 </html>
 |