简体   繁体   English

无法获取php将我的表单数据发送到邮件中

[英]can't get php to send my form data into mail

I can't get php to send an email. 我无法通过php发送电子邮件。 I even tried using PHPmailer which didn't work as well. 我什至尝试使用效果PHPmailer I tried everything. 我尝试了一切。 php mail (). php邮件()。 MAILto. 邮件到。 I need the button submit button on the Add contact form to email the new user details to my boss as it adds it to the database. 我需要添加联系人表单上的按钮提交按钮,以便将新用户详细信息通过电子邮件发送给我的老板,因为它会将其添加到数据库中。 It adds the user fine but I cannot get the email to send. 它可以为用户增加罚款,但我无法发送电子邮件。 I'm working off a linux debian pc. 我正在使用Linux Debian PC。

Any help will really be appreciated 任何帮助将不胜感激

Here is my code: 这是我的代码:

 <?php
session_start();
if(!isset($_SESSION['SESS_MEMBER_ID'])){
header("Location:login.php");
}
?>
<html>
<head>

<link rel="stylesheet" type="text/css" href="formvalid.css">
            <script src="formvalid.js"></script>
<style type="text/css">
    td{border-right:1px solid #cccccc;padding:2px;text-align:center;}
   table.gridtable {
    font-family: verdana,arial,sans-serif;
    font-size:18px;
    color: #000000;
    border-width: 1px;
    border-color: #666666;
    border-collapse: collapse;
    }
    table.gridtable th {
    border-width: 1px;
 padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #dedede;
}
table.gridtable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #ffffff;
}
</style>
<title><?php if(!$title){?>Alpine VW Extension List<?php }else{ echo $title; }//end if?></title>
</head>
<body>
<?php
mysql_connect("localhost", "root", "^h1dDeN!") or die(mysql_error());
mysql_select_db("phonebook") or die(mysql_error());
$mode = $_GET['mode'];
$checkSql="select count(id) as eCount from address where ext = " . $_POST['ext'];
$result = mysql_query($checkSql);
$row = mysql_fetch_assoc($result);


if($row['eCount'] > 0) {
echo  "Extension Number already exists";
$mode = 'add';
}
if($row['eCount'] == 999){
$disable = 1;
}
switch($mode){
case 'add': 
?>
<h2>Add Contact</h2>
<form name="form1" action="<?=$_SERVER['PHP_SELF'];?>?mode=added" method="post">
<div align="center"><table class="searchable">
<tr><td>Extension:</td><td><div align="center">
<input type="text" name="ext" required />
<span class="error">* <?php echo $nameErr;?></span>
</div></td></tr>
<tr><td>Name:</td><td><div align="center">
<input type="text" name="name" required />
<span class="error">* <?php echo $nameErr;?></span>
</div></td></tr>
<tr><td>Department:</td><td><div align="center"><select name="department" required>
            <option value="ADMIN">ADMIN</option>
            <option value="AFTER-SALES DIRECTOR">AFTER-SALES DIRECTOR</option>
            <option value="ALPINE DEALER PRINCIPAL">ALPINE DEALER PRINCIPAL</option>
            <option value="AUTO ARMOUR/AUTO ENHANCE - FITMENT CENTRE (Smash and Grab)">AUTO ARMOUR/AUTO ENHANCE - FITMENT CENTRE (Smash and Grab </option>
            <option value="BANDIT-VW">BANDIT-VW</option>
            <option value="BOOKINGS VW">BOOKINGS VW</option>
            <option value="DRIVEWAY/WASHBAYS">DRIVEWAY/WASHBAYS</option>
            <option value="FINANCE AND INSURANCE">FINANCE AND INSURANCE</option>
            <option value="IT DEPARTMENT">IT DEPARTMENT</option>
            <option value="MARKETING DEPARTMENT">MARKETING DEPARTMENT</option>
            <option value="MASTER CARS">MASTER CARS</option>
            <option value="MAYOR OF PINETOWN">MAYOR OF PINETOWN</option>
            <option value="NEW CAR PREP DEPARTMENT">NEW CAR PREP DEPARMENT</option> 
            <option value="NUMBER PLATES">NUMBER PLATES</option>
            <option value="PANELBEATER - EASIFIX - CAR CARE">PANELBEATER - EASIFIX - CAR CARE</option>
            <option value="PARTS">PARTS</option>
            <option value="PARTS DISPATCH">PARTS DISPATCH</option>
            <option value="PARTS TELESALES">PARTS TELLESALES</option>
            <option value="USED CAR PREP AND ORDERS">USED CAR PREP AND ORDERS</option>
            <option value="VW NEW CARS ADMIN AND STOCK CONTROL">VW NEW CARS ADMIN AND STOCK CONTROL</option>
            <option value="VW NEW VEHICLE SHOWROOM">VW NEW VEHICLE SHOWROOM</option>
            <option value="VW SERVICE ADVISORS">VW SERVICE ADVISORS</option>
            <option value="VW WORKSHOP">VW WORKSHOP</option>
            <option value="VW WORKSHOP FOREMEN">VW WORKSHOP FOREMEN</option>
            <option value="WARRANTY & CLAIMS">WARRANTY & CLAIMS</option>
            <option value="WORKSHOP DRIVERS">WORKSHOP DRIVERS</option>
    </select>
<span class="error">* <?php echo $nameErr;?></span>
</div></td></tr>
<tr><td>Email:</td><td><div align="center">
<input type="text" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$" name="email" title="Example: user@company.co.za" required/>
<span class="error">* <?php echo $nameErr;?></span>
</div></td></tr>
<tr><td>Cellphone:</td><td><div align="center">
<input type="text" name="phone" />
</div></td></tr>

<tr><td colspan="2" align="center"><a href="javascript:history.go(-1);">Back</a> | <input type="submit" name="submit" id="submit"  value="Add New Contact"<?php if($disable ==1){?>disabled<?php } ?>/></td></tr>
<input type="hidden" name="mode" value="added">

</table>
</div>
</form>
<?php
break;
case 'added':
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$department = $_POST['department'];
$ext = $_POST ['ext'];
$sql = "INSERT INTO address (ext, name, department ,email, phone) VALUES ('" . $ext . "','" . $name . "','" . $department . "', '" . $email . "', '" . $phone . "')";
mysql_query($sql);
header('location: ' . $_SERVER['PHP_SELF']);
break;
case 'edit':
?>
<h2>Editing: <?php echo $_GET["id"]; ?></h2>

<form name="form1" action="<?=$_SERVER['PHP_SELF'];?>?mode=edited" method="post">
<table width="399" class="searchable">
<tr><td width="87">Extension Number:</td>
<td width="551"><div align="center">
<input type="text" value="<?=$_GET['ext']?>" name="ext" />
</div></td></tr>
<tr><td>Name:</td><td><div align="center">
<input type="text" value="<?=$_GET['name'];?>" name="name" />
</div></td></tr>
<tr><td>Email:</td><td><div align="center">
<input type="text" value="<?=$_GET['email'];?>" name="email" />
</div></td></tr>
<tr><td>Cellphone:</td><td><div align="center">
<input type="text" value="<?=$_GET['phone'];?>" name="phone" />
</div></td></tr>
<tr><td colspan="2" align="center"><a href="javascript:history.go(-1);">Back</a> |<input name="Submit" type="submit" value="Save Changes" /></td></tr>
<input type="hidden" name="mode" value="edited">
<input type="hidden" name="id" value="<?=$_GET['id'];?>">
</table>
</form>
<?php 
break;

case 'edited':
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$Ext = $_POST ['Ext'];
$id = $_POST['id'];
$sql = "UPDATE address SET name = '" . $name ."', phone = '" . $phone . "', email = '" . $email . "', Ext = '" . $Ext . "' WHERE id = '" . $id . "'";
mysql_query($sql);
header('location: ' . $_SERVER['PHP_SELF']);
break;

case 'remove':
$id = $_GET['id'];
$sql ="delete from address where id= '" . $id ."'";
mysql_query($sql);
header('location: ' . $_SERVER['PHP_SELF']);
break;

default:
$depts = [];
$res = mysql_query("SELECT * FROM address ORDER BY department, name");

while ($row = mysql_fetch_assoc($res)) {
if (!isset($depts[$row['department']])) {
    $depts[$row['department']] = [];
}
$depts[$row['department']][] = $row;
}
?>

<div align="center"><h1>Alpine VW Extension List</h1></div>
<div align="center"><table class="gridtable">
<tr>
    <th width="100">Extension</th>
    <th width="100">Name</th>
    <th width="200">Email</th>
    <th width="200">Cellphone</th>
    <th width="200" colspan="2">Admin</th>
</tr>
<tr>
    <td colspan="6">
    <?php if ($disable != 1) : ?>
        <b><a href="<?= $_SERVER['PHP_SELF'] ?>?mode=add">Add Contact</b </a>
    <?php else : ?>
        <span>Contact Book is Full</span>
    <?php endif ?>
    </td>
</tr>
<?php foreach ($depts as $dname => $contacts) : ?>
    <tr>
        <td colspan="6"><?= $dname ?></td>
    </tr>
    <?php foreach ($contacts as $contact) : ?>            
<tr>
            <td><?= $contact['Ext'] ?></td>
            <td><?= $contact['name'] ?></td>
            <td><a href="mailto:"<?= $contact['email'] ?>"><?= $contact['email'] ?></a></td>
            <td><?= $contact['phone'] ?></td>
            <td><a href="<?= $_SERVER['PHP_SELF'] ?>?id=<?= $contact['id'] ?>&mode=edit" >Edit </a></td>
            <td><a href="<?= $_SERVER['PHP_SELF'] ?>?id=<?= $contact['id'] ?>&mode=remove">Remove</a></td>
</tr>
<?php endforeach ?>
<?php endforeach ?>
</div>
</table>
<?php
break;

}
?>
</body>

</html> 
<?php ob_flush();?>

From your question there is no use of any mail() function but if you want php mail function then here is code. 从您的问题来看,没有使用任何mail()函数, 但是如果您想要php mail函数,那么这里是代码。 you have to change the variables and label as per your need 您必须根据需要更改变量和标签

if(isset($_POST["submit"]))
{
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$name = $_POST['email'];
$email = $_POST['address'];
$addressa = $_POST['name'];
$addressb = $_POST['phone'];
$phone = $_POST['number'];
$mes  = $_POST['type'];
$how = $_POST['date'];
$headers .= 'Cc: '.$name."\r\n";



$to      = '********@gmail.com';
$subject = 'subject';
$message =  "Email : ".$name."\r\n <br>". 
        "Address : ".$email."\r\n <br>".
        "Name : ".$addressa."\r\n <br>".
        "Phone : ".$addressb."\r\n <br>".
        "Number Of Seats : ".$phone."\r\n <br>".
        "Date : ".$how."\r\n <br>".
        "Type : ".$mes."\r\n <br>";

$result = mail($to, $subject, $message,$headers);
if(!$result) {   
     echo "<script>alert('Not Send Successfully');document.location='page.php'</script>";
} else {
   echo "<script>alert('Send Successfully');document.location='page.php'</script>";
}
}

Oh, please, do not send us your database password... 哦,请不要向我们发送您的数据库密码...

Please note that the PhP mail() function works with some server configuration, according to the PhP documentation . 请注意,根据PhP文档 ,PhP mail()函数可用于某些服务器配置。

However, PhPMailer uses its own protocol implementation so you've to do some changes to switch between methods. 但是,PhPMailer使用其自己的协议实现,因此您必须进行一些更改才能在方法之间切换。 Can you send us the errors ? 您能将错误发送给我们吗?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM