Github Build: 2020-11-15 - 783ef91 env: production



richb201

Add News Item
 
 
 
 



DEBUG

Web page source file: requires 'news' database and table
 
<?php DECLARE(STRICT_TYPES=1);
# error_reporting(-1);
# ini_set('display_errors', 'true');

    
session_start();
    if( 
) : 
        
$_POST NULLsession_destroy();     
        
session_start();
        
fred($_SESSION);
        
fred($_POST);
        die(
'SESSION DESTROYED');
    endif;    

    
$pdo getpdo(); // source at bottom of thos file

# GET PARAMS
    
$title  = isset($_POST['title']) ? htmlspecialchars($_POST['title']) : '';
    
$body   = isset($_POST['body'])  ? htmlspecialchars($_POST['body'])  : '';
    
$slug   url_title($title'-'TRUE) ;
    
$submit $_POST['submit']     ?? FALSE;

    if(
$submit)  :
        
# vd($submit);die;
        # fred('UPDATE');
        
if( isset($_SESSION['UPDATE']) ) : 
            
$pdo->beginTransaction();            
                
$sql  'UPDATE `news` SET `title`=?, `body`=?, `slug`=? WHERE `id`=? ;';
                
$stmt $pdo->prepare($sql);
                
$TMP  $_SESSION['UPDATE'];
                
$ok   $stmt->execute( [$title$body$slug$TMP ]);
            
$pdo->commit();
        
        else:    
            
$pdo->beginTransaction();            
                
$sql  "INSERT INTO `news` (`title`, `body`, `slug`) VALUES ( ?,?,?);";
                
$stmt $pdo->prepare($sql);
                
$ok   $stmt->execute( [$title$body$slug] );

                
$_SESSION['UPDATE'] =  $pdo->lastInsertId();
                
# ONLY SET ONCE
                # $_SESSION['UPDATE'] = getLastInsert($pdo);
            
$pdotra->commit();
        endif;    

    endif; 
// ($submit) :

    // echo renderHeading();

?>
    <h3 class="tac"> 
        <a href="https://forum.codeigniter.com/thread-77557.html">
            richb201
        </a>
        </h3>

    <form 
        action="?" 
        method="post" 
        accept-charset="utf-8" 
        >

    <dl class="w88 mga">
        
        <dt class="fsl fwb"> Add News Item </dt>
        <dd> &nbsp; </dd>

        <dd>
            <label> Title: </label>    
            <input type="text"     name='title' value='<?= $title ?>' />
        </dd>

        <dd> &nbsp; </dd>
        <dd>
            <label class="fll"> Body:  &nbsp; </label>    
            <textarea class="fll tal w88"     rows="10" name='body'><?= $body ?></textarea> 
        </dd>
        <dd class="clb"> &nbsp; </dd>

        <dt>
            <?php if( isset($_SESSION['UPDATE']) ): ?>
                <input class="bg1 p42 fsl fwb" type="submit"     name='submit' value='UPDATE' />

            <?php else: ?>    
                <input class="bg2 p42 fsl fwb" type="submit"     name='submit' value='SUBMiT' />
            <?php endif; ?>    
        </dt>
        <dd> &nbsp; </dd>

    </dl>

    </form>
    <p> <br> </p>


    <?php if( isset($_GET['richb201']) ): ?>
        <p> <br> </p>
        <div class="w88 mga p42 bd2 bg1 tal">
            <h2 class="fwb"> DEBUG </h2>
                <dl class="bd2 bg2">
                    <dt class="fsl fwb">
                        Web page source file: requires 'news' database and table
                    </dt>
                    <dd> &nbsp; </dd>
                    <dd> <?= highlight_file(__file__true); ?> </dd>
                </dl>
            </div>    
    <?php endif; ?>


<?php 

//========================================================
function getpdo()    
:\
pdo 
{
# PASSWORD LOGIN DETAILS
  
$uHOST 'myHost';
  
$uBASE 'myDatabase'
  
$uNAME 'myUsername'
  
$uPASS 'myPassword'

    if( 
file_exists('/var/www/ci2/DB-CONNS.php') ):
      require 
'/var/www/ci2/DB-CONNS.php';
      
$uHOST 'localhost';
      
$uBASE $aDBS[1][0];
      
$uNAME $aDBS[1][1];
      
$uPASS $aDBS[1][2];
    endif;  

  
mysqli_report(MYSQLI_REPORT_ERROR MYSQLI_REPORT_STRICT);

  
$pdo = (object) FALSE;
  try {
    
$pdo = new \pdo
    
(
        
"mysql:host=$uHOST;dbname=$uBASE;charset=utf8",  
       
$uNAME
       
$uPASS
    
);    
    
// Almost a requirement
        
$pdo->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION); 

  } catch(
pdoException $e) {
          echo  
"<pre>" .print_r($e->getMessage(), TRUE) .'</pre>';
  }

  return 
$pdo;
}
//


    
#=================== RENDER START =================================
function renderHeading()
:
string 
{     
    
$result '';

  if(
defined('ENVIRONMENT') && 'HEADER AND MENU GO HERE'):
      
$path = empty($page) ? 'home' $page;
         
$uri  service('uri');
      
$data = [
        
'uri'       => $uri,  // $analytics; 
        
'title'     => 'Ci4-Strict.tk',
        
'titleUrl'  => $path
       
];  //

      
$result  view('incs/doctype-pob'$data);
      
$result .= view('incs/menu-pob' ,   $data);

      
$PAGE APPPATH .'Views/asubs/' .$path .'/index.php';

      
$tmp strstr($PAGE'asubs/' ); // DEFAULT BLANK ==> trailing

      
if(file_exists($PAGE) ):
        
$tmp strstr($PAGE'asubs/' ); // DEFAULT BLANK ==> trailing
        
$PAGE $tmp;
        
$result .= view('asubs/' .$path .'/index'$data);
      else:
        
$result .= view('asubs/dummy'$data);
      endif;  
  endif;    

  return 
$result;
}
//

/*
# ============================ GET LAST id =======================
function getLastInsert
(
    PDO $pdo
):string 
{
    $result = '';

    if(0) :
        $sql          = 'SELECT `id` FROM `news` ORDER BY `id` DESC LIMIT 0,1';
        $stmt      = $pdo->query($sql);
        $result = $stmt->fetch()['id'];
    else:
        $result = $pdo->lastInsertId();
    endif;    

    return $result;
}//
*/




HTML: Validator CSS: Validator Support: Greta Thunberg