Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何遍历页面上的表单字段并将其发送到数据库?_Php_Javascript_Mysql_Html_Forms - Fatal编程技术网

Php 如何遍历页面上的表单字段并将其发送到数据库?

Php 如何遍历页面上的表单字段并将其发送到数据库?,php,javascript,mysql,html,forms,Php,Javascript,Mysql,Html,Forms,下面是Checkout.php的代码: <?php //Include SimpleSanitize. include 'simplesanitize.php'; // First attempt at PHP Sessions. Wish me luck. // Start the session. session_start(); $product = $_REQUEST["product"]; $qty = $_REQUEST["qty"]; $price = $_REQUE

下面是Checkout.php的代码:

<?php

//Include SimpleSanitize.
include 'simplesanitize.php';

// First attempt at PHP Sessions. Wish me luck.

// Start the session.
session_start();

$product = $_REQUEST["product"];
$qty = $_REQUEST["qty"];
$price = $_REQUEST["price"];

//var_export($product);
//var_export($qty);

if( !isset($_SESSION['last_access']) || (time() - $_SESSION['last_access']) > 71200 )
 $_SESSION['last_access'] = time();

// If post is not null, then add selected data to corresponding sessionid in database.
if($_SESSION['last_access'] != null && $qty != null)
{
   // Sanitize information.
   $info = new SimpleSanitize('request', 'both');

   //$product = $info->get('product');
   //$quantity = $info->get('qty');
   //$price = $info->get('price');


 $connection =
        mysql_connect("..com","","");





 if($connection)
 {
  mysql_select_db("__dbase", $connection);
foreach($arr as $key => $value){    echo "$key: $value ";}
print_r($val);
$query = "UPDATE sessions SET qty='".$val."' WHERE sessionid='".session_id()."' AND product='".$item."'";
  mysql_query($query)
               or die(mysql_error());

  // Assume items added successfully.
  $ItemAddedMessage = "Item added to cart.";

  // Close connection to database.
  mysql_close($connection);
 }
 else
 $ItemAddedMessage = "Quantities updates";


}
// Open the DB connection and select the DB - creates the function getCreativePagerLyte()
include('configurations.php');

// Gets the data
$id=isset($_POST['id']) ? $_POST['id'] : '';
$search=isset($_POST['search']) ? $_POST['search'] : '';
$multiple_search=isset($_POST['multiple_search']) ? $_POST['multiple_search'] : array();
$items_per_page=isset($_POST['items_per_page']) ? $_POST['items_per_page'] : '';
$sort=isset($_POST['sort']) ? $_POST['sort'] : '';
$page=isset($_POST['page']) ? $_POST['page'] : 1;
$extra_cols=isset($_POST['extra_cols']) ? $_POST['extra_cols'] : array();

// Uses the creativeTable to build the table
include('creativeTable.php');

$ct=new CreativeTable();

// Data Gathering
$params['sql_query']           = 'SELECT product, qty, price FROM sessions WHERE sessionid="'.session_id().'"'; // IMPORTANT: you must specify the fields and not use *
$params['search']              = $search;
$params['multiple_search']     = $multiple_search;
$params['items_per_page']      = $items_per_page;
$params['sort']                = $sort;
$params['page']                = $page;

// Layout Configurations (Most used - the commented lines are the default values)
$params['header']                 = 'Product, Quantity, User Action, Price'; // If you need to use the comma use &#44; instead of ,
$params['width']                = ',,,';
//$params['search_init']           = true;
//$params['search_html']          = '<span id="#ID#_search_value">Search...</span><a id="#ID#_advanced_search" href="javascript: ctShowAdvancedSearch(\'#ID#\');" title="Advanced Search"><img src="images/advanced_search.png" /></a><div id="#ID#_loader"></div>';
//$params['multiple_search_init']  = 'hide';
$params['items_per_page_init']  = '10,20,50,100'; // default: '10*$i';
//$params['items_per_page_all']    = '#TOTAL_ITEMS#';
//$params['sort_init']              = true;
//$params['sort_order']              = 'adt';
//$params['ajax_url']              = $_SERVER['PHP_SELF'];

$ct->table($params);

