Creating dynamic Websites with PHP, MySQL and Smarty - php Form

Author Topic: Creating dynamic Websites with PHP, MySQL and Smarty  (Read 2419 times)

Offline alex

  • Global Moderator
  • *****
  • Posts: 77
  • Karma: +20/-0
    • View Profile
Creating dynamic Websites with PHP, MySQL and Smarty
« on: July 20, 2010, 01:44:13 PM »


config.php

Code: [Select]
<?php 
//MySQL Configuration
//DB Host (Normally 'localhost')
$dbhost 'localhost';
//DB Database Username
$dbusername 'root';
//DB Database User Password
$dbpassword 'mypassword';
//DB Database Name
$dbname 'mydbname';
//mysql_connect function
$conn=mysql_connect($dbhost$dbusername$dbpassword);
if(!
$conn) :
   die(
'Could not connect: ' mysql_error());
endif;
$db=mysql_select_db($dbname$conn);
if(!
$db) :
   die (
'Cant connect to database : ' mysql_error());
endif;
?>

install.php
Code: [Select]
<?php
//make a MySQL connection
include('config.php');
//create a MySQL table in the selected database
mysql_query("CREATE TABLE `page` (
  `linkid` int(11) NOT NULL auto_increment,
  `text` text collate utf8_unicode_ci,
  `linkurl` text collate utf8_unicode_ci,
    PRIMARY KEY  (`linkid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 
COLLATE=utf8_unicode_ci AUTO_INCREMENT=1"
)
or die(
mysql_error());
?>

index.php
Code: [Select]
<title>Index Page</title>
<center><h2>INDEX</h2></center><BR>
<?php
//make a MySQL connection
include('config.php');
echo 
"&nbsp;<a href=\"insert.php\">INSERT PHP</a><br>";
//get all the data from the page table
//*=select everything from the table page
$result mysql_query("SELECT * FROM page"
or die(
mysql_error()); 
while(
$link=mysql_fetch_array($result)){
//echo (display) a link using $link[linkid]
echo "&nbsp;<a href=\"webpage.php?id=$link[linkid]\">Web Page 1</a><br>";
}
?>

insert.php

Code: [Select]
<title>Insert Page</title>
<center><h2>INSERT PAGE</h2></center><br>
<a href="index.php">INDEX PAGE</a>
<?php
//make a MySQL connection
include('config.php');
//to check if a submit button was clicked, use this...
if(isset($_POST['submit']))
{
$text $_POST['text'];
$linkurl $_POST['linkurl'];
//the INSERT INTO statement is used 
//to add new records to a database table
mysql_query("INSERT INTO page (text,linkurl)
VALUES ('$text','$linkurl')"
)
or die(
mysql_error());  
}else{
?>

<form method="post" action="insert.php">
<TABLE><TR><TD>
Title:
</TD>
<TD>
<input name="text" size="60" maxlength="255">
</TD></TR>
<TR><TD>
URL:
</TD>
<TD>
<input name="linkurl" size="60" maxlength="255">
</TD></TR>
<TR><TD>
<input type="submit" name="submit" value="submit">

</TD></TR></TABLE>
</form>
<?php
}
?>
« Last Edit: July 20, 2010, 01:59:05 PM by alex »

Offline alex

  • Global Moderator
  • *****
  • Posts: 77
  • Karma: +20/-0
    • View Profile
Re: Creating dynamic Websites with PHP, MySQL and Smarty
« Reply #1 on: July 20, 2010, 01:45:27 PM »
webpage.php
Code: [Select]
<?php
////make a MySQL connection
include('config.php');
// smarty configuration
include('Smarty.class.php'); 
$smarty = new smarty(); 
$smarty->template_dir 'templates'
$smarty->compile_dir 'templates_c'
$smarty->cache_dir 'cache';
//get ID from URL
$id $_GET['id'];
//get linkid, text, linkurl from the page table
//..or..*=select everything from the table page
$result mysql_query("SELECT linkid, text, linkurl 
FROM page WHERE linkid='$id' "
)
or die(
mysql_error()); 
while(
$myrow mysql_fetch_assoc($result))
{
$values[] = $myrow;
}
$smarty->assign('page'$values);
$smarty->caching 1;
//$REQUEST_URI will create a separate cache file 
//for each unique URL when you call webpage.tpl.
$smarty->display('webpage.tpl',$REQUEST_URI);
?>

templates/webpage.tpl

Code: [Select]
{section name=page loop=$page}

<head><title>{$page[page].text}</title></head>

<h1>{$page[page].text}</h1>

<a href="{$page[page].linkurl}">{$page[page].text}</a>
 
{/section}
« Last Edit: July 20, 2010, 01:59:56 PM by alex »

Offline alex

  • Global Moderator
  • *****
  • Posts: 77
  • Karma: +20/-0
    • View Profile
Re: Creating dynamic Websites with PHP, MySQL and Smarty
« Reply #2 on: July 20, 2010, 01:48:21 PM »
« Last Edit: July 20, 2010, 01:59:41 PM by alex »