Php 我没有';我无法发现如何让按钮提交表单,也无法作为<;a>;链接

Php 我没有';我无法发现如何让按钮提交表单,也无法作为<;a>;链接,php,html,Php,Html,我已经搜遍了W3学校、HTMLGoodies、Tizag和十几个或15个其他地方。。。地点;没有什么能真正解决这个问题。我发现的最接近的讨论是StackOverflow上的“如何最好地使链接提交表单”问题,但这一点我目前还不太了解 只要使用PHP和HTML,这项工作是可行的。在过去的3年里,事情有进展吗?还是仍然需要使用JavaScript或其他语言,并且必须进入DOM才能让一切正常工作 我真的很讨厌使用一个按钮让用户到达所需页面上的位置,然后单击第二个按钮打开div并显示其中的内容。更确切地说

我已经搜遍了W3学校、HTMLGoodies、Tizag和十几个或15个其他地方。。。地点;没有什么能真正解决这个问题。我发现的最接近的讨论是StackOverflow上的“如何最好地使链接提交表单”问题,但这一点我目前还不太了解

只要使用PHP和HTML,这项工作是可行的。在过去的3年里,事情有进展吗?还是仍然需要使用JavaScript或其他语言,并且必须进入DOM才能让一切正常工作

我真的很讨厌使用一个按钮让用户到达所需页面上的位置,然后单击第二个按钮打开div并显示其中的内容。更确切地说,他们可以点击一个按钮查看评论,页面转到,内容可见

我在这里问了两次问题,都很好;我特别感谢其中一个。干杯如果有人有答案,我一定会感谢他们的帮助

我可以发布100行左右的代码;一个小演示,但会推迟。此外,我不想写下我尝试过的半打或更多无效的东西

因此,清理后的示例代码块是:


链接数据库:链接#


我误解了这个问题。提交表单而不离开页面的唯一方法是使用ajax提交表单。因此,您可能希望通过ajax提交它,然后调用您试图执行的任何操作,例如打开div并在其中显示内容。看这里


您需要使用javascript来完成此操作。这里有一种可能的方法可以使其作为正常链接回退:

既然你说的是评论,我想用一个博客的例子是最合适的。假设你的身体是这样的:

<form action="<?php echo $PHP_SELF; ?>#Anchored3"method="post">

我的博客帖子!
我的内容


如果您试图发送POST并获取VAR,您可以通过在表单action Attribute中传递它们来实现,如:

    //send an email
        //extract data from the post
        $name = $_POST['fname']." ".$_POST['lname'];
        $email = $_POST['email'];
        $web = "";
        $group_name = $_POST['group_name'];
        $message = "";
        $username = $_POST['username'];
        $user_id = mysql_insert_id();
        //point to script
        $url = 'scripts/emailer.php';
        //set POST variables
        $fields = array(
                    'article_id'=>urlencode($article_id),
                    'name'=>urlencode($name),
                    'email'=>urlencode($email),
                    'web'=>urlencode($web),
                    'message'=>urlencode($message),
                    'username'=>urlencode($username),
                    'user_id'=>urlencode($user_id),
                    'group_name'=>urlencode($group_name),
                    'messagetype'=>'new_user'
                );

        //url-ify the data for the POST
        foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
        rtrim($fields_string,'&');

        //open connection
        $email_post = curl_init();

        //set the url, number of POST vars, POST data
        curl_setopt($email_post,CURLOPT_URL,$url);
        curl_setopt($email_post,CURLOPT_POST,count($fields));
        curl_setopt($email_post,CURLOPT_POSTFIELDS,$fields_string);

        //execute post
        $result = curl_exec($email_post); //echo $result for testing

        //close connection
        curl_close($email_post);
    // end email approvers section


这将使用post方法发送字段数据,并在请求中传递GET vars

问题是如何提交表单,并链接到同一页面上的特定位置:需要注意的是,只需单击一个按钮即可完成。不仅停留在同一页上,而且或多或少地停留在同一页上的同一个地方;单击以查看其他信息后,在顶部找不到页面

我的问题是,我错误地认为Goto XYZ是成对的 有了这里的锚:XYZ是必需的,而且尝试这些项目的各种放置方式会让我很沮丧,这让我担心我必须需要一些其他机制来实现提交表单的目标,以便控制div的打开以显示用户内容,而不必在顶部加载页面。同样相关的是,希望允许用户在查看内容后单击关闭按钮隐藏div,而不是在顶部打开页面

解决方法是通过大量的尝试和错误来发现,这是一个简单的问题 语法:


我也有类似的要求,我找到的唯一解决方案是使用表单将数据发布到同一个php文件中,该文件插入数据库,处理该发布数据,然后使用curl提取发布数据修改/添加更多发布值,并将其发送到另一个php文件中,如发送电子邮件

您可以使用表单
操作
参数和
按钮
参数作为
提交
,提交
,还可以添加一个带有属性的
链接,例如
href=“#+您的div id”
,以便在提交表单后将其放在同一页面上


希望这对您有所帮助。

可以使用在单击锚定时运行的javascript函数来完成。使用javascript函数提交表单,然后重定向到新链接。@SenorAmor好吧,查看注释会将按钮变成链接,但表单不会得到处理;而这一切的变种都失败了。将链接放置在表单内部;不太好。@sberry,也谢谢你。阅读那里2到3页的材料,然后重新阅读。谢谢,但是既然你回答了,我就在问题中添加了一些代码。它强化了我想通过链接发布和重新定位/重定向的关键点,只需单击一个按钮$邮寄?不用担心,有很多方法可以做到这一点。安装链接并使其正常工作?嗯,可以在整个农场都有链接,也可以,德纳达。如果您有任何想法,请提前感谢。您可以在php脚本中执行重定向,当您完成从表单中删除数据时,例如:
header(“location:”。“mypage.php?var1=1&var2=2&etc=n”);退出()正如我所拥有的,这些链接可以防止页面在开始和顶部加载和显示。我所追求的确切效果是,当用户向下滚动页面时,他们看到他们希望查看更多信息的项目,单击查看按钮,脚本使用链接name=“foo”锚来防止页面发疯并在顶部重新加载;当然,打开一个div来显示内容。当一个页面同时在视口中时,使用php和html进行动态更改非常容易;这是一个奇怪的问题,因为页面坚持在顶部打开。当心。
<pre>
<a name="Anchored3"></a>
<div id="AutoGenLINKxDIV3">
<div id="ParamsTOPforLink3">
<div id="DbLINKdataboxy3"><div id="abcLinkNum3"><?php
echo'&nbsp'; ?>Link DB: Link #<?php echo "3";?></div></div></div>
<?php if($LinkzFaithfulListener3==99 and $InestimableUtility==99){?>
<div id="YeahBabyShowThoseNotes3">
<div id="lameDivText3">
<?php echo "$someVariableRepresentingTextorImageOrContentofsometype";?><br />
</div></div><?php }?>
<div id="BttnOfRelease3"><div id="FakeGetOuttaJail3">
<form action="<?php echo $PHP_SELF; ?>#Anchored3"method="post">
<?php $PayloadMeNow3=$DaGoodez3; ?>
<input type="hidden"name="Liberte"value="<?php echo $Liberte; ?>"/>
<input type="hidden"name="EveryDangStepNeedsAVariable3"value="
   <?php echo $EveryDangStepNeedsAVariable3; ?>"/>
<button type="submit">Return To Link Viewing</button></form>
</div></div></pre>
<form name="MyForm" action="response_normal.php" method="post" onsubmit="xmlhttpPost('response_ajax.php', 'MyForm', 'MyResult', '<img src=\'pleasewait.gif\'>'); return false; YOURFUNCTIONHERE">
<body>
  <h1>My blog post!</h1>
  <p>My content</p>
  <a href="http://site.com/blog/my-blog-post/comments/">View Comments</a>
  <div id="comments></div>
</body>
<form action="mypage.php?var1=1&var2=2&etc=n" method="post">
<form action="<?php echo $PHP_SELF; ?>#Anchored3"method="post">
    //send an email
        //extract data from the post
        $name = $_POST['fname']." ".$_POST['lname'];
        $email = $_POST['email'];
        $web = "";
        $group_name = $_POST['group_name'];
        $message = "";
        $username = $_POST['username'];
        $user_id = mysql_insert_id();
        //point to script
        $url = 'scripts/emailer.php';
        //set POST variables
        $fields = array(
                    'article_id'=>urlencode($article_id),
                    'name'=>urlencode($name),
                    'email'=>urlencode($email),
                    'web'=>urlencode($web),
                    'message'=>urlencode($message),
                    'username'=>urlencode($username),
                    'user_id'=>urlencode($user_id),
                    'group_name'=>urlencode($group_name),
                    'messagetype'=>'new_user'
                );

        //url-ify the data for the POST
        foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
        rtrim($fields_string,'&');

        //open connection
        $email_post = curl_init();

        //set the url, number of POST vars, POST data
        curl_setopt($email_post,CURLOPT_URL,$url);
        curl_setopt($email_post,CURLOPT_POST,count($fields));
        curl_setopt($email_post,CURLOPT_POSTFIELDS,$fields_string);

        //execute post
        $result = curl_exec($email_post); //echo $result for testing

        //close connection
        curl_close($email_post);
    // end email approvers section