foreach($ct->data as $key => $value){
  $ct->data[$key][0]='<input type="text" value="'.$ct->data[$key][0].'" name="product" />';
  $ct->data[$key][1]='<input type="text" value='.$ct->data[$key][1].' id="qty" name="qty" />';
  $ct->data[$key][2]='<input type="submit" value="Update Item">';
  $ct->data[$key][3]='<p name="price">'.$ct->data[$key][3].'</p>';
}

// If its an ajax call
if($_POST['ajax_option']!=''){

  if(strpos($_POST['ajax_option'],'items_per_page')!==false)
    $out_ajax['items_per_page']=utf8_encode($ct->draw_items_per_page());

  if(strpos($_POST['ajax_option'],'body')!==false)
    $out_ajax['body']=utf8_encode($ct->draw_body());

  if(strpos($_POST['ajax_option'],'pager')!==false)
    $out_ajax['pager']=utf8_encode(getCreativePagerLite($page,$ct->total_items,$ct->items_per_page));

  echo json_encode($out_ajax);
  exit;

}else{

  // Insert a Pager into the table (I used this CreativePager Lite version because its very easy to use, but you may use any pager system that you like)
  $ct->pager = getCreativePagerLite($page,$ct->total_items,$ct->items_per_page);



}

?>


<!DOCTYPE xhtml PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<head>



  <link rel="stylesheet" type="text/css" href="css/style.css">
  <link rel="stylesheet" type="text/css" href="css/creative.css">

<title>Mild Steel Products</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js" ></script>
<script type="text/javascript" src="js/jquery.tools.min.js"></script>
<script type="text/javascript" src="js/cufon.js"></script>
<script src="js/Kozuka_Gothic.js" type="text/javascript"></script>
<!-- Fix for Internet Explorer 9 Beta -->
<!--[if gte IE 9]>
<script type="text/javascript">
Cufon.set('engine', 'canvas');
</script>
<![endif]-->
<script type="text/javascript" charset="utf-8">
// <![CDATA[
$(document).ready(function(){
Cufon.replace('h1,h2,h3',  {
});

        $(function() {
                     $("h3.message").delay(3000).fadeOut();
        });

});
// ]]>
</script>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/creative_table.min.js"></script>
<script type="text/javascript" src="js/creative_table_ajax.min.js"></script>

</head>
<body>
<div class="main">
 <div class="header">
     <div class="logo"><a href="index.php"><img src="images/logo.png" border="0" alt="logo" /></a></div>
      <div class="menu">
        <ul>
<li><a href="index.php">Home</a></li>
<li><a href="products.php">Order Online</a></li>
<li><a href="products.php" class="active">Products</a></li>
<li><a href="about.php">About us</a></li>
<li><a href="contact.php">Contact us</a></li>
</ul>
      </div>
      <div class="clr"></div>
    </div>
    <div class="header_text2">
      <h2> Checkout</h2>
      <p>Adjust your quantities, then click purchase. </p>
      <div class="clr"></div>
    </div>
  <div class="clr"></div>
    <div class="top_sup_resize">
    <div class="menu2">
        <ul>
          <!--<li><a href="mildsteel_allthread.php" style="font-size:x-small; color:white;">Allthread</a></li>
          <li><a href="mildsteel_hexnuts.php" style="font-size:x-small; color:white;">Hex Nuts</a></li>
          <li><a href="mildsteel_washers.php" style="font-size:x-small; color:white;">Washers</a></li>
          <li><a href="mildsteel_hnbkss.php" style="font-size:x-small; color:white;">Hex Bolt &amp; Nut Kits, Setscrews</a></li>
          <li><a href="mildsteel_screws.php" style="font-size:x-small; color:white;">Screws</a></li>
          <li><a href="mildsteel_last.php" style="font-size:x-small; color:white;">Cup Head Bolts &amp; Nuts</a></li>-->
        </ul>
      </div>
      <div class="clr"></div>
    </div>
    <div class="clr"></div>
  <div class="body">
   <div class="body_left">
   <h2><?php echo $ItemAddedMessage; ?></h2>
   <h3 class="message"></h3>
      <div id="container">
     <?php echo $out=$ct->display(); ?>
   </div>

