簡體   English   中英

如何將數據傳遞到數據庫?

[英]How can I pass the data to database?

我正在嘗試以這種形式將用戶重定向到給定的URL。 在那里,我只能使用get方法來傳遞參數。 但是當我使用get方法時,表單數據沒有保存在數據庫中。 我想同時將數據保存在數據庫中。

這是我的代碼:

<?php

include_once 'CryptoUtils.php';
include_once 'dbconnect.php';

if(isset($_POST['btn-signup']))
{
    $mobile = mysql_real_escape_string($_POST['Mnumber']);
    $email = mysql_real_escape_string($_POST['email']);
    $fname = mysql_real_escape_string($_POST['fname']);
    $address = mysql_real_escape_string($_POST['address']);
    $sitename = mysql_real_escape_string($_POST['sitename']);


    $q = ("INSERT INTO template_users(Mnumber,email,fname,address,sitename) VALUES('$mobile','$email','$fname','$address','$sitename')");
    mysql_query ($q) or die("Problem with the query: $q<br>" . mysql_error());
}

?>
<!DOCTYPE>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Ipayy </title>
    <link rel="stylesheet" href="style.css" type="text/css"/>

</head>
<body>
<center>
    <div id="login-form">
        <form action="http://api.ipayy.com/v001/c/oc/dopayment" method="get" >

            <table align="left" width="40%" border="0">
                <h1 align="left">Create Your Web Site</h1></br></br>




                <input type="hidden" name="gh" value="<?php echo $encrypted_string; ?>" />

                <tr>
                    <td><input type="text" name="Mnumber" value=""  placeholder="Your Mobile Number" required /></td>
                </tr>

                <tr>
                    <td><input type="email" name="email"  value=""  placeholder="Your Email" required /></td>
                </tr>

                <tr>
                    <td><input type="text" name="fname"   value=""  placeholder="Your First Name" required /></td>
                </tr>

                <tr>
                    <td><input type="text" name="address" value=""  placeholder="Your Address" required /></td>
                </tr>

                <tr>
                    <td><input type="text" name="sitename" value=""  placeholder="Your Site name" required /></td>
                </tr>

                <tr>
                    <td><button type="submit" name="btn-signup" onclick="myFunction()">Create My gomobi website</button></td>
                </tr>

            </table>
        </form>

    </div>
</center>
</body>
</html>

這是我的數據庫連接:

<?php
if(!mysql_connect("localhost","root",""))
{
    die('oops connection problem ! --> '.mysql_error());
}
if(!mysql_select_db("ipay"))
{
    die('oops database selection problem ! --> '.mysql_error());
}
?>

當您將請求發送到外部鏈接並且還想在自己的服務器中處理相同的請求時,則要么必須使用AJAX發送兩個請求,要么必須使用curl將一個請求發送到外部鏈接。 希望以下內容能有所幫助。

<button type="button" name="btn-signup" onclick="myFunction()">Create My gomobi website</button>

檢查上面的按鈕代碼,我將其更改為type button,因為我希望您使用myFunction()和AJAX發布表單數據。 現在下面是myFunction()的可能代碼。 [注意:您必須在myFunction()中已經有一些代碼,我不知道,您只需要保留它們,並向其中添加以下代碼即可。]萬一ajax表單發布了,您無需在表單中使用方法或操作標簽。

function myFunction()
{
  var gh = $('input[name=gh]').val();
  var Mnumber = $('input[name=Mnumber]').val();
  var email = $('input[name=email]').val();
  var fname= $('input[name=fname]').val();
  var address= $('input[name=address]').val();
  var sitename= $('input[name=sitename]').val();
  $.get("http://api.ipayy.com/v001/c/oc/dopayment",
    { 

        gh : gh,
        Mnumber : Mnumber,
        email : email,
        fname : fname,
        address : address,
        sitename : sitename
    },
    function(data,status){
        //console.log(data);
      if(status == 'success')
       {
         //another POST or GET ajax method can be initiated with same data              
          //but differant url (the url of your php code which is inserting    data to database)Here is an example below
        $.post("storedatatodb.php",
        {
           gh : gh,
        Mnumber : Mnumber,
        email : email,
        fname : fname,
        address : address,
        sitename : sitename

        },
        function(data,status)
       {
           if(status == 'success')
             {
               // do something - redirect to some page
             }
       });
       }
    else
    {
       //show error message
       // or do nothing
    }
    });
}

在上述情況下,storedatatodb.php將如下所示

<?php
  include_once 'dbconnect.php';
$mobile = mysql_real_escape_string($_POST['Mnumber']);
$email = mysql_real_escape_string($_POST['email']);
$fname = mysql_real_escape_string($_POST['fname']);
$address = mysql_real_escape_string($_POST['address']);
$sitename = mysql_real_escape_string($_POST['sitename']);


$q = ("INSERT INTO template_users(Mnumber,email,fname,address,sitename) VALUES('$mobile','$email','$fname','$address','$sitename')");
mysql_query ($q) or die("Problem with the query: $q<br>" . mysql_error());
?>

另一種方法是使用PHP curl。

在這種情況下,您可以在表單標簽中使用任何GET或POST方法,並且在操作中,使用php文件的url處理您的數據以插入db。 假設文件為storedatatodb.php。 代碼如下

<?php
  include_once 'dbconnect.php';
$gh = $_POST['gh'];
$mobile = mysql_real_escape_string($_POST['Mnumber']);
$email = mysql_real_escape_string($_POST['email']);
$fname = mysql_real_escape_string($_POST['fname']);
$address = mysql_real_escape_string($_POST['address']);
$sitename = mysql_real_escape_string($_POST['sitename']);

$q = ("INSERT INTO template_users(Mnumber,email,fname,address,sitename) VALUES('$mobile','$email','$fname','$address','$sitename')");
mysql_query ($q) or die("Problem with the query: $q<br>" . mysql_error());

  //curl to send data to external URL 
  // In case of GET request
  $geturl = "http://api.ipayy.com/v001/c/oc/dopayment?gh=".$gh."&mobile=".$mobile."&email=".$email."&fname=".$fname."&address=".$address."&sitename=".$sitename;
 // Get cURL resource
  $curl = curl_init();
 // Set some options
  curl_setopt_array($curl, array(
  CURLOPT_RETURNTRANSFER => 1,
  CURLOPT_URL => $geturl
));
// Send the request & save response to $resp
 $resp = curl_exec($curl);
//Print error if any
if(curl_errno($curl))
{
echo 'error:' . curl_error($curl);
}
 // Close request to clear up some resources
 curl_close($curl);
?>

如果您要向同一頁面提交數據,則從

<form action="http://api.ipayy.com/v001/c/oc/dopayment" method="get" >

<form action="">

並從

<?php

include_once 'CryptoUtils.php';
include_once 'dbconnect.php';

if(isset($_POST['btn-signup']))
{
    $mobile = mysql_real_escape_string($_POST['Mnumber']);
    $email = mysql_real_escape_string($_POST['email']);
    $fname = mysql_real_escape_string($_POST['fname']);
    $address = mysql_real_escape_string($_POST['address']);
    $sitename = mysql_real_escape_string($_POST['sitename']);


    $q = ("INSERT INTO template_users(Mnumber,email,fname,address,sitename) VALUES('$mobile','$email','$fname','$address','$sitename')");
    mysql_query ($q) or die("Problem with the query: $q<br>" . mysql_error());
}

?>

<?php

include_once 'CryptoUtils.php';
include_once 'dbconnect.php';

if(isset($_POST['btn-signup']))
{
    $mobile = mysql_real_escape_string($_GET['Mnumber']);
    $email = mysql_real_escape_string($_GET['email']);
    $fname = mysql_real_escape_string($_GET['fname']);
    $address = mysql_real_escape_string($_GET['address']);
    $sitename = mysql_real_escape_string($_GET['sitename']);


    $q = ("INSERT INTO template_users(Mnumber,email,fname,address,sitename) VALUES('$mobile','$email','$fname','$address','$sitename')");
    mysql_query ($q) or die("Problem with the query: $q<br>" . mysql_error());
}

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM