在我的内容执行后,我正在尝试进行PHP重定向,但是我无法让代码执行.
如果我加载它,它会重定向页面,但不会向数据库插入任何内容.如果我注释掉标题重定向行,它会将数据输入我的数据库.
如何让PHP运行并执行,然后重定向页面?
<?php require("gplus.php"); ?>
<?php require("database.php");?>
<?php if(isset($personMarkup)): ?>
<?php
$checkuser = "SELECT gid FROM user WHERE gid = '$id'";
$updateuser = "UPDATE user SET name = '$name', pic = '$img' WHERE gid = '$id'";
$adduser = "INSERT INTO user (gid, name, pic) VALUES ('$id','$name','$img')";
$checkuserrlt = mysqli_query($con, $checkuser);
if(mysqli_num_rows($checkuserrlt) > 0) {
$result = mysqli_query($con, $updateuser) or die(mysqli_error());
} else {
$result = mysqli_query($con, $adduser) or die(mysqli_error());
}
?>
<?php endif ?>
<?
mysqli_close($con);
?>
<?php
header( …Run Code Online (Sandbox Code Playgroud) 我收到以下错误:
警告:无法修改标题信息 - 已在第4行的/home/content/89/11421189/html/notfound.php中发送的标题(在/home/content/89/11421189/html/notfound.php:2处开始输出)
在我的文件'notfound.php'中,它使用以下代码:
<!DOCTYPE html>
<?php//Line 2
ob_start();
header('Location:http://www.website.com/index.php?page=404.php', true, 302);
exit;
?>
<head>
</head>
<html>
</html>
Run Code Online (Sandbox Code Playgroud)
请注意,PHP标记之前或之后没有空格.无论我将它移动到哪里(即使它都在同一条线上),该行是错误的罪魁祸首.我在这做错了什么?
[编辑]注意:如果我将PHP移动到DOCTYPE标记之前,导航到此文件会给出错误403:禁止.位置很好,因为我可以将其复制/粘贴到地址栏中而不会出现问题.你能通过header()传递GET参数吗?
我知道这个问题已被多次询问,但是,我似乎无法找到与我的情况相关的解决方案,因为它们主要处理wordpress.
这是我的邮件表格:
<?php
$to = "email@gmail.com" ;
$from = $_REQUEST['email'] ;
$name = $_REQUEST['name'] ;
$headers = "From: $from";
$subject = "Contact Submission From domain.com";
$fields = array();
$fields{"name"} = "name";
$fields{"title"} = "title";
$fields{"email"} = "email";
$fields{"phone"} = "phone";
$fields{"prefer_phone"} = "pref_phone";
$fields{"prefer_email"} = "pref_email";
$fields{"message"} = "message";
$fields{"referral"} = "referral";
$body = "Here is their submitted message:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n\n",$b,$_REQUEST[$a]); }
if($from == '') {print "You have not entered an email, please …Run Code Online (Sandbox Code Playgroud) <table>
<tr>
<td width="30"></td>
<td><img src="Images/logo.jpg" width="100" height="100" />
<td><td><h2> Kunal Structures (India) Pvt. Ltd.</h2></td>
</tr>
</table>
<?php
if(!isset($_SESSION['user_id']))
{
header("location:http://127.0.0.1/New%20folder/KSIPL1.10/KSIPL/index.php");
}
else
{
$now = time(); // checking the time now when home page starts
if($now > $_SESSION['expire'])
{
header("location: http://127.0.0.1/KSIPL1.10/KSIPL/index.php");
echo "Session Expired !"." <a href='http://127.0.0.1/New%20folder/KSIPL1.10/KSIPL/index.php'>"." <h1> ".
"Login again"." </h1>"."</a>";
session_destroy();
}
else
{
$qry = mysql_query("SELECT * FROM user_main WHERE user_id=".$_SESSION['user_id']."");
$loguser=mysql_fetch_assoc($qry);
?>
<table class="headerinfo" align="right">
<tr>
<td>You are <span style="color:#40B3BA;"><?php echo $loguser['user_name']; ?></span>,</td>
<td><a style="color:#f5f5f5; text-decoration:none;" …Run Code Online (Sandbox Code Playgroud) 我试图为变量inviteCode创建一个由字母和数字组成的随机10长度字符串,然后将inviteCode变量发送到数据库,似乎php代码没有为它发送10位数代码,或者它但确实没有发送.我成功发送了电子邮件.
Invite.php
PHP:
<?php
if(isset($_POST['submit'])){
$email = $_POST['email']; }
$length = 10;
$inviteCode = "";
$characters = "0123456789abcdefghijklmnopqrstuvwxyz";
for ($p = 0; $p < $length; $p++) {
$inviteCode .= $characters[mt_rand(10, strlen($characters))];
}
?>
Run Code Online (Sandbox Code Playgroud)
HTML:
<form action="save.php" method="POST">
<div class="form-email">
<input type="text" placeholder="Email" name="email" />
</div>
<div class="submit3">
<input type="submit" value="Invite" name="Login" />
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
save.php:
$email = $_POST['email']; //Gets email from form
mysql_query("INSERT INTO referrals (email, inviteCode)
Values ('$email', '$inviteCode') ")
Run Code Online (Sandbox Code Playgroud)
在将信息成功发送到数据库之后,我如何将用户从save.php重定向回invite.php?
我是php的新手,所以任何反馈,评论或帮助都非常感谢,谢谢(Y)
我有一个文件,它启动<?php session_start();?>,并返回一个错误
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp2\htdocs\index.php:1) in C:\xampp2\htdocs\index.php on line 3
Run Code Online (Sandbox Code Playgroud)
现在看看当下,我无法理解当我将我的文件的所有内容复制到另一个文件时,它开始工作.有人可以解释它是如何发生的.谢谢
我没有任何白色空间,至少我看不到它们
<div id="left-body-part-innerpage">
<h1 class="mainheading">Contact Us</h1>
<div id="contactus-right-div" class="content">
<?php session_start();
if( isset($_POST['button2']))
{
if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) )
{
$name = $_POST['name'];
// Insert you code for processing the form here, e.g emailing the submission, entering it into a database.
session_destroy();
header("Location: contactdb.php");
?>
Run Code Online (Sandbox Code Playgroud)
我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器 - 网站已经发送(网站开始输出)
警告:无法修改标题信息 - 已在网站上发送(在网站上开始输出)的标题
谁能帮我?
提前致谢....
我相信你们都知道这个错误:
Warning: Cannot modify header information - headers already sent by (output started at /homepages/4/d374499247/htdocs/wp-content/themes/tyler/mail.php:1) in /homepages/4/d374499247/htdocs/wp-content/themes/tyler/mail.php on line 34
这是代码:
if (strpos($email,'@') !== false) {
ob_start();
mail($to,$subject,$message,$headers);
header("Location: thankyou.html");
ob_end_flush(); }
Run Code Online (Sandbox Code Playgroud)
谁能在这里提供任何帮助?我只想要邮件()信息,然后转到位置页面
编辑:这是整个代码..
<?php
$to = 'myemail@gmail.com';
$subject = '???? ??????? ?????? ?????';
$message =
'???? ??????? ?????? ?????' . "\n\n" .
'??: ' . $_REQUEST['name'] . "\n\n" .
'???? ????????: ' . $_REQUEST['email'];
$email = $_REQUEST['email'];
$headers = 'From: ' . $email . "\r\n" .
'Reply-To: ' . …Run Code Online (Sandbox Code Playgroud) 我得到了一个"警告:无法修改标题信息 - 已经发送的标题(在第147行的/process_contact.php中已经开始输出)",而在php中使用mail()向多个用户发送邮件.
$from = "test@gmail.com";
$adminmessage="You have received an email from ".$_POST['email'].
$to = "test1@gmail.com";
$subject = "Email Received for an Order";
$message = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>
<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body>
Online Reservation Form has been submitted on the website on '.$date.'.<br><br>
<table width="710px" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="40%" height="30" valign="top">Name:</td>
<td width="60%" height="30" valign="top"><b>'.$_POST["name"].'</b></td>
</tr>
<tr>
<td width="40%" height="30" valign="top">Address:</td>
<td width="60%" height="30" valign="top"><b>'.$_POST["address"].'</b></td>
</tr>
<tr>
<td width="40%" height="30" valign="top">Phone no.:</td>
<td width="60%" …Run Code Online (Sandbox Code Playgroud) 在表单页面上,我有以下内容:
<?php
session_start();
if (isset($_POST['submit'])){
$_SESSION['username'] = $_POST['username'];
}
?>
<form action="index.php">
<input type="text" name="username">
<input type="submit" name="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
在文件“index.php”上,我有:
<?php
session_start();
echo ($_SESSION['username']);
?>
Run Code Online (Sandbox Code Playgroud)
但是索引页面上的输出表明会话变量未定义。我该如何解决这个问题,为什么它是未定义的?