</div>

   <p>&nbsp;</p></div>
     <div class="clr"></div>
  </div>
</div>
<div class="footer">
  <div class="footer_resize">
    <ul>
      <li><a href="index.php">home</a></li>
      <li><a href="products.php">order online</a></li>
      <li><a href="products.php">products</a></li>
      <li><a href="about.php">about</a></li>
      <li><a href="contact.php">contact</a></li>
    </ul>
            <div class="clr"></div>
  </div>
</div>
</body>
</html>
我已经搜索了所有的ovver php.net,谷歌和我的想法,并将非常感谢任何人的建议或帮助

如何将所有表单字段更新到数据库

谢谢

编辑:

打印的结果($\u GET);是:

编辑:

在我的情况下,还有什么能起作用?有人有任何链接/教程/文章吗?我哪儿都找不到。是否有其他方法将所有字段提交到数据库?

Lucifer

你说你买了一个脚本,为什么不先联系你买它的人来解决你的问题呢

我担心的是,您列出的代码很少,因此我们无法帮助您,因为您只是简单地说“它不起作用!请帮助我解决它!”,我们将帮助您。向我们展示表单代码和处理代码

您确定该表单是作为
$\u GET
提交的吗?您确定这些变量在表单中被称为
$items[]


如果我正在解决这个问题,或者至少寻求帮助,我会列出以上所有代码,并添加大量调试添加内容,如:

  • 添加
    /*comment*/
    标记以注释掉SQL inser部分(因为您不想在每次测试时清除所有这些内容)
  • 添加
    var\u dump
    标记以输出尽可能多的变量
  • 如果存在处理初始表单的javascript处理程序,则使用
    Firefox Firebug
    进行调试

  • 更新 11/23/2010 /checkout.php

    我已经快速回顾了您的设置,您正在使用AJAX表来管理搜索/显示您的产品。你可以尝试几种方法

  • 使用jQuery serialize()序列化(如果要使用此路由,需要对此进行研究)您的数据,并将其作为POST请求提交到后端(不管是什么?相同的checkout.php?)
  • 您需要修改checkout.php页面以拥有一个实际的提交按钮,目前它都是通过AJAX(javascript提交)处理的,AJAX是为GET而不是POST设置的。您还必须将表单更新为
    action=“POST”
    。将实际提交按钮添加到结帐表单中,您只有更新数量的
    Update
    按钮


  • 除了为您做一些咨询之外,没有办法“快速”告诉您要更改的内容和位置,这将需要一些时间来修改,但是我在上面列出了两个选项,如果您愿意,您可以处理。

    一个
    $\u的项目得到了什么收益?你能把它贴在这里吗?当然,我会马上做的嗯,我试过var_dump,但我认为它不起作用,页面上没有显示其他内容。我试过:var_dump($_GET['items');你最近的编辑使得这个问题从长远来看毫无意义;只是为什么?谢谢。我很感激你删除一些品牌/网站名称,这很好,但如果问题可以解决,我们将不胜感激;pThank you Jakub,我之前添加了完整的代码作为不同的答案,但是没有一个答案能够帮助解决问题,最终人们不再返回页面。我试图避免同样的问题,通过看看是否有人知道任何其他方法来解决这个问题。但是我会再次发布完整的代码。完成。代码添加。请注意,由于昨晚给出的建议,foreach代码已经更改,但仍然不起作用。请注意,SQL代码很好,它已经单独进行了测试。我不能从我买的脚本(只是一个表格脚本)的作者那里得到任何形式的支持,因为他们想向我收取支持费用,这不是一个选项,他们甚至还没有回复我一个月前发送的电子邮件。
    
    foreach($_GET['items'] as $p=>$q)
    {
       // Update in database. This sql query has been tested, so I know it works, which means that the problem lies within the foreach loop, since it only stopped working when I added the foreach loop to update all form fields.
    }
    
    Array ( [ct_items_per_page] => 10 [ct_sort] => t_t_t_t [ct_page] => 1 [ct_search] => [ct_items_per_page_change] => all [ct_multiple_search] => Array ( [0] => [1] => [2] => [3] => ) [product] => M5 x 1 MTR Allthread (Grade 304 Unit Price) [items] => Array ( [1] => 45 ) )