Introduction
A...
They say that PHP, C# and Java are most wanted and most
preferable programming languages. Why is so for PHP? PHP is as by definition
server-side scripting language. It is quite easy but very powerful language. Nowadays,
web is more and more expanding and need for web development is extreme. There
are plenty of website designs/templates from the ‘box’ which can be bought,
rent or even found free. Of course some of these websites are with plenty of
features and really amazing. Usually for a specific project, or some innovation,
it is quite hard to find adequate template or already made webpage. Designing
live php webpage/website/webplatform/webportal from scratch is not easy job at
all.
In this article I will lead you through basic
things needed for you to start developing your own php web portal, teaching you
some basic html, teaching you basic programming, validating form inputs,
reading writing and editing mysql database etc.
server
For beginning of course you should host your website
somewhere. Best solution is buying webhosting package from some specialized
hosting company (I won’t mention here any). You can buy let’s say Linux package
in which there is already installed 1. http web server, 2. mysql server and 3.
php itself.
If you need to have your own server than you can setup all
these quite easy through dedicated packages, for example WAMP for Windows, MAMP
for Mac OS X, LAMP for Linux etc. Let’s just mention that these packages will
install and usually configure all things we need: Apache http server, mysql
server and php.
before starting learning php
Before starting php programming lessons, you need to know
some other things.
First
thing to know is HTML tags. HTML tag or element is actually keyword which is
inside angle brackets <…> and they are like ‘commands’ to web browser,
for example if <b> tag is present, any text displayed after this tag will
be in bold. Like in our word processor every block of text we want to let’s say
make bold has to be selected so there will be starting and ending point, so if
we want to make some text bold we should start bold, put text and then end bold,
like this: <b>this is bold text</b> where output in browser will be
this is bold text, of course it will
be displayed without beginning and ending tag. Usually html tags go in pair
like: <...>something in here</…> where slash is saying ‘here is
ending of tag block’.
If you want to develop php website, you should definitely
learn perfectly table html tags: <table>, <tr> and <td>, go
right now and learn them if you don’t know them. Immediately after this, go
learn forms in html, we will need these for entering data like Name, City,
Price, add pictures or files etc…
Second
thing you should know are databases. Of course databases are ‘oceans’, but
without them there would not be any of accounting software, supermarket
software, telephone databases etc. For beginning knowing to create/edit table,
using MySQL phpMyAdmin and understanding simple ‘SELECT’ SQL command would be
enough.
Third
basic thing to know is FTP. FTP stands for File Transfer Protocol, it is
actually a software which enables connection and file transfer between your
computer and server, so through FTP we will send our PHP program to our server.
Fourth
thing is choosing your PHP editor. I personally use Notepad++ which is easy to
use and is free. It also has integrated FTP which is simple and very useful, so
after writing some code, by just pressing ‘Upload file’ button, your file will
be immediately sent to server so you can test it right away.
Fifth and not last thing is using java script inside
our produced html. Just let me clarify to you that php code stays and executes in
server and is not accessible by user, but java script code is executed by your
web browser and is accessible by anyone.
our first php code
First
thing to know is where to put your code. php code goes inside <?php … ?>
tag, so anything written inside this code should be php. Let’s see one very
simple example:
<span style="font-size: 11pt; line-height: 115%; font-family: "Calibri","sans-serif";"><?php
<span> </span>echo ‘This is first line<br>’;
<span> </span>echo ‘This is second line’;
?></span>
echo command is
very simple and very important command, it sends text to our web browser, in
this case two lines of text. You can see that I used <br> at the end of
first line, this is ‘break’ (new line) html tag, so because of this second line
of text would be displayed beneath of first line.
You probably noticed that at the end of echo command there
is semicolon “;” sign, actually this is the rule of C language and it should be
at the end of every command.
variables and arrays
Variables are one
of most important things in programming languages. So what are variables?
Remember school? X is variable, Y is variable, Z is variable. Variable is
called because it can be of any value, so in one moment it can be 1 and in
second moment can be 2. Variables in programming can be also strings (texts).
Example: x=55, x=”John Doe”. In php, every variable should begin with $ sign
and of course don’t forget semicolon ‘;’. Let’s see an example:
<?php
$myName="John Doe";
$myAge=55;
echo ‘My name is ’;
echo $myName;
echo ‘ and I am ’;
echo $myage;
echo ‘ years old.’;
$afterYears=10;
$myAge+=$afterYears;
Echo ‘ After ’. $afterYears.’ years, I will be ‘.$myAge.’ years old.’;
?>
We could put first five echo’s in one echo like this: echo ‘My
name is ‘.$myName.’ and I am ‘.$myage.’ years old.’;
Dot sign “.” means addition, so it means “add .$myName to
previous sting”
Addition of two variables is done through + sign, instead of
doing +=, I could do simply:
$myAge=$myAge+$afterYears;
I could use “ instead of ‘ in echo command, but plenty of
html tags use “ in it, like for example table tag: <table border="1"
width="100%">, so it is easily written through
echo ‘<table <span> </span>border="1" width="100%">’;
Arrays are
variables but organized/put in series. Let’s see an example:
$citiesArray = array();
$citiesArray[]=’New York’;
$citiesArray[]=’Washington DC’;
$citiesArray[]=’Los Angeles’;
$citiesArray[]=’Wyoming’;
$citiesArray[]=’San Antonio’;
$numberOfCities=5;
So we created here string array which contains 5 elements. Elements of an array
are accessed through brackets, like this:
echo $citiesArray[0];
The output will be New York, because elements of arrays
always begin at position 0. Two slashes // means ‘comment’ and nothing after
two slashes till new line is not executed.
start the session
Sadly values of our variables and arrays disappear after php
ends executing, so if we need to keep track of value of our variable, we should
use session variables. Session is in fact a block of code which starts when web
browser opens and its life is until that web browser closes or session is
closed. Example of session is our web e-mail. Session starts when we click
login button after we entered valid username and password. Session ends when we
click on logout button or we close that web browser. Variable which needs to be
tracked and reused within the session is our email address, example
johndoe@myemailprovider.com
In php, sessions are really very simple. At the very
beginning of php code we should declare session start, like this:
<?php
<span> </span>session_start();
<span> </span>….
?>
Session variable is declared after session_start command,
but beware, it has to be declared only first time session started, example
after login button and if user entered valid username and password. Example of
session variable:
$_SESSION[‘userLoggedIn’] =’johndoe@myemailprovider.com’;
what if
Another most important thing in programming is checking
things. The simplest way to check something is through if command. Example:
if(isset($_SESSION[‘userLoggedIn’])) {
<span> </span>echo ‘User ‘.$_SESSION[‘userLoggedIn’].’is logged in.’;
<span> </span>…
}
else {
<span> </span>echo ‘No user is logged in!’;
<span> .</span>…
}
So in this case if session variable ‘userLoggedIn’ is set,
it will display text that that user is logged in, in contrary if that session
variable is not set (else command), ‘No user is logged in!’ text will be
displayed. Other way of checking variables is switch/case command. Example:
$myStatus=1;
switch($myStatus) {
case 0:
echo ‘I am not married.’;
….
break;
case 1;
echo ‘I am married.’;
….
break;
….
}
So in this scenario we did checking against variable
$myStatus
, and we executed some different code for different values, for
example if variable is 1 then text ‘I am married.’ will be displayed.
java scripts
Java script functions should be inserted inside html tag
<script Language="Javascript"><!-- …… //--></script> in top of the page but
outside of php tag and after session start. Example:
<?php
<span> </span>session_start(); // do not forget that session start should be at top of everything
?>
<script Language="Javascript">
<!--<span> </span>
<span> </span>function myfunction()
<span> </span>{
<span> </span>….
<span> </span>}
</script>
Java script is used for example: for validating form fields,
creating interactive buttons, doing some screen animation like moving alien
ship, etc. Java language is very similar to php and is simple to learn. Java
scripts are called from: example html tags like within <input …> tag:
echo ‘<input type="text" name="nameAndLastName"
value="'.htmlspecialchars($myname, ENT_QUOTES).'" onChange=" validateempty
(this,5,'."'Insert your name and last name'".')">’;
In this case when we change field (onChange), java script
function validateempty() will be called and it will actually check if entered
field is more or equal than 5 characters.
You can see in this example that I used htmlspecialchars()
function which is in fact very important function which will prevent one type
of attacks for our databases.
mysqli, and loops
mysqli is in fact new way of accessing and working with
databases in mysql through php. Let’s read some data from our database:
$DB_HOST=’myhost’;
$DB_USER=’mysqlusername';
$DB_PASS=’mysqluserpassword’;
$DB_NAME=’mydatabasetouse’;
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
/// check the connection to database
if (mysqli_connect_errno()) {
printf("Connection failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT * FROM MyCompanies where ID>0";
if ($myresult = $mysqli->query($query)) { // is there any records found?
while ($row = $myresult->fetch_assoc()) {
printf ("%s (%s)\n", $row["Name"], $row["Address"]);
}
$myresult->free();
}
$mysqli->close();
In this example we opened a database through mysqli command,
did a simple SELECT query, checked if any records are found and looped through
every record returned and displayed Name and Address fields. At the end we
freed resources of results and closed database object.
printf command is
similar to echo, but inside of quotes you can put %s or %d which than are
replaced by string variable (%s) and number variable (%d) that are after first
parameter delimited by comma ‘,’ example:
printf("My name is %s and I am %d years old.", $myName,$myAge);
Inside while command, command fetch_assoc() is executed on
$myresult. With this command we retrieved data from our database and actually
filled array $row[] with table field elements, we displayed fields by searching
by their respective names: $row["Name"], $row["Address"] …
You can see that I used while
command, which is similar to for
command and are very important commands in programming languages. They are used
to ‘loop’/repeat a block of code inside of { } brackets until condition is
true. Let’s see an example of for
command:
for($i=0;$i<100;$i++) {
<span> </span>echo $i+1.’, ‘;
}
In this example numbers from 1 to 100 will be displayed
since for command will be repeated
until $i is less than 100.
headers and footers
You’ve seen in web pages that header and footer is always
same and it repeats. I personally prefer to create two separate .php files, one
for header and the other for footer. In header I usually put logo and selection
menu, while in footer I put company information, developer credit and similar
info’s. You can put in header variables which you can use them in your main page
and also footer, like for example background color, text color, font etc.
Including header and footer in your main page (usually in your index.php page) is
very simple, just write: include "header.php"; after session_start()
command, it is same for your footer: include "footer.php"; at the end
of your main php file but before ?> ending tag.
In example below you can find actual working header from my
www.autosalloni.com webpage. It includes logo, some information on top right
corner, weather information for city near me and working menu. All formatting are
done through tables with invisible borders, so tables are really ‘must know’.
header.php
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>autosalloni.com</title></head>
<body bgcolor="#DFDFDF" leftmargin="0" rightmargin="0" topmargin="0">
<table border="0" width="100%" height="100" bgcolor="#800000"><tr><td width="17"> </td><td><b><font face="Arial" size="7" color="#FFFFFF">autosalloni.com</font></b></td>
<td width="170"><font color="#FFFFFF" style="font-size: 8pt" face="Arial">Send us by email your opinion about this php tutorial.<a href="mailto:info@autosalloni.com?subject=New opinion"><font color="#FFFF00">info@autosalloni.com</font></a></font></td>
<td align="right" bgcolor="#C0C0C0" width="1"><script src='http://netweather.accuweather.com/adcbin/netweather_v2/netweatherV2.asp?partner=netweather&tStyle=whteYell&logo=0&zipcode=EUR|CS|YI003|PRISTINA|&lang=eng&size=7&theme=gold&metric=1&target=_self'></script>
</td></tr></table>
<table border="0" width="100%" height="50" cellspacing="0"><tr>
<?php
$mymenucolor="#0068CF";
$mymenucolorselected="#00689F";
echo "<td bgcolor=$mymenucolor width=\"20\"> </td>";
$mycategory=1;
if(intval($_GET['category'])>0)
$mycategory=intval($_GET['category']);
$mycolor1=$mymenucolor;
if($mycategory==1)
$mycolor1=$mymenucolorselected;
$mycolor2=$mymenucolor;
if($mycategory==2)
$mycolor2=$mymenucolorselected;
$mycolor3=$mymenucolor;
if($mycategory==3)
$mycolor3=$mymenucolorselected;
$mycolor4=$mymenucolor;
if($mycategory==4)
$mycolor4=$mymenucolorselected;
$mycolor5=$mymenucolor;
if($mycategory==5)
$mycolor5=$mymenucolorselected;
echo "<td bgcolor=$mycolor1 width=\"1\"><b><font color=\"#FFFFFF\" face=\"Arial\"><a href=\"?category=1\" STYLE=\"TEXT-DECORATION: NONE\"><font color=\"#FFFFFF\">AUTOSALOONS</font></a></font></b></td>";
printf("<td bgcolor=$mymenucolor width=\"20\"> </td>");
echo "<td bgcolor=$mycolor2 width=\"1\"><b><font color=\"#FFFFFF\" face=\"Arial\"><a href=\"?category=2\" STYLE=\"TEXT-DECORATION: NONE\"><font color=\"#FFFFFF\">AUTOPARTS</font></a></font></b></td>";
printf("<td bgcolor=$mymenucolor width=\"20\"> </td>");
echo "<td bgcolor=$mycolor3 width=\"1\"><b><font color=\"#FFFFFF\" face=\"Arial\"><a href=\"?category=3\" STYLE=\"TEXT-DECORATION: NONE\"><font color=\"#FFFFFF\">AUTOSERVICES</font></a></font></b></td>";
printf("<td bgcolor=$mymenucolor width=\"20\"> </td>");
echo "<td bgcolor=$mycolor4 width=\"100\"><b><font color=\"#FFFFFF\" face=\"Arial\"><a href=\"?category=4\" style=\"text-decoration: none\"><font color=\"#FFFFFF\">RENT A CAR</font></a></font></b></td>";
printf("<td bgcolor=$mymenucolor></td>");
echo "<td bgcolor=$mycolor5 width=\"150\"><p align=\"right\"><b><a href=\"?category=5\" STYLE=\"TEXT-DECORATION: NONE\"><font face=\"Arial\" color=\"#FFFF00\">SELL YOUR CAR </font></a></b></td>";
printf("<td bgcolor=$mymenucolor width=\"20\"> </td>");
echo "<td bgcolor=$mymenucolor> </td>"
echo ‘<td bgcolor="#333333" width="170" align="center">’;
echo ‘<table border="0" width="100%" cellspacing="0" cellpadding="0" height="15">’;
echo ‘<tr><td></td></tr></table></td>’;
echo "<td bgcolor=$mymenucolor width=\"20\"> </td></tr></table>";
As you can see, I’ve used five variables for five different
menu background colors (categories). I’ve passed selected menu through php ?
hyperlink like: index.php?category=2, so when category (or menu item) 2 is
clicked, number 2 will be passed to next time page loads and it will be read by
$_GET: $mycategory=intval($_GET['category']);. Function intval() guarantees us that number is
passed and not any text, it converts strings to numbers.
forms
Forms
are used to get data from our users, for example item name, manufacturer,
price, pictures. In example below I will show you how to get these fields from
user and simple image upload technique I use in my web portal in which you can
upload image which will be automatically previewed and I added delete button so
last image can be deleted if uploaded by mistake, also will show you validation
of fields by java script and php itself. HTML form part should be inserted
somewhere before end of your php file. It should be there because checking of
our submission values should be done before our HTML form code. Fields are read
from users by <input …> tag. At the end when save item button is clicked,
database will be updated with number of images uploaded so the application will
know how many images are for each item. Of course this is not perfect solution,
but it is one of possible solutions and easy to learn. Including just a little
bit more java script on field validation and upload, some things could be done
much better and easier, but all those I leave for you.
<span style="font-size: 11pt; line-height: 115%; font-family: "Calibri","sans-serif";"></span> <?php
session_start();
include "header.php";
$mybgcolor='#0068CF';
?>
<script Language="Javascript">
<!--
function emptyvalidation(mytext, mylength, alerttext)
{
if (mytext.value.length<mylength)
{if (alerttext) {alert(alerttext);} return false;}
else
{return true;}
}
</script>
<?php
if(!isset($_SESSION['allpictures'])) {
$_SESSION['allpictures'] = 0;
$_SESSION['AdvID']=0;
}
if(!isset($_SESSION['allManufacturers'])) {
$ManufacturersArray = array();
$link = mysql_connect($DB_HOST, $DB_USER, $DB_PASS);
if (!$link) {
printf("Connect failed: %s\n", mysql_error());
exit();
}
mysql_select_db($DB_NAME,$link);
$myquerystring=sprintf("SELECT * FROM `Manufacturers` WHERE ManufacturerID>0 order by ManufacturerID ");
$result = mysql_query($myquerystring,$link);
$allManufacturers = mysql_num_rows($result);
if($allManufacturers>0) {
$ManufacturersArray[]=’Select Manufacturer’;
while ($myrow = mysql_fetch_array($result)) {
$ManufacturersArray[]=$myrow["ManufacturerName"];
}
}
$_SESSION['allManufacturers']=$allManufacturers;
$_SESSION['ManufacturersArray']=$ManufacturersArray;
mysql_close($link);
}
$allfields=3;
$ip = $_SERVER["REMOTE_ADDR"];
$itemErr="";
$listManufacturerErr="";
$priceErr="";
$myitem=$_POST["item"];
$mylistManufacturer =$_POST["listManufacturer"];
$myprice=$_POST["price"];
$myOK=0;
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (strlen($_POST["item"])<5) {
$emriErr=" *";
}
else {
$myOK++;
}
if ((int)$_POST["listManufacturer "]==0) {
$listManufacturerErr=" *";
}
else {
$myOK++;
}
if ((int)$_POST["price"]<=0) {
$priceErr=" *";
}
else {
$myOK++;
}
}
if (array_key_exists('newpost', $_POST) && $myOK>=$allfields && $_SESSION['allpictures'] > 0) {
echo ‘Thank you for inserting another item!<br><br>’;
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
// check connection
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "UPDATE `Items` SET `NumberOfImages`='".$_SESSION['allpictures']."', `ItemSubmited`='1' WHERE `Item_ID` ='".$_SESSION['AdvID']."' LIMIT 1 ;";
$stmt = $mysqli->prepare($query);
$stmt->execute();
$stmt->close();
// Reset variables
$myOK=0;
$myitem="";
$myprice=0;
$mylistManufacturer=0;
$_SESSION['allpictures']=0;
$_SESSION['AdvID']=0;
}
$df=0;
// if delete last image button is clicked, decrement one image
if (array_key_exists('deletelast', $_POST) && $myOK>=$allfields && $_SESSION['allpictures'] > 0) {
$_SESSION['allpictures']--;
$df++;
}
// if all fields are entered and upload picture is clicked, get inside...
if (array_key_exists('uploadfoto', $_POST) && $myOK>=$allfields) {
define ('MAX_FILE_SIZE', 1024 * 1000); // 1000kb filesize limit
$permitted = array('image/jpeg', 'image/pjpeg', 'image/png'); // accept jpeg and png only
if (in_array($_FILES['image1']['type'], $permitted) && $_FILES['image1']['size'] > 0 && $_FILES['image1']['size'] <=MAX_FILE_SIZE) {
switch($_FILES['image1']['error']) {
case 0:
// move the file to the upload folder and rename it $file='adv_'.strval($_SESSION['AdvID']).'_'.strval($_SESSION['allpictures']+1); // assuming that upload is ok
// if already exists same file, delete it first because he is resending this file
$completeFileName=$_SERVER['DOCUMENT_ROOT'] .'/uploads/'.$file;
if(file_exists($completeFileName)) {
unset($completeFileName);
}
// move and rename file
$success = move_uploaded_file($_FILES['image1']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] .'/uploads/'.$file);
if ($success) {
// increase picture number +1 after successfully moved and renamed
$_SESSION['allpictures']++;
}
break;
}
}
}
if (!array_key_exists('newpost', $_POST)) {
echo '<form action="'.$PHP_SELF.'" method="post" enctype="multipart/form-data" name="uploadImage" id="uploadImage">';
echo '<table border="0" width="700" cellspacing="0" cellpadding="0" >';
echo '<tr><td bgcolor="'.$mybgcolor.'"><b><font color="#FFFFFF" face="Arial" size=4> Item data</font></b></td></tr></table>';
echo '<table border="1" width="700" bgcolor="#ffffff" cellspacing="0" cellpadding="0" style="border: 1pt solid #000000; border-Collapse:collapse">';
// Item name field
echo '<tr><td><table border="0" width="100%">';
echo '<tr><td width="65" bgcolor="#808080"><font color="#FFFFFF">Item</font></td>';
echo '<td>';
if($myOK>=$allfields) {
echo $myitem;
echo '<input type="hidden'; // disable input because already is inserted
}
else {
echo '<input type="text';
}
echo '" name="item" value="'.htmlspecialchars($myitem, ENT_QUOTES).'" onChange="emptyvalidation(this,5,'."'Please write item name'".')"><font color="#FF0000">'.$emriErr.'</font></td>';
echo '<td>';
if($myOK>=$allfields) {
echo $_SESSION['ManufacturersArray'][$mylistManufacturer];
echo '<input type="hidden"'; // disable input because already is inserted
echo ' name="listManufacturer" value="'.htmlspecialchars($mylistManufacturer, ENT_QUOTES).'">';
}
else {
echo '<select name="listManufacturer">';
for($myc=0;$myc<=$_SESSION['allManufacturers'];$myc++) {
echo '<option';
if($myc==$mylistManufacturer)
echo ' selected'; // this line is to set default item selected
echo ' value="'.$myc.'">'.$_SESSION['ManufacturersArray'][$myc].'</option>';
}
echo '</select>';
echo '<font color="#FF0000">'.$listManufacturerErr.'</font>';
}
echo '<td width="100" bgcolor="#808080"><font color="#FFFFFF">Price</font></td>';
echo '<td>';
if($myOK>=$allfields) {
echo $myprice;
echo '<input type="hidden'; // disable input because already is inserted
}
else {
echo '<input type="text';
}
echo '" name="price" value="'.htmlspecialchars($myprice, ENT_QUOTES).'" size=7><font color="#FF0000">'.$ priceErr.'</font></td>';
echo '</td></tr></table>';
echo '</table>';
if($myOK>=$allfields) {
if($_SESSION['AdvID']==0) {
// add new record to database and keep that records number for editing
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
// check connection
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "INSERT INTO `Items` ( `Item` , `Manufacturer` , `Price`) VALUES ( ?, ?, ?);";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('sdd', $myitem, $mylistManufacturer, $myprice);
$stmt->execute();
$_SESSION['AdvID']=$mysqli->insert_id;
$stmt->close();
$mysqli->close();
}
echo '<table border="0" width="700" bgcolor="#ffffff" cellspacing="0" cellpadding="0" >';
echo '<tr><td bgcolor="'.$mybgcolor.'"><b><font color="#ffffff" face="Arial" size=4> Insert pictures (at least one picture - max.1Mb per picture)</font></b></td></tr></table>';
echo '<table border="1" width="700" bgcolor="#ffffff" cellspacing="0" cellpadding="0" style="border: 1pt solid #000000; border-Collapse:collapse">';
echo '<tr><td><table border="0" width="100%">';
echo '<tr><td width="65" bgcolor="#808080"><font color="#FFFFFF">Add pic.</font></td>';
echo '<td><input type="file" name="image1" id="image1" onchange="file_selected = true;" />';
// not more than 7 images can be uploaded
if($_SESSION['allpictures'] < 7) {
echo '<input type="submit" name="uploadfoto" id="uploadfoto" value="Send pic."/>';
}
echo '</td></tr></table></td></tr>';
if($df>0) {
if($_SESSION['allpictures']>0){
// create table for pictures
echo '<table border="0" ><td></td></table>';
echo '<table border="0" width="1" style="border-right:1pt solid #C0C0C0; border-bottom:1pt solid #C0C0C0; border-Collapse:collapse; border-left-style:solid; border-left-width:1pt; border-top-style:solid; border-top-width:1pt"><tr>';
// Displaying uploaded pictures
for($i=0;$i<$_SESSION['allpictures'];$i++) {
$file=strval($_SESSION['AdvID']).'_'.strval($i+1);
echo '<img src="./uploads/adv_'.$file.'" width="100" height="75""></td>';
}
if($_SESSION['allpictures'] > 0) {
echo '<input type="image" name="deletelast" value="deletelast" alt="Delete last pic." src="delete.png" >';
}
echo '</tr></table><br>';
}
}
}
echo '<table border="0" width="700" bgcolor="#ffffff" cellspacing="0" cellpadding="0" ><tr><td bgcolor="'.$mybgcolor.'">';
echo '<p align="center">';
if($_SESSION['allpictures']==0) {
if($myOK>=$allfields) {
}
else {
echo '<input type="submit" name="uploadbutton" id="uploadbutton" value="';
echo 'Continue';
echo '" onclick="this.disabled=true;this.value="Sending...";this.form.submit();"/>';
}
}
else {
echo '<input type="submit" name="newpost" id="newpost" value="Save item"/>';
}
echo '</td></tr></table>';
echo '</form>';
include "footer.php";
?>
Z...
Oh yes, from A to Z, if you try to learn something from A to
Z, than be prepared to read dozens of books and spend years and still not learn
everything. I tried to show you some basic techniques and give you some advices
on php and web development. I encourage you to get started and test things by
yourself. Don’t give up, give it a try, it is not necessary to be perfect in this
because no one is, simply learn something that you can really use in your work,
or do it for fun :).