PHP A 到Z

分享于 

34分钟阅读

Web开发

  繁體 雙語

介绍

一个。

他们说,PHP。C# 和Java是最理想的编程语言。 为什么PHP如此重要? PHP与定义服务器端脚本语言一样。 这是很简单但是非常强大的语言。 网络日益扩大,对网络发展的要求也越来越高。 有许多网站设计/模板来自'框',可以购买,租赁甚至可以自由发现。 当然,这些网站中的一些具有大量的功能和惊人的。 通常为一个特定的项目,或者一些创新,很难找到足够的模板或者已经制作了网页。 从头开始设计 php webpage/website/webplatform/webportal 并不容易工作。

115 %; font-family:"Calibri" ;,"sans-serif""> 在本文中,我将引导你开始开发自己的php web门户,教你一些基本的html,教学基本的编程。

服务器

当然,你应该把你的网站放在。 最好的解决方案是从一些专门的主机公司( 我不会在这里提到) 购买webhosting包。 你可以购买我们说的Linux软件包,其中已经安装了 1. http网络服务器,2,mysql服务器和 3。 php本身。

If我们可以使用专用软件包来安装所有这些软件包,例如 WAMP for Windows for,LAMP Linux 等等,让我们提到这些软件包将安装和通常配置所有需要的东西: Apache http服务器,mysql服务器和 php。

开始学习php之前

在开始php编程课程之前,你需要了解一些其他的。

要知道的第一个东西是HTML标记。 HTML标记或者元素实际上是 inside 尖括号 <的关键字。 > 和'命令'类似于,如果存在 <b> 标记,则在这里标记之后显示的任何文本都会显示粗体。 就像我们our文字处理程序every我们想让bold粗体 bold bold粗体,所以我们要选择粗体,所以如果要使文本加粗,那么就应该开始加粗,然后再加上粗体,这样做: 这里格式是粗体文本 </b>,在浏览器中将显示 ,当然它将显示为粗体,但不显示开始和结束标记。 通常html标签成对出现: <。> 里面的东西。<。 >,其中斜杠表示'这里是标记块的结束'。

如果你想开发php网站,你应该完全了解 table html标签: 如果你不了解 <table>,<tr> 和 <td>,请立即开始学习它们。 在这之后,在html中学习表单,我们将需要这些数据输入 NAME,城市,价格,添加图片或者文件 等等。

你应该知道的 thing。 但是databases数据库'海洋'phpMyAdmin数据库数据库( supermarket ),如果不知道如何创建/编辑 table,那么就足够使用的数据库数据库。

要知道的最基本的第三是 FTP。 FTP代表文件传输协议,实际上是一个能够在计算机和服务器之间传输的软件。

的东西是选择你的PHP编辑器。 我个人使用 NotePad++,它易于使用和免费。 它还有一个简单且非常有用的FTP,因这里编写一些代码后,按'上传文件'按钮即可以立即发送到服务器。

115 %; font-family:"Calibri" ;,"sans-serif""> 第五个 115 %; font-family:"Calibri" ;,"sans-serif""> 而不是最后一件事是使用java脚本 inside 我们生成的html。 只要让我明白php代码在服务器中保持和执行,用户不可以访问,但java脚本代码由web浏览器执行。

我们的第一个php代码

115 %; font-family:"Calibri" ;,"sans-serif""> 首先要知道的是把代码放在哪里。 php代码是 inside <。 > 标记,因此任何编写了 inside的内容都应该是 php。 让我们看一个非常简单的例子:
<spanstyle="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 命令非常简单且非常重要,它向我们的网页浏览器发送文本,在本例中是两行文本。 你可以看到我在第一行的结尾使用了 <>,这是'中断'( 新行) html标记,因这里第二行将显示在第一行。

你可以能注意到,在 echo 命令的末尾有分号";"符号,实际上这是C 语言的规则,它应该在每个命令的末尾。

变量和数组

变量是编程语言中最重要的内容之一。 什么是变量记住学校? X 是变量,Y 为变量,Z 为变量。 变量被调用,因为它可以是任何值,因这里在一刻内可以是 1和第二矩可以是 2. 编程中的变量也可以是字符串( 文本)。 示例:x=55,x="无名氏"。在php中每个变量都应以 $ 符号开始,当然不要忘记分号';'。 让我们看看一个例子:

