Sunday, May 10, 2009

Mail server & register

Το register.php


<html>

<head>

<title>Διαχείριση Βαθμολογίας </title>
<link href="stylesheets/public.css" media="all" rel="stylesheet"
type="text/css" />
</head>

<body>
<div id="header">
<h1>Σύστημα Διαχείρισης Βαθμολογιών και Απουσιών</h1>
</div>

<div id="main">

<table id="structure">
<tr>
<td id="navigation">
<ul>

<li><a href="index.php">Αρχική Σελίδα</a></li>

<li ><a href="login.php"> Σύνδεση</a></li>
</ul>
</td>
<td id="page">
<h2>Εγγραφή</h2>
<form action='verify.php' method='POST' name='register' accept-charset="UTF-8">
<table>

<tr>
<td>
Όνομα χρήστη:
</td>

<td>
<input type='text' name='username'>
</td>

</tr>


<tr>
<td>
Κωδικός:
</td>

<td>
<input type='password' name='password'>
</td>

</tr>

<tr>
<td>
</td>


</tr>

<td>
Πραγματικό όνομα<br>και επίθετο:
</td>

<td>
<input type='text' name='realname'>
</td>

</tr>
<tr>
<td>
email:
</td>

<td>
<input type='text' name='email'>
</td>

</tr>


<tr>
<td>
Διεύθυνση:
</td>

<td>
<input type='text' name='address'>
</td>

</tr>
<tr>
<td>
T.K:
</td>

<td>
<input type='text' name='pobox'>
</td>

<tr>
<td>
Πόλη:
</td>

<td>
<input type='text' name='city'>
</td>

</tr>


<tr>
<td>
Τηλέφωνο:
</td>

<td>
<input type='text' name='phone'>
</td>
</tr>
<tr>

<td> Ιδιότητα:</td> <td>
<input type="radio" name="idiothta" value="secretary"checked> Γραμματέας
<input type="radio" name="idiothta" value="teacher" > Καθηγητής
<input type="radio" name="idiothta" value="student"> Μαθητής/Κηδεμόνας
</td>

<tr>

<td>
<input type="reset" />
</td>

<td><input type="hidden" name="form_submitted" value="1"/>

<input type='submit' name='submit' value='Εγγραφή'>
</td>

</tr>
</table>
</table>
</div>


<div id="footer">

</html>


To valid.php

<?php

include ("config.php");
$con=mysql_connect($dbhost,$dbuser,$dbpass)
or die("Cannot connect to database");

mysql_select_db('dbusers');

if ($_POST['form_submitted'] == '1') {
##User is registering, insert data until we can activate it

$activationKey = mt_rand() . mt_rand() . mt_rand() . mt_rand() . mt_rand();


$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$realname= mysql_real_escape_string($_POST['realname']);
$email = mysql_real_escape_string($_POST['email']);
$address = mysql_real_escape_string($_POST['address']);
$pobox=$address = mysql_real_escape_string($_POST['pobox']);
$city= mysql_real_escape_string($_POST['city']);
$phone=mysql_real_escape_string($_POST['phone']);
$idiothta=mysql_real_escape_string($_POST['idiothta']);

mysql_query("set names utf8;");


$sql= "INSERT INTO `dbusers`
(`id` ,`username` ,`password`, `realname`, `email`, `address`, `pobox`, `city`, `phone`, `idiothta`,`activationkey`, `status`)
VALUES
(NULL , '$username', '$password', '$realname', '$email','$address', '$pobox','$city','$phone','$idiothta','$activationKey', 'verify');";


if (!mysql_query($sql))

{

die('Σφάλμα: ' . mysql_error());

}

echo "An email has been sent to $_POST[email] with an activation key. Please check your mail to complete registration.";

##Send activation Email

$to = $_POST[email];

$subject = " registration";

$message = "Welcome to our website!\r\rYou, or someone using your email address, has completed registration at YOURWEBSITE.com. You can complete registration by clicking the following link:\rhttp://www.YOURWEBSITE.com/verify.php?$activationKey\r\rIf this is an error, ignore this email and you will be removed from our mailing list.\r\rRegards,\ YOURWEBSITE.com Team";

$headers = 'From: noreply@ YOURWEBSITE.com' . "\r\n" .

'Reply-To: noreply@ YOURWEBSITE.com' . "\r\n" .

'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

} else {

##User isn't registering, check verify code and change activation code to null, status to activated on success

$queryString = $_SERVER['QUERY_STRING'];

$query = "SELECT * FROM dbusers";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){

if ($queryString == $row["activationkey"]){

echo "Congratulations!" . $row["username"] . " is now the proud new owner of an YOURWEBSITE.com account.";

$sql="UPDATE users SET activationkey = '', status='activated' WHERE (id = $row[id])";

if (!mysql_query($sql))

{

die('Error: ' . mysql_error());

}

}

}

}

?>


ΤΟ λάθος που εμφανίζει...:

An email has been sent to 312321 with an activation key. Please check your mail to complete registration.

Warning: mail() [function.mail]: Failed to connect to mailserver at "@localhost" port 30, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\verify.php on line 58


ΚΑΙ Η ΛΥΣΗ ΓΙΑ ΑΥΤΟ :


http://www.freestuff.gr/forums/viewtopic.php?p=407343#407343

No comments:

Post a Comment