首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在php中获取和存储菜单值

如何在php中获取和存储菜单值
EN

Stack Overflow用户
提问于 2018-09-19 10:19:13
回答 2查看 562关注 0票数 0

首先,为我糟糕的英语道歉。下面是我的表格图片,我在我的网站上有一个表单,首先从菜单到文本框获取值,然后使用Php将值存储到数据库中,.i附加了我的代码和图像,我是Php的初学者。请帮帮我

HTML代码

代码语言:javascript
复制
 <div class="taxi-form-full">
        <div class="container"> 
            <form  method="POST"  action="">
                <div class="menu-types">
                    <a href="#" data-value="Standart" class="type-1 active">Standart</a>
                    <a href="#" data-value="Business" class="type-2">Business</a>
                    <a href="#" data-value="VIP" class="type-3 red">Vip</a>
                    <a href="#" data-value="Bus" class="type-4">Bus-Minivan</a>

                </div>
                <div class="row forms">
                    <div class="col-md-3">
                        <div class="form-group">
                            <input type="text" id="searchTextSrc" name="source" value="" placeholder="From Address..." class="ajaxField"><span class="fa fa-map-marker"></span>
                            <input type="hidden" id="citySrc" name="citySrc" />
                            <input type="hidden" id="cityLatSrc" name="cityLatSrc" />
                            <input type="hidden" id="cityLngSrc" name="cityLngSrc" />
                        </div>
                    </div>

                    <div class="col-md-3">
                        <div class="form-group">
                            <input type="text" id="searchTextDes" name="destination" value="" placeholder="To..." class="ajaxField"><span class="fa fa-map-marker"></span>
                            <input type="hidden" id="cityDes" name="cityDes" />
                            <input type="hidden" id="cityLatDes" name="cityLatDes" />
                            <input type="hidden" id="cityLngDes" name="cityLngDes" />
                        </div>
                    </div>
                    <div class="col-md-3">
                        <div class="form-group">
                            <input type="text" id="phone" name="phone" value="" placeholder="Phone Number" class="ajaxField required"><span class="fa fa-phone"></span>
                        </div>
                    </div>
                    <div class="col-md-3">
                        <div class="form-group">

                            <input type="text" id="text" name="datetime" value="" placeholder="Date and Time" class="ajaxField js-datetimepicker"><span class="fa fa-calendar"></span>
                        </div>
                    </div>
                </div>
                <input type="submit" name="submit" value="submit" class="btn btn-lg btn-red aligncenter">

            </form>
        </div>
    </div>

Php代码

代码语言:javascript
复制
    <?php
 $hname = 'localhost';
    $uname = 'root';
    $pword ='';
    $dbase ='sample';
$con = mysqli_connect($hname, $uname , $pword ,$dbase );
  if ($con->connect_error) {
            die("Connection failed: " . $con->connect_error);
        }
if(isset($_POST['submit'])){
$phone = $_POST['phone'];
$datetime = $_POST['datetime'];
$query = mysqli_query($con,"insert into test(phone, datetime) values ('$phone', '$datetime')");

}
EN

回答 2

Stack Overflow用户

发布于 2018-09-19 10:43:56

您可以使用无线电字段,而不是使用锚作为导航的一部分。https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio

然后,这将向您发送通过$_POST变量选择的适当菜单项。

代码语言:javascript
复制
<label class="type-1">
    <input type="radio" name="menu" value="Standart" checked /> Standart
</label>
<label class="type-2">
    <input type="radio" name="menu" value="Business" /> Business
</label>
<label class="type-3 red">
    <input type="radio" name="menu" value="VIP" /> Vip
</label>
<label class="type-4">
    <input type="radio" name="menu" value="Bus" /> Bus-Minivan
</label>

在PHP中,您将根据选中的选项接收值。

代码语言:javascript
复制
<?php
$menu = $_POST['menu'];

您需要更改无线电字段的样式,以匹配您的锚。由于输入在标签内,您可以对标签进行样式化,并隐藏输入字段以保持相同的外观和感觉。造型单选按钮

这个方法比使用JavaScript捕获点击和将值注入文本字段更有吸引力,因为它将使用或不使用JavaScript。

票数 0
EN

Stack Overflow用户

发布于 2018-09-19 11:12:26

实现这一目标的方法之一是使用AJAX。在我的示例中,我将使用jQuery AJAX,这将要求您在应用程序中包含一个jQuery库。我个人使用jQuery的原因是因为它大大简化了JavaScript代码,因此更容易编写和理解。

现在,在您的问题中,您提到了元素textbox,但我在任何地方都看不到该元素?您的意思是输入字段,这是完全不同的东西吗?因为我没有看到任何textbox元素,所以我将假设您是指输入字段。

在直接进入AJAX函数之前,我想解释几件事。基本上,我们使用AJAX函数所做的是将值解析到另一个页面,该页面将处理我们的数据库逻辑,例如INSERT、数据等。

AJAX函数中的关键元素是您在函数中定义的选项。

  1. type,它是您要解析的数据的数据类型。例如GETPOST
  2. url,它是定义将被解析的数据的页面的地方。
  3. data,您将在这里定义要解析的数据变量。
  4. 还可以选择success,它是一个函数,您可以在该函数中定义要在AJAX函数成功时发生的某些操作。

AJAX函数:

代码语言:javascript
复制
function submitForm() {
    $.ajax({
        type : "POST",
        url : "/your_page.php",
        data : {
            standart: $("[data-value='Standart']").val(),
            business: $("[data-value='Business']").val(),
            vip: $("[data-value='VIP']").val(),
            bus: $("[data-value='Bus']").val(),
            searchTextSrc: $("#searchTextSrc").val(),
            citySrc: $("#citySrc").val(),
            cityLatSrc: $("#cityLatSrc").val(),
            searchTextDes: $("#searchTextDes").val(),
            cityDes: $("#cityDes").val(),
            cityLatDes: $("#cityLatDes").val(),
            cityLngDes: $("#cityLngDes").val(),
            phone: $("[name='phone']").val(),
            datetime: $("[name='datetime']").val()
        },
        success: function (html) {
            //do something on success
        }
    })
}

注意,我将AJAX函数封装到我命名为submitForm()的另一个函数中。您可以选择调用此函数,只需单击按钮即可触发AJAX函数。

<button onclick="submitForm();">Submit content</button>

由于您对想要检索的元素值并不完全明确,所以我将它们都作为目标。实际上,我不确定$("[data-value='whatever']")是否是一个有效的选择器。如果不是,只需给他们一个id或name属性来代替。

现在,由于我在AJAX函数中将type定义为POST,所以您必须在您的$_POST文件中使用$_POST来获取从AJAX函数中解析的数据。

在PHP页面中:

代码语言:javascript
复制
<?php
$standart = $_POST['standart'];
$business = $_POST['business'];
$vip = $_POST['vip'];
$bus = $_POST['bus'];
$searchTextSrc = $_POST['searchTextSrc'];
$citySrc = $_POST['citySrc'];
$cityLatSrc = $_POST['cityLatSrc'];
$searchTextDes = $_POST['searchTextDes'];
$cityDes = $_POST['cityDes'];
$cityLatDes = $_POST['cityLatDes '];
$cityLngDes = $_POST['cityLngDes '];
$phone = $_POST['phone '];
$datetime = $_POST['datetime '];

/* You now have all your parsed variables as PHP variables
   that you can choose to INSERT into your database. */

$hname = 'localhost';
$uname = 'root';
$pword ='';
$dbase ='sample';
$con = mysqli_connect($hname, $uname , $pword ,$dbase );
if ($con->connect_error) {
    die("Connection failed: " . $con->connect_error);
}

$sql="INSERT INTO test SET phone='$phone', datetime='$datetime'";
mysqli_query($con, $sql);
?>

但是,请注意,您对SQL注入非常开放,这也是@R.查普尔在评论部分放弃此链接的原因之一。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52403593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档