<?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.';?>

我们可以把 echo的前五个放在一个 echo 上,如下所示: echo'我的NAME 是'。$myname。'而我'。$myage。'年份。';

点符号"。"意味着添加,所以它意味着"添加。$myname"上一个字符"

通过+ 符号添加两个变量,而不是执行 +=,我可以简单地:

$myAge=$myAge+$afterYears; // (which is like in school: X=X+Y)

我可以在 echo 命令中使用"而不是',但是大量的html标记使用"在它中,例如 table 标记: <表 border=" 1"width=" 100%">,所以很容易通过

echo '<table<span></span>border="1" width="100%">'; 

数组是变量,但有组织/put。 让我们看看一个例子:

$citiesArray = array(); // initializing array$citiesArray[]='New York'; // adding element 0 to array $citiesArray[]='Washington DC'; // adding element 1 to array$citiesArray[]='Los Angeles'; // adding element 2 to array$citiesArray[]='Wyoming'; // adding element 3 to array$citiesArray[]='San Antonio'; // adding element 4 to array$numberOfCities=5; 


所以我们在这里创建了字符串 array,其中包含 5个元素。 array的元素可以通过括号访问,如下所示:

echo $citiesArray[0]; 

输出将是纽约,因为数组的元素总是从位置 0开始。 两个斜杠//表示'评论',直到新行未执行后,才会出现 nothing。

启动会话

在php执行后,变量和数组的遗憾值会消失,因这里如果需要跟踪变量的值,则应使用会话变量。 实际上会话是一个 block的代码,当web浏览器打开时,它的生命是关闭或者会话关闭的。 会话的示例是我们的web E-mail。 输入有效用户名和密码后,单击登录按钮开始会话。 当我们单击注销按钮或者关闭网页浏览器时,会话结束。 需要在会话中跟踪和重用的变量是我们的电子邮件地址,例如 johndoe@myemailprovider.com

在php中,会话实际上非常简单。 在php代码的最开始,我们应该声明会话开始,如下所示:

<?php<span></span>session_start();<span></span>....
?> 

会话变量是在session_start命令之后声明的,但是必须先声明它。 会话变量的示例:

$_SESSION['userLoggedIn'] ='johndoe@myemailprovider.com';

如果

编程中另一个最重要的事情是检查。 检查某些东西最简单的方法是如果命令 例如:

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>...
} 

如果设置了会话变量'userLoggedIn',则会显示用户登录的文本,如果没有设置( 其他命令),则显示'没有用户登录'文本。 检查变量的其他方法是 switch/case命令。 例如:

$myStatus=1;
switch($myStatus) {
 case 0:
 echo 'I am not married.';
. . ..
 break;
 case 1;
 echo 'I am married.';
. . ..
 break;
. . ..
}

因这里在这个场景中我们检查了变量 $myStatus,我们执行了不同的代码,如果变量为 1,则显示文本'我已经结婚了。'。

java脚本

应该插入Java脚本函数 inside html标记 <脚本 language="javascript"> <--。。 在页面顶部和会话开始之后,//--> </脚本> 位于页面顶部。 例如:

<?php<span></span>session_start();//do not forget that session start should be at top of everything
?><scriptLanguage="Javascript"><!--<span> </span><span> </span>function myfunction()
<span> </span>{
<span> </span>....
<span> </span>}//--></script>

Java脚本用于以下示例: 为了验证表单域,创建交互式按钮,像移动外部船一样,等等 Java语言非常类似于 php。 Java脚本从以下位置调用: 例如 <输入中的html标签。 > 标记:

echo '<inputtype="text"name="nameAndLastName"value="'.htmlspecialchars($myname, ENT_QUOTES).'"onChange=" validateempty
(this,5,'."'Insertyournameandlastname'".')">';

在这种情况下,当我们更改字段( onChange ) 时,将调用java脚本 function validateempty(),它实际上检查输入字段是否等于 5个字符。

你可以在本例中看到,我使用了 htmlspecialchars() 函数,它实际上是一个非常重要的函数,它们会阻止。

MySQLi,循环

MySQLi 实际上是通过php访问和处理mysql中数据库的新方法。 让我们从数据库中读取一些数据:

$DB_HOST='myhost'; // example localhost$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: %sn", 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();

在本例中,我们通过 MySQLi 命令打开数据库,执行简单的选择查询,检查是否发现了任何记录并在返回的每个记录中循环显示并显示了。 最后我们释放了结果和关闭的数据库对象。

如果使用字符串变量,则 echo 命令类似于,但你可以将 %s 或者 %d 替换为字符串变量( %s ),并使用逗号','示例将第一个参数替换为number变量( %d )

printf("My name is %s and I am %d years old.", $myName,$myAge);

在命令中,命令 fetch_assoc() 在 $myresult. 上执行 使用这里命令,我们从数据库检索数据,并使用 table 字段元素实际填充 array $row[],通过搜索它们各自的名称来显示字段: $row["Name"], $row["Address"]。

在命令中,我使用了,这与命令类似,而且在编程语言中非常重要。 它们用于'循环'/重复/重复 } 括号的代码 inside,直到条件为 true 为止。 让我们看一下命令的示例:

for($i=0;$i<100;$i++) {<span></span>echo $i+1.', ';
}

在这个示例中,从 1到 100的数字将显示,因为命令的将被重复,直到 $i 为 LESS。

页眉和页脚

你在网页中看到 header 和页脚总是相同的,它重复。 我个人喜欢创建两个单独的. php 文件,一个用于 header,另一个用于页脚。 在 header 中,我通常放置 logo 和选择菜单,而在页脚中,我将公司信息。开发者信用和类似信息放在 你可以在你的主页面,页脚,字体和页脚,例如 background 颜色,文本颜色,包括和页脚,包括在你的主页面( 通常在 index.php 页面中),只是写: 包括" header.php";在 session_start() 命令之后,它与你的页脚相同: 在主php文件的末尾包含" footer.php",但在? > 结束标记。

在示例 below 中,你可以从我的www.autosalloni.com 网页中找到实际的工作 header。 它包括 logo,右上角的一些信息,我附近城市的天气信息和工作菜单。 所有格式都是通过具有不可见边框的表格完成的,所以表实际上是'必须知道'。

115 %; font-family:"Calibri" ;,"sans-serif""> header.php

<html><head><metahttp-equiv="Content-Type"content="text/html; charset=windows-1252"><title>autosalloni.com</title></head><bodybgcolor="#DFDFDF"leftmargin="0"rightmargin="0"topmargin="0"><tableborder="0"width="100%"height="100"bgcolor="#800000"><tr><tdwidth="17">&nbsp;</td><td><b><fontface="Arial"size="7"color="#FFFFFF">autosalloni.com</font></b></td><tdwidth="170"><fontcolor="#FFFFFF"style="font-size: 8pt"face="Arial">Send us by email your opinion about this php tutorial.<ahref="mailto:info@autosalloni.com?subject=New opinion"><fontcolor="#FFFF00">info@autosalloni.com</font></a></font></td><tdalign="right"bgcolor="#C0C0C0"width="1"><scriptsrc='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><tableborder="0"width="100%"height="50"cellspacing="0"><tr><?php
$mymenucolor="#0068CF";
$mymenucolorselected="#00689F";echo"<td bgcolor=$mymenucolor width="20">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</td>");echo"<td bgcolor=$mymenucolor>&nbsp;</td>"echo '<tdbgcolor="#333333"width="170"align="center">';
echo '<tableborder="0"width="100%"cellspacing="0"cellpadding="0"height="15">';
echo '<tr><td></td></tr></table></td>';
echo"<tdbgcolor=$mymenucolor width="20">&nbsp;</td></tr></table>";

可以看到,我为五个不同的菜单 background 颜色( 类别) 使用了五个。 我通过php传递了选中的菜单? 超链接类似:index.php? category=2,因此当点击 category ( 或者菜单项) clicked 2将被传递到下一次页面加载,它将以 $_GET: 读取: $mycategory=intval( $_GET ['category'] ) ;。 函数 intval ( ) 向我们保证数字是通过的而不是任何文本,它将字符串转换为数字。

窗体

115 %; font-family:"Calibri" ;,"sans-serif""> 表单用于从用户那里获取数据,例如项目 NAME。制造商。价格。图片。 我将向你展示如何使用用户自定义图片上传图片,并在网页上使用简单图片上传技术。如果上传图片,你可以通过java脚本和php本身来显示字段。 HTML表单部分应该在你的php文件结束之前插入。 因为在我们的HTML表单代码之前应该检查提交值,所以应该在那里。 字段由 <输入从用户读取。 > 标记,在单击"保存项"按钮后,数据库将随上载的图像数量更新,这样应用程序会知道多少图像。 当然这不是完美的解决方案,但它是可能的解决方案和容易学习的。 在字段验证和上传中只包含一些java脚本,有些事情可能会更好和更容易。

<spanstyle="font-size: 11pt; line-height: 115%; font-family:"Calibri","sans-serif";"></span><?php
 session_start();
include "header.php";
$mybgcolor='#0068CF';?><scriptLanguage="Javascript"><!-- function emptyvalidation(mytext, mylength, alerttext)
{
 if (mytext.value.length<mylength)
 {if (alerttext) {alert(alerttext);} returnfalse;}
 else {returntrue;}
}//--></script><?php
if(!isset($_SESSION['allpictures'])) {
 $_SESSION['allpictures'] = 0;
 $_SESSION['AdvID']=0;
}
 if(!isset($_SESSION['allManufacturers'])) {
 // Read Manufacturers from DB and put them to array so we read from mysql only once$ManufacturersArray = array();
 $link = mysql_connect($DB_HOST, $DB_USER, $DB_PASS);
 if (!$link) {
 printf("Connect failed: %sn", 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) { // if there are some manufacturers found, continue $ManufacturersArray[]='Select Manufacturer';
 while ($myrow = mysql_fetch_array($result)) {
 $ManufacturersArray[]=$myrow["ManufacturerName"];
 }
 } 
 $_SESSION['allManufacturers']=$allManufacturers; // copy local array to session array $_SESSION['ManufacturersArray']=$ManufacturersArray; // copy local array to session array mysql_close($link);
 }
$allfields=3; // item name, manufacturer, price$ip = $_SERVER["REMOTE_ADDR"]; // ip address of our user// error message are at beginning empty $itemErr="";
 $listManufacturerErr="";
 $priceErr="";
 // Here we read last values from passing variables through _POST method $myitem=$_POST["item"];
 $mylistManufacturer =$_POST["listManufacturer"];
 $myprice=$_POST["price"];
$myOK=0;
 if ($_SERVER["REQUEST_METHOD"] == "POST") {
 if (strlen($_POST["item"])<5) { // if 'item' has less than 5 characters it will generate error $emriErr=" *";
 }
 else {
 $myOK++; // if everything ok myOK variable will increase by one }
 if ((int)$_POST["listManufacturer"]==0) { // if manufacturer selection is 0, it is not selected at all, error $listManufacturerErr=" *";
 }
 else {
 $myOK++; // if everything ok myOK variable will increase by one }
 if ((int)$_POST["price"]<=0) { // if price is less or equal to 0 then it is not written, error $priceErr=" *";
 }
 else {
 $myOK++; // if everything ok myOK variable will increase by one }
}// if button send item is clicked, update database and reset everything to 0 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: %sn", 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']){case0://movethefiletotheuploadfolderandrenameit$file='adv_'.strval($_SESSION['AdvID']).'_'.strval($_SESSION['allpictures']+1);//assumingthatuploadisok//ifalreadyexistssamefile,deleteitfirstbecauseheisresendingthisfile$completeFileName=$_SERVER['DOCUMENT_ROOT'].'/uploads/'.$file;if(file_exists($completeFileName)){unset($completeFileName);}//moveandrenamefile$success= move_uploaded_file($_FILES['image1']['tmp_name'],$_SERVER['DOCUMENT_ROOT'].'/uploads/'.$file);if($success){//increasepicturenumber+1aftersuccessfullymovedandrenamed$_SESSION['allpictures']++;}break;}}}if(!array_key_exists('newpost',$_POST)){echo'<formaction="'.$PHP_SELF.'"method="post"enctype="multipart/form-data"name="uploadImage"id="uploadImage">';
 echo '<tableborder="0"width="700"cellspacing="0"cellpadding="0">';
 echo '<tr><tdbgcolor="'.$mybgcolor.'"><b><fontcolor="#FFFFFF"face="Arial"size=4> Item data</font></b></td></tr></table>';
 echo '<tableborder="1"width="700"bgcolor="#ffffff"cellspacing="0"cellpadding="0"style="border: 1pt solid #000000; border-Collapse:collapse">';
//Item name field
echo '<tr><td><tableborder="0"width="100%">';
echo '<tr><tdwidth="65"bgcolor="#808080"><fontcolor="#FFFFFF">Item</font></td>';
echo '<td>';
if($myOK>=$allfields) {
 echo $myitem;
 echo '<inputtype="hidden';//disable input because already is inserted
}
else {
 echo '<input type="text';}echo'"name="item"value="'.htmlspecialchars($myitem, ENT_QUOTES).'"onChange="emptyvalidation(this,5,'."'Pleasewriteitemname'".')"><fontcolor="#FF0000">'.$emriErr.'</font></td>';
echo '<td>';
if($myOK>=$allfields) {
 echo $_SESSION['ManufacturersArray'][$mylistManufacturer];
 echo '<inputtype="hidden"';//disableinputbecausealreadyisinsertedecho'name="listManufacturer"value="'.htmlspecialchars($mylistManufacturer, ENT_QUOTES).'">';
}
 else {
 echo '<selectname="listManufacturer">';
 for($myc=0;$myc<=$_SESSION['allManufacturers'];$myc++){echo'<option';if($myc==$mylistManufacturer)echo'selected';//thislineistosetdefaultitemselectedecho'value="'.$myc.'">'.$_SESSION['ManufacturersArray'][$myc].'</option>';
 }
 echo '</select>';
 echo '<fontcolor="#FF0000">'.$listManufacturerErr.'</font>';
 }
 echo '<tdwidth="100"bgcolor="#808080"><fontcolor="#FFFFFF">Price</font></td>';
 echo '<td>';
 if($myOK>=$allfields) {
 echo $myprice;
 echo '<inputtype="hidden';//disable input because already is inserted
 }
 else {
 echo '<input type="text';}echo'"name="price"value="'.htmlspecialchars($myprice, ENT_QUOTES).'"size=7><fontcolor="#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: %sn", 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 '<tableborder="0"width="700"bgcolor="#ffffff"cellspacing="0"cellpadding="0">';
echo '<tr><tdbgcolor="'.$mybgcolor.'"><b><fontcolor="#ffffff"face="Arial"size=4> Insert pictures (at least one picture - max.1Mb per picture)</font></b></td></tr></table>';
 echo '<tableborder="1"width="700"bgcolor="#ffffff"cellspacing="0"cellpadding="0"style="border: 1pt solid #000000; border-Collapse:collapse">';
echo '<tr><td><tableborder="0"width="100%">';
echo '<tr><tdwidth="65"bgcolor="#808080"><fontcolor="#FFFFFF">Add pic.</font></td>';
echo '<td><inputtype="file"name="image1"id="image1"onchange="file_selected = true;"/>';
//not more than 7 images can be uploaded
if($_SESSION['allpictures'] <7){echo'<inputtype="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 '<tableborder="0"><td></td></table>';
 echo '<tableborder="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'<imgsrc="./uploads/adv_'.$file.'"width="100"height="75""></td>';
}
if($_SESSION['allpictures']> 0) {
echo '<inputtype="image"name="deletelast"value="deletelast"alt="Delete last pic."src="delete.png">';
}
echo '</tr></table><br>';
}
}
}
echo '<tableborder="0"width="700"bgcolor="#ffffff"cellspacing="0"cellpadding="0"><tr><tdbgcolor="'.$mybgcolor.'">';
echo '<palign="center">';
if($_SESSION['allpictures']==0) {
 if($myOK>=$allfields) {
 }
 else {
echo '<inputtype="submit"name="uploadbutton"id="uploadbutton"value="';
echo 'Continue';
echo '"onclick="this.disabled=true;this.value="Sending...";this.form.submit();"/>';
}
}
else {
 echo '<inputtype="submit"name="newpost"id="newpost"value="Save item"/>';
}
echo '</td></tr></table>';
echo '</form>';
include"footer.php";
?>

z。

哦,是的,从A 到Z,如果你试图从A 到Z 学习几十本书和花几年,仍然不能学习。 我试图向你展示一些基本的技巧,并给你一些关于php和web开发的建议。 我鼓励你自己开始和测试事情。 不要放弃,试试,这是不必要的,因为没有人是一个,只是学习你可以在你的工作。


PHP