<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>

<title>Code Igniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript">
window.onload = function() {
	myHeight = new fx.Height('nav', {duration: 400});
	myHeight.hide();
}
</script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='Rick Ellis' />
<meta name='description' content='Code Igniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>Code Igniter User Guide Version 1.5.0</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Linear Table of Contents</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
Scaffolding
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">

<h1>Scaffolding</h1>

<p>Code Igniter's Scaffolding feature provides a fast and very convenient way to add, edit, or delete information in your database
during development.</p>

<p class="important"><strong>Very Important:</strong>  Scaffolding is intended for development use only.  It provides very little
security other than a "secret" word, so anyone who has access to your Code Igniter site can potentially edit or delete your information.
If you use scaffolding make sure you disable it immediately after you are through using it.  DO NOT leave it enabled on a live site.
And please, set a secret word before you use it.</p>


<h2>Why would someone use scaffolding?</h2>

<p>Here's a typical scenario:  You create a new database table during development and you'd like a quick way to insert some data
into it to work with.  Without scaffolding your choices are either to write some inserts using the command line or to use a
database management tool like phpMyAdmin.  With Code Igniter's scaffolding feature you can quickly add some data using its browser
interface.  And when you are through using the data you can easily delete it.</p>

<h2>Setting a Secret Word</h2>

<p>Before enabling scaffolding please take a moment to set a secret word.  This word, when encountered in your URL,
will launch the scaffolding interface, so please pick something obscure that no one is likely to guess.</p>

<p>To set a secret word, open your <kbd>application/config/routes.php</kbd> file and look for this item:</p>

<code>$route['scaffolding_trigger'] = '';</code>

<p>Once you've found it add your own unique word.</p>

<p class="important"><strong>Note:</strong> The scaffolding word can <strong>not</strong> start with an underscore.</p>


<h2>Enabling Scaffolding</h2>

<p>Note: The information on this page assumes you already know how <a href="controllers.html">controllers</a> work, and that you have
a working one available.  It also assumes you have configured Code Igniter to auto-connect to your <a href="../database/index.html">database</a>.
If not, the information here won't be very relevant, so you are encouraged to go through those sections first.
Lastly, it assumes you understand what a class constructor is.  If not, read the last section of the <a href="controllers.html">controllers</a>
page.</p>

<p>To enable scaffolding you will initialize it in your constructor like this:</p>

<code>
&lt;?php<br />
class Blog extends Controller {<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function Blog()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::Controller();<br /><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<samp>$this->load->scaffolding(</samp><kbd>'table_name'</kbd>);</samp><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
?&gt;</code>

<p>Where <kbd>table_name</kbd> is the name of the table (table, not database) you wish to work with.</p>

<p>Once you've initialized scaffolding, you will access it with this URL prototype:

<code>www.your-site.com/index.php/<var>class</var>/<dfn>secret_word</dfn>/</code>

<p>For example, using a controller named <var>Blog</var>, and <dfn>abracadabra</dfn> as the secret word,
you would access scaffolding like this:</p>

<code>www.your-site.com/index.php/<var>blog</var>/<dfn>abracadabra</dfn>/</code>

<p>The scaffolding interface should be self-explanatory.  You can add, edit or delete records.</p>


<h2>A Final Note:</h2>

<p>The scaffolding feature will only work with tables that contain a primary key, as this is information is needed to perform the various
database functions.</p>


</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="autoloader.html">Auto-loading Resources</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Next Topic:&nbsp;&nbsp;<a href="routing.html">URI Routing</a>
<p>
<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>
</div>

</body>
</html>