简体   繁体   中英

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

I can't get php to send an email. I even tried using PHPmailer which didn't work as well. I tried everything. php mail (). 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.

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. 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 .

However, PhPMailer uses its own protocol implementation so you've to do some changes to switch between methods. Can you send us the errors ?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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