第一次使用$ _POST;跨文件发布

时间:2014-03-19 19:36:49

标签: php html post

第三次也是最后一次编辑:在评论中找到了解决方案。输入需要是一个自动关闭的标签。我在大杂烩中错过了它。再次感谢您的帮助!


首先,我做了搜索,并且有很多像我这样的线程,我知道。但是,我无法收集足够的我的示例工作。我当然确实遗漏了一些东西,但它仍然没有用。 目标是只需在搜索框中输入名称,按提交或输入,然后让我的php文件通过POST使用这些信息。

所以我有一个名为index.html的html文件,其中包含一个表单(以及其他html / css / bootstrap好东西):

<form method="post" action="grabstats.php" class="form-search">
    <div class="input-append">
        <input type="text" name="searchname" placeholder="Search Player" style="color:black" 
        class="span2 search-query search-box-border-radius" size="50">
        <button type="submit" class="btn">Search</button>
    </div>
</form>

我在POST中学到的第一件事就是它需要一个name字段,我将其作为name="searchname"包含在内,这可能是你用来在POST中查找数据的内容。

以下是grabstats.php文件中的相关POST收集代码:

<?php

    echo "Hello World!<br>";

    echo "hi";
    echo htmlspecialchars($_POST['searchname']);
    echo "<br>";
?>

从我收集到的内容应该就是这么简单!我会提前道歉,因为我确定这是一个非常简单的错误。

感谢阅读。


编辑:对不起,我没有包含我的输出!输出如下:

Hello World!
hi

但是,它应该输出:

Hello World!
hi <value submitted in form>

我的index.html文件在安装了LAMP堆栈的虚拟机ubuntu服务器上运行。我可以使用我本地计算机上192.168.56.101的运行引导程序访问index.html。

我正确安装和配置了PHP,HTML,Apache,MySQL,Javascript,Bootstrap(据我所知,我的引导程序正在运行,我可以将JSON对象从外部主机上移除)


编辑2:我只是包含我的完整代码。我试图避免这种情况,因为现在有很多笨拙的事情发生

的index.html:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="shortcut icon" href="/bootstrap/assets/ico/favicon.ico">

    <title>IC You</title>

    <!-- Bootstrap core CSS -->
    <link href="/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
    <!-- Custom styles for this template -->
    <link href="cover.css" rel="stylesheet">
    <link href="mycss.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>

  <body>

    <div class="site-wrapper">

      <div class="site-wrapper-inner">

        <div class="cover-container">

          <div class="masthead clearfix">
            <div class="inner">
              <h3 class="masthead-brand">IC You</h3>
              <ul class="nav masthead-nav">
                <li class="active"><a href="#">Home</a></li>
                <li><a href="#">Features</a></li>
                <li><a href="#">Contact</a></li>
              </ul>
            </div>
          </div>

          <div class="inner cover">

          <form method="post" action="grabstats.php" class="form-search">
                <div class="input-append">
                    <input type="text" name="searchname" placeholder="Search Player" style="color:black" 
                    class="span2 search-query search-box-border-radius" size="50">
                    <button type="submit" class="btn">Search</button>
                </div>
            </form>

            <h1 class="cover-heading">Development Page.</h1>
            <p class="lead">This is my first webpage using CSS.</p>
            <p class="lead">
              <a href="#" class="btn btn-lg btn-default">Learn more</a>
            </p>
          </div>

          <div class="mastfoot">
            <div class="inner">
              <p></p>
            </div>
          </div>

        </div>

      </div>

 </div>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script src="/bootstrap/dist/js/bootstrap.min.js"></script>
    <script src="/bootstrap/docs/assets/js/docs.min.js"></script>
  </body>
</html>

grabstats.php

<?php

    phpinfo();

    echo "Hello World!<br>";

    echo "hi";
    echo htmlspecialchars($_POST['searchname']);
    echo "<br>";

    $json = file_get_contents("https://prod.api.pvp.net/api/lol/na/v1.3/summoner/by-name/Paradigm?api_key=586e0d02-638d-462f-9b10-1741594daf90");

    if( $json === FALSE )
        echo "JSON failed!<br>";
    else
        echo "JSON worked?<br>";
    $obj = json_decode($json,true);
    if( $obj == NULL )
        echo "JSON NULL!<br>";
    else{

        foreach ($obj["paradigm"] as $key => $item )
            echo "$key : $item<br>";
    }
    $s_id = $obj["paradigm"]["id"];

    var_dump($obj);

    echo "<br><br>";

    $json = file_get_contents("https://prod.api.pvp.net/api/lol/na/v1.2/stats/by-summoner/$s_id/ranked?season=SEASON3&api_key=586e0d02-638d-462f-9b10-1741594daf90");

    if( $json === FALSE )
        echo "JSON failed!<br>";
    else
        echo "JSON worked?<br>";
    $obj = json_decode($json,true);
    if( $obj == NULL )
        echo "JSON NULL!<br>";
    else{

        foreach ($obj[$s_id] as $key => $item )
            echo "$key : $item<br>";
    }

   var_dump($obj);
?>

输出:

Hello World!
hi
JSON worked?
id : 35610
name : Paradigm
profileIconId : 547
summonerLevel : 30
revisionDate : 1389646862000
array(1) { ["paradigm"]=> array(5) { ["id"]=> int(35610) ["name"]=> string(8) "Paradigm" ["profileIconId"]=> int(547) ["summonerLevel"]=> int(30) ["revisionDate"]=> int(1389646862000) } } 

JSON worked?
>>>>Removed from Stackoverflow post, suffice to say that it's a very, very large JSON object<<<<<

0 个答案:

没有答案