php中兩個form表單,php中form標籤的四個屬性

本文目錄一覽:

php後台商品添加,需要兩個表單,一個用於提交上傳圖片,一個用於提交商品數據到資料庫。

看你圖片上的表單設計,你都有「上傳」按鈕了,這就是等於已經把圖片上傳上去了(而此時表單的其他數據還沒有提交)

一般來說,PHP做商品添加,表單的其他數據和圖片的上傳都是一起來提交的,而如果你要檢查圖片是否上傳成功來決定是否提交其他表單數據的話,可以這樣設計:

一、你現在的這個表單不用改,只需要在最下面的那個「確定」按鈕上加個JS判斷,判斷一下上面的圖片是否上傳成功(如果圖片上傳這裡成功上傳了圖片,你返回一個圖片的保存路徑及圖片名稱到一個隱藏的文本框裡面,然後在「確定」按鈕的JS代碼里去取這個隱藏的文本框的值,如果有值就可以判定這個圖片是上傳成功的了,否則失敗則整個表單的數據都不能提交)

二、圖片上傳框這裡,確實因為表單不能嵌套,所以這個位置你就要採用一個iframe來載入另一個上傳圖片的頁面(這個上傳圖片的頁面代碼很簡單,就是那個圖片上傳框(當然你得加一些許可權判斷不然就會是一個上傳漏洞了),然後寫相應的上傳代碼把圖片上傳上去最後返回上傳後的圖片路徑及文件名等信息,使用

parent.表單名.隱藏文本框名.value=’xxxx.jpg’

這個JS語句來實現把你上傳的圖片信息保存到你的隱藏文本框里。

上面這句parent…語句的詳解如下:

a.由於你的圖片上傳頁面是放在iframe里的,因此你要把iframe里的頁面的內容保存到上一層頁面(即你這個添加商品的頁面,也就是這個加了iframe代碼的頁面)

舉例個吧:

你添加商品的頁面文件名是a.php,在a.php的表單里你加了一個iframe src=”b.php”/iframe

這裡面的b.php就是你的上傳圖片的頁面(在b.php中就是你正常的上傳圖片的表單),另外你接收上傳及處理上傳的程序都是在這個iframe裡面完成的。。

這樣應該明白了吧。既然你的上傳後的返回值是在iframe里的頁面中的,那要想把它保存到a.php這個頁面的一個隱藏文本框里,就要使用parent了。。。

所以上面那個js語句是:parent.表單名….

b.這個js語句parent.表單名.隱藏文本框名.value=’xxx’中的「表單名」、「隱藏文本框名」,是指的a.php這個頁面的表單名哦。

比如你a.php的表單是form name=”addpro_form” method=”post”,那麼這個JS語句中的表單名也就是addpro_form。隱藏文本框同理。

這樣,你明白了吧?

我寫個簡單的實例你看看:

a.php的代碼:

form name=”addpro_form” method=”post” action=”a.php?act=save”

商品名稱:input type=”text” name=”pro_name” /br /

商品價格:input type=”text” name=”pro_price” /br /

商品圖片:input type=”hidden” name=”pro_img” /

iframe width=”500″ height=”50″ src=”b.php”/iframebr /

商品說明:textarea name=”pro_intro”/textareabr /

input type=”submit” value=”確定” /

/form

以上是a.php的代表,也就是整個表單,其中表單名是addpro_form,隱藏文本框名是pro_img。

接著寫b.php的:

form name=”upfile_form” method=”post” action=”upload.php” enctype=”multipart/form-data”

input type=”file” name=”upimages”input type=”submit” value=”上傳”

/form

b.php的頁面很簡單就是一個上傳表單而已

然後upload.php是用來接收上傳的圖片並返回值的:

?php

//以下是PHP上傳圖片的代碼(我就不寫了)

……

//假設上傳後得到圖片名稱

$imgname=”111.jpg”;

?

script type=”text/javascript”

window.onload=parent.addpro_form.pro_img.value=’?php echo $imgname; ?’;

/script

好了,upload.php的代碼也寫完了,上面一段php代碼是上傳圖片最後得到上傳後的圖片名稱,接著用一段js代碼把圖片名稱返回到上一頁去。

php一個頁面怎麼實現兩個form

兩個form肯定有兩個不同的按鈕

因為兩個按鈕不能同時按

所以提交後你可以根據按鈕不同的名字來判斷是哪個表單提交的

php同個頁面有多個form表單,怎麼讓多個form表單各不影響,就是提交後面的時候之前echo出來的信息不會沒

多個form怎麼了?每個form是獨立的,而且表單中action=””指向是不一樣的!

比方這種類型的!實際上action的指向都是指向不同的操作或者控制器!互不影響!

php,如果單個頁面上有多個form,提交時,如何區分啊。

…如果需要提交所有表單的話,為什麼不寫成一個表單… =w=… 還這麼麻煩幹嘛..

==================================================

好吧..可能有某種需求需要這樣….時間有限,給你解決思路

不用ajax….用javascript就行..

==================================================

假設頁面有form1, form2,form3 三個表單..

form1下的輸入框 name屬性都以 form1_ 開頭

form2下的輸入框 name屬性都以 form2_ 開頭

form3下的輸入框 name屬性都以 form3_ 開頭

form2有一個按鈕 name屬性為 form2_submit_all

解決過程:為form2_submit_all添加onclick事件,當點擊它時,把其他表單的下的所有標籤全部移動到form2里..然後通過javascript提交form2表單.

==============================================

非得用ajax的話,有點麻煩..

==============================================

當點擊一個按鈕時,將3個表單的input鍵值對分別設置成數組..

fom1: array(form1的表單項);

form2:array(form2的表單項);

form3:array(form3的表單項);

將他們設置為ajax的傳遞參數….

然後ajax返回action處理後的值..

你再用javascript將返回值顯示到頁面上…..

PHP頁面跳轉的問題,兩個前台form表單數據,一個是判斷頁面,一個是註冊頁面,判斷才可以跳轉到註冊。

通過 Cookie 傳遞就行,或者 SESSION,SESSION 更簡單,更安全,Cookie 可以被自動註冊機一類的程序進行自動化註冊,如果你這個推薦是有獎勵的,建議用 SESSION,確保你們不受損失。

if_form.php 裡面獲取推薦人及編碼:

// 頁面頭部盡量靠近開始處

session_start ();

// 你的處理代碼

$refer_man = $_POST [‘ref’];

$refer_code = $_POST [‘ref_code’];

然後存入 SESSION

$_SESSION [‘ref_info’] = “$refer_man,$refer_code”;

zhuce_form.php 裡面獲取推薦信息 SESSION,

// 頁面頭部盡量靠近開始處

session_start ();

// 檢測推薦SESSION是否存在

$refer_info = null;

if (! empty ( $_SESSION [‘ref_info’] )) {

$refer_info = explode ( ‘,’, $_SESSION [‘ref_info’] ); // [0] = 推薦人 [1] = 推薦碼

} else {

// 在這裡把非法訪問此頁面的傢伙打發走

header ( ‘Location: if.php’ );

exit ();

}

寫入資料庫之前再次檢測

if ($refer_info != null) {

// 寫入資料庫代碼

}

// 最後銷毀 SESSION

session_destroy ();

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/293150.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-25 18:39
下一篇 2024-12-25 18:39

相關推薦

  • 利用Python實現兩個鏈表合併為一個有序鏈表

    對於開發工程師來說,實現兩個鏈表合併為一個有序鏈表是必須掌握的技能之一。Python語言在鏈表處理上非常便利,本文將從多個方面詳細闡述如何利用Python實現兩個鏈表合併為一個有序…

    編程 2025-04-29
  • 全面解讀數據屬性r/w

    數據屬性r/w是指數據屬性的可讀/可寫性,它在程序設計中扮演著非常重要的角色。下面我們從多個方面對數據屬性r/w進行詳細的闡述。 一、r/w的概念 數據屬性r/w即指數據屬性的可讀…

    編程 2025-04-29
  • Vant ContactList 增加屬性的實現方法

    在使用前端UI框架Vant中的ContactList組件時,我們有時需要為此組件增加一些個性化的屬性,來滿足我們特定的需求。那麼,如何實現ContactList組件的增加屬性功能呢…

    編程 2025-04-29
  • Python定義兩個列表的多面探索

    Python是一種強大的編程語言,開放源代碼,易於學習和使用。通過Python語言,我們可以定義各種數據類型,如列表(list)。在Python中,列表(list)在處理數據方面起…

    編程 2025-04-29
  • Python兩個線程交替列印1到100

    這篇文章的主題是關於Python多線程的應用。我們將會通過實際的代碼,學習如何使用Python兩個線程交替列印1到100。 一、創建線程 在Python中,我們可以使用Thread…

    編程 2025-04-28
  • Python中兩個冒號連用

    Python中的「兩個冒號」是指「::」,它在Python中有著很多用途,包括循環語句、切片、函數註解等。下面我們從多個方面來詳細闡述Python中兩個冒號的用法。 一、循環語句f…

    編程 2025-04-28
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python條形圖添加數據標籤

    Python是一種多用途、高級、解釋型編程語言。它是一種動態類型語言,具有高級內置數據結構,支持面向對象編程、結構化編程和函數式編程方式。Python語言旨在簡化代碼的閱讀、編寫和…

    編程 2025-04-28
  • 兩個域名指向同一IP不同埠打開不同網頁的實現方法

    本文將從以下幾個方面詳細闡述兩個域名指向同一個IP不同埠打開不同網頁的實現方法。 一、域名解析 要實現兩個域名指向同一個IP不同埠,首先需要進行域名解析。在域名解析的時候,將這…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28

發表回復

登錄後才能評論