1

我的代码有一个奇怪的问题。我正在尝试为用户创建一个表单来编辑他们的个人资料信息。这是一个简单的形式,如下面的源代码。

我使用模板,每个页面都将输入 index.php 并构建页面。

问题是这样的:我在索引中放置了一个 print_r 来打印 _POST 以查看是否发布了任何内容。但是当我提交表单时,什么都没有发布。当我将 print_r 放在模板中时,print_r 突然出现,好像没有任何问题并且表格已发布。:S

我尝试将操作设置为不同的页面,但没有效果。

我也有一个登录表单,出于某种原因,该表单可以正常工作。但是当我将它放在 edit_profile 模板中时,它会停止工作。

这是 edit_profile 页面的源代码。

<!DOCTYPE html>
<html>

    <head>

        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
        <title>edit profile</title>

        <link rel="stylesheet" href="/style/jquery.mobile-1.0.1.css">
        <link rel="stylesheet" href="/style/main.css">

        <script src="/js/jquery-1.7.1.js"></script>
        <script src="/js/jquery.mobile-1.0.1.min.js"></script>
        <script src="/js/global.js"></script>

    </head>

    <body>

       <section data-role="page" id="edit_profile">

            <header data-role="header" id="header" data-position="fixed">
                <h1>edit profile</h1>

                <nav id="main_navigation" data-role="navbar">
                    <ul>
                        <li><a href="/"  >Home</a></li>
                        <li><a href="/news.html"  >News</a></li>
                        <li><a href="/about.html"  >about</a></li>
                        <li><a href="/contact.html"  >Contact</a></li>
                    </ul>
                </nav>

            </header>

            <div data-role="content">

               <h2>edit profile</h2>

               <form action="/account/edit_profile.html" method="post" >
                   <input type="hidden" name="edit" value="edit" />
                   <label for="username">Username:</label>
                   <input type="text" name="username" id="username" value="some username"/>

                   <label for="password">Password:</label>
                   <input type="password" name="password" id="password"/>

                   <label for="email">E-mail:</label>
                   <input type="email" name="email" id="email" value="example@example.com"/>

                   <label for="firstname">Firstname:</label>
                   <input type="text" name="firstname" id="firstname" value="some firstname"/>

                   <label for="lastname">Lastname:</label>
                   <input type="text" name="lastname" id="lastname" value="some lastname"/>

                   <label for="city">City:</label>
                   <input type="text" name="city" id="city" value="some city"/>

                   <label for="adres">Adress:</label>
                   <input type="text" name="adres" id="adres" value="some adres"/>

                   <label for="zip">Zip:</label>
                   <input type="text" name="zip" id="zip" value="some zip"/>

                   <div data-role="controlgroup" data-type="horizontal">
                       <a href="/account.html" data-role="button" data-icon="back">Back</a>
                       <button type="submit" data-icon="check">Save</button>
                   </div>

               </form>

             </div>

       <footer data-role="footer" data-position="fixed">

           <div data-role="controlgroup" data-type="horizontal">
               <a href="/" data-role="button" data-icon="home">Home</a>
               <a href="/account.html" data-role="button" data-icon="grid">Account</a>
               <a href="/logout.html" data-role="button" data-icon="gear" >Logout</a>
           </div>

        </footer>

    </section>


   </body>
   </html>

希望你们能帮助我。如果有任何问题,请告诉我。

4

1 回答 1

1

您的 HTML 看起来不错,它应该是 jQM 就绪的。我使用过 jQM/php/MySQL,所以我知道它的一些怪癖。

我建议现在通过在工作时将您的评论/$_POST 检查写入文本文件来避免该问题(在 php 脚本中调用一个执行此操作的函数,这是我通常采用的方式),以防止类似这样的问题。我发现 jQM 在隐藏 HTML 并显示自己的样式时动态加载页面内容存在可变问题。有时页面内容是直接从 DOM 加载的,完全避免了你的 php 脚本......

于 2012-04-30T19:28:47.570 回答