В по-долната тема се оправих сам с чатбокса, но тук вече немога и..ще помоля наистина да ми се помогне.
Значи това е регистрационната форма, оградил съм с червено откъде почва проверката за регистрацията и къде е инсертването в датабазата.
-----------------------------------------------------
<?php
if ($_SESSION["valid_user"])
{ echo "<font class=\"textshadow\"><b>Този акаунт вече съществува ?</b></font>"; } else {
$realmd = array(
'db_host'=> $host,
'db_username' => $user,
'db_password' => $pass,
'db_name'=> $mangosrealm,
);
function check_for_symbols($string){
$len=strlen($string);
$allowed_chars="abcdefghijklmnopqrstuvwxyzæøåABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ0123456789";
for($i=0;$i<$len;$i++)if(!strstr($allowed_chars,$string[$i]))return TRUE;
return FALSE;
}
function sha_password($username,$password){
$username = strtoupper($username);
$password = strtoupper($password);
return SHA1($username.':'.$password);
}
if ($_POST['registration']){
$realmd_bc_new_connect = mysql_connect($realmd[db_host],$realmd[db_username],$realmd[db_password]);
$selectdb = mysql_select_db($realmd[db_name],$realmd_bc_new_connect);
if (!$realmd_bc_new_connect || !$selectdb){
echo "Something went wrong while connecting to the database. Please make sure the config.php file is correct.";
die;
}
$username1 = $_POST['username'];
$password1 = sha_password($username1,$_POST['password']);
$email1 = $_POST['email'];
$client = $_POST['expansion'];
$qry_check_username = mysql_query("SELECT username FROM account WHERE username='$username1'");
if(mysql_num_rows($qry_check_username) != 0)
{
echo 'Грешка: Този акаунт вече съществува.';
}
else
{
if (check_for_symbols($_POST[password]) == TRUE || check_for_symbols($username1) == TRUE){
echo "Грешка! Използвали сте невалидни символи при името на акаунта ви.";
}else{
mysql_query("INSERT INTO account (username,sha_pass_hash,email,expansion) VALUES
('$username1','$password1','$email1','$client')");
echo "Твоят акаунт <b>".$username1."</b> е създаден! Обедете се, че сте добавили нашият реалмлист: <br /><br /><b> ".$realmlist."</b><br/><br/> Ако имате проблеми посетете нашият форум";
}
}
}else{
?>
--------------------------------------------------------------------
Контактната форма:
<?php
// declare values
$contact_email = $_POST['email'];
$contact_subject = $_POST['subjects'];
$contact_name = $_POST['username'];
$contact_message = $_POST['messages'];
$mydate = date ( 'l, F d Y g:i A',time()+240 );
// where to send e-mail to
$to = 'wow.multimedia@abv.bg'; //тук въведете вашия e-mail (на който искате потребителите да изпращате e-mail)
// e-mail subject
$subject = "Съобщение от потребител на wow-multimedia"; //тук на мястото на domain въведете името (не url-a) на вашия сайт
// e-mail message
$message = "Съобщение от потребител на wow-multimedia:\r\n" //тук на мястото на domain отново въведете името (не url-a) на вашия сайт
."----------------------------------------------------------------\r\n"
."Име: $contact_name\r\n"
."Тема: $contact_subject\r\n"
."Дата: $mydate\r\n"
."От IP: {$_SERVER['REMOTE_ADDR']}\r\n\r\n"
."<b>Съобщение:</b> $contact_message\r\n"
."Form Address: {$_SERVER['SERVER_NAME']}{$_SERVER['REQUEST_URI']}";
$headers = "From: $contact_name <$contact_email>\n"
."Reply-To: $contact_email\n"
."Content-Type: text/html; charset=utf-8\n"
."X-Mailer: PHP/".phpversion();
// check for validation, then send the e-mail
if(empty($contact_name) || empty($contact_email) || empty($contact_subject) || empty($contact_message)) {
echo '<p>Използвайте тази контактна форма за да се свържете с нас или skype: <b><a href="skype:wow.multimedia?chat">wow.multimedia</a></b> !</p>
<form method="post" action="" onsubmit="return(formValidate(this));">
<table id="Form-Details">
<tbody>
<tr><td>Вашето име:<br /> </td><td><input type="text" name="username" size="20" /></td></tr>
<tr><td>Вашият е-mail:<br /> </td><td colspan="3"><input type="text" name="email" size="20" /></td></tr>
<tr><td>Тема:</td><td><input type="text" name="subjects" size="20" /></td></tr>
<tr><td colspan="4">Съобщение:</td></tr>
<tr><td colspan="4"><textarea rows="6" name="messages" cols="47" class="input"></textarea></td></tr>
<tr><td colspan="4" class="right1"><br /><input type="submit" name="submit" value="Изпрати" /></td></tr>
</tbody>
</table>
</form>';
} elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $contact_email)) {
echo "<p>Грешка: Моля въведете валиден e-mail.</p>";
} else {
mail( $to, $subject, $message, $headers );
echo "<h3>Съобщението беше успешно изпратено!</h3><p> $contact_name,<br /><br />Възможно най - скоро ще отговорим на вашето съобщение на e-mail $contact_email.";
}
?>
<script type="text/javascript" language="javascript">
function formValidate(form) {
// potrebitel
if (form.username.value == "")
{
alert('Моля въведете вашето име!');
form.username.focus();
return false;
}
// subject
if (form.subjects.value == "")
{
alert('Моля въведете тема!');
form.subjects.focus();
return false;
}
// email
if (form.email.value == "")
{
alert('Моля въведете e-mail!');
form.email.focus();
return false;
}
return true;
}
// -->
</script>
-----------------------------------------------------------------
Тук си няма идея как да стане, давам проверките и полетата:
Поле:
Проверка:
Тествани са и работят, само някой който разбира да ги вгради в скриптовете по-горе, ето пример в чатбокса как стана:
Всичко работи само както казах да се вкара, ще съм много благодарен на който го направи.
Значи това е регистрационната форма, оградил съм с червено откъде почва проверката за регистрацията и къде е инсертването в датабазата.
-----------------------------------------------------
<?php
if ($_SESSION["valid_user"])
{ echo "<font class=\"textshadow\"><b>Този акаунт вече съществува ?</b></font>"; } else {
$realmd = array(
'db_host'=> $host,
'db_username' => $user,
'db_password' => $pass,
'db_name'=> $mangosrealm,
);
function check_for_symbols($string){
$len=strlen($string);
$allowed_chars="abcdefghijklmnopqrstuvwxyzæøåABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ0123456789";
for($i=0;$i<$len;$i++)if(!strstr($allowed_chars,$string[$i]))return TRUE;
return FALSE;
}
function sha_password($username,$password){
$username = strtoupper($username);
$password = strtoupper($password);
return SHA1($username.':'.$password);
}
if ($_POST['registration']){
$realmd_bc_new_connect = mysql_connect($realmd[db_host],$realmd[db_username],$realmd[db_password]);
$selectdb = mysql_select_db($realmd[db_name],$realmd_bc_new_connect);
if (!$realmd_bc_new_connect || !$selectdb){
echo "Something went wrong while connecting to the database. Please make sure the config.php file is correct.";
die;
}
$username1 = $_POST['username'];
$password1 = sha_password($username1,$_POST['password']);
$email1 = $_POST['email'];
$client = $_POST['expansion'];
$qry_check_username = mysql_query("SELECT username FROM account WHERE username='$username1'");
if(mysql_num_rows($qry_check_username) != 0)
{
echo 'Грешка: Този акаунт вече съществува.';
}
else
{
if (check_for_symbols($_POST[password]) == TRUE || check_for_symbols($username1) == TRUE){
echo "Грешка! Използвали сте невалидни символи при името на акаунта ви.";
}else{
mysql_query("INSERT INTO account (username,sha_pass_hash,email,expansion) VALUES
('$username1','$password1','$email1','$client')");
echo "Твоят акаунт <b>".$username1."</b> е създаден! Обедете се, че сте добавили нашият реалмлист: <br /><br /><b> ".$realmlist."</b><br/><br/> Ако имате проблеми посетете нашият форум";
}
}
}else{
?>
--------------------------------------------------------------------
Контактната форма:
<?php
// declare values
$contact_email = $_POST['email'];
$contact_subject = $_POST['subjects'];
$contact_name = $_POST['username'];
$contact_message = $_POST['messages'];
$mydate = date ( 'l, F d Y g:i A',time()+240 );
// where to send e-mail to
$to = 'wow.multimedia@abv.bg'; //тук въведете вашия e-mail (на който искате потребителите да изпращате e-mail)
// e-mail subject
$subject = "Съобщение от потребител на wow-multimedia"; //тук на мястото на domain въведете името (не url-a) на вашия сайт
// e-mail message
$message = "Съобщение от потребител на wow-multimedia:\r\n" //тук на мястото на domain отново въведете името (не url-a) на вашия сайт
."----------------------------------------------------------------\r\n"
."Име: $contact_name\r\n"
."Тема: $contact_subject\r\n"
."Дата: $mydate\r\n"
."От IP: {$_SERVER['REMOTE_ADDR']}\r\n\r\n"
."<b>Съобщение:</b> $contact_message\r\n"
."Form Address: {$_SERVER['SERVER_NAME']}{$_SERVER['REQUEST_URI']}";
$headers = "From: $contact_name <$contact_email>\n"
."Reply-To: $contact_email\n"
."Content-Type: text/html; charset=utf-8\n"
."X-Mailer: PHP/".phpversion();
// check for validation, then send the e-mail
if(empty($contact_name) || empty($contact_email) || empty($contact_subject) || empty($contact_message)) {
echo '<p>Използвайте тази контактна форма за да се свържете с нас или skype: <b><a href="skype:wow.multimedia?chat">wow.multimedia</a></b> !</p>
<form method="post" action="" onsubmit="return(formValidate(this));">
<table id="Form-Details">
<tbody>
<tr><td>Вашето име:<br /> </td><td><input type="text" name="username" size="20" /></td></tr>
<tr><td>Вашият е-mail:<br /> </td><td colspan="3"><input type="text" name="email" size="20" /></td></tr>
<tr><td>Тема:</td><td><input type="text" name="subjects" size="20" /></td></tr>
<tr><td colspan="4">Съобщение:</td></tr>
<tr><td colspan="4"><textarea rows="6" name="messages" cols="47" class="input"></textarea></td></tr>
<tr><td colspan="4" class="right1"><br /><input type="submit" name="submit" value="Изпрати" /></td></tr>
</tbody>
</table>
</form>';
} elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $contact_email)) {
echo "<p>Грешка: Моля въведете валиден e-mail.</p>";
} else {
mail( $to, $subject, $message, $headers );
echo "<h3>Съобщението беше успешно изпратено!</h3><p> $contact_name,<br /><br />Възможно най - скоро ще отговорим на вашето съобщение на e-mail $contact_email.";
}
?>
<script type="text/javascript" language="javascript">
function formValidate(form) {
// potrebitel
if (form.username.value == "")
{
alert('Моля въведете вашето име!');
form.username.focus();
return false;
}
// subject
if (form.subjects.value == "")
{
alert('Моля въведете тема!');
form.subjects.focus();
return false;
}
if (form.email.value == "")
{
alert('Моля въведете e-mail!');
form.email.focus();
return false;
}
return true;
}
// -->
</script>
-----------------------------------------------------------------
Тук си няма идея как да стане, давам проверките и полетата:
Поле:
Код:
Въведете кода: <img src="chat/img.php" alt="" />
<br /><input type="text" name="kod" /><br /><br />
Проверка:
Код:
$kod = htmlspecialchars($_POST[kod]);//взимаме текста
if($kod!=$_COOKIE[imgcodepage])
$errMsg = "<font color=\"#ff4c00\">Не сте въвели правилно кода!</font><br>";
Код:
Въведете кода: <img src="chat/img.php">
<br /><input type="text" name="kod"><br /><br />
<input type="submit" name="submit" value="Добави" />
</form><br />
<?php
if (isset($_POST["submit"])) {
define('IN_VALID', true);
include('config.php');
mysql_query("SET NAMES utf8");
if (!empty($_POST["nick"])) $nick = htmlspecialchars($_POST["nick"]);
else $errMsg = "<font color=\"#ff4c00\">Моля въведете линк!</font><br />";
if (!empty($_POST["message"])) $message = htmlspecialchars($_POST["message"]);
else $errMsg = "<font color=\"#ff4c00\">Моля въведете съобщение!</font><br>";
$kod = htmlspecialchars($_POST[kod]);//взимаме текста
if($kod!=$_COOKIE[imgcodepage])
$errMsg = "<font color=\"#ff4c00\">Не сте въвели правилно кода!</font><br>";
if (empty($errMsg))
{
$insert = mysql_query("INSERT INTO chatbox(nick, message) VALUES('$nick', '$message')")or die(mysql_error());
echo 'Съобщението е добавено!';
} else echo $errMsg;
mysql_close();
}
?>
Всичко работи само както казах да се вкара, ще съм много благодарен на който го направи.