грешка в код

pro12

Registered
Код:
<?php 
$user=$_POST['user']; 
$mail=$_POST['mail']; 
$link=mysql_connect('localhost','user','pass'); 
$dbmysql_select_db('database'); 
$q="SELECT * FROM table WHERE mail='$mail AND user='$user' "; 
$result=mysql_query($q,$link); 
if(mysql_num_rows($result)<1){echo "Няма такова потребителско име и мейл в нашата база данни ";exit();} 
$newpass=substr (md5(rand()), 3, 10); 
$q="UPDATE table SET password='$newpassword' WHERE user='$user' AND pass='$pass' " 
$up=mysql_query($q,$link); 
mail ($mail, 'Вашата нова парола', 'Здравейте $user вапата нова парола е $newpass ', 'From: admin@admin.bg'); 
echo "На вашия меил бе изпратена новата ви парола!"; 
?>
Parse error: syntax error, unexpected T_VARIABLE in CODE on line 11 Errors parsing CODE как да я махна?
 
Код:
<?php 
$user=$_POST['user']; 
$mail=$_POST['mail']; 
$link=mysql_connect('localhost','user','pass'); 
$dbmysql_select_db('database'); 
$q="SELECT * FROM table WHERE mail='$mail AND user='$user' "; 
$result=mysql_query($q,$link); 
if(mysql_num_rows($result)<1){echo "Няма такова потребителско име и мейл в нашата база данни ";exit();} 
$newpass=substr (md5(rand()), 3, 10); 
$q="UPDATE table SET password='$newpassword' WHERE user='$user' AND pass='$pass' ";
$up=mysql_query($q,$link); 
mail ($mail, 'Вашата нова парола', 'Здравейте $user вапата нова парола е $newpass ', 'From: admin@admin.bg'); 
echo "На вашия меил бе изпратена новата ви парола!"; 
?>
 
pro12 каза:
Код:
$dbmysql_select_db('a6080885_new');

<?php
$user=$_POST['user'];
$mail=$_POST['mail'];
$link=mysql_connect('localhost','user','pass');
$db = mysql_select_db('database');
$q="SELECT * FROM table WHERE mail='$mail' AND user='$user' ";
$result=mysql_query($q,$link);
if(mysql_num_rows($result)<1){echo "Няма такова потребителско име и мейл в нашата база данни ";exit();}
$newpass=substr (md5(rand()), 3, 10);
$q="UPDATE table SET password='$newpassword' WHERE user='$user' AND pass='$pass' "
$up=mysql_query($q,$link);
mail ($mail, 'Вашата нова парола', 'Здравейте $user вапата нова парола е $newpass ', 'From: admin@admin.bg');
echo "На вашия меил бе изпратена новата ви парола!";
?>
 
pro12 каза:
дава греика на 11ред

Код:
<?php 
$user=$_POST['user']; 
$mail=$_POST['mail']; 
$link=mysql_connect('localhost','user','pass'); 
$db = mysql_select_db('database'); 
$q="SELECT * FROM table WHERE mail='$mail' AND user='$user' "; 
$result=mysql_query($q,$link); 
if(mysql_num_rows($result)<1){echo "Няма такова потребителско име и мейл в нашата база данни ";exit();} 
$newpass=substr (md5(rand()), 3, 10); 
$q1="UPDATE table SET password='$newpassword' WHERE user='$user' AND pass='$pass' " 
$up=mysql_query($q1,$link); 
mail ($mail, 'Вашата нова парола', 'Здравейте $user вапата нова парола е $newpass ', 'From: admin@admin.bg'); 
echo "На вашия меил бе изпратена новата ви парола!"; 
?>
 
pro12 каза:
syntax error, unexpected T_VARIABLE 11 дава това
Няма ';' на края на реда

Код:
<?php 
$user=$_POST['user']; 
$mail=$_POST['mail']; 
$link=mysql_connect('localhost','user','pass'); 
$db = mysql_select_db('database'); 
$q="SELECT * FROM table WHERE mail='$mail' AND user='$user' "; 
$result=mysql_query($q,$link); 
if(mysql_num_rows($result)<1){echo "Няма такова потребителско име и мейл в нашата база данни ";exit();} 
$newpass=substr (md5(rand()), 3, 10); 
$q1="UPDATE table SET password='$newpassword' WHERE user='$user' AND pass='$pass' " ;
$up=mysql_query($q1,$link); 
mail ($mail, 'Вашата нова парола', 'Здравейте $user вапата нова парола е $newpass ', 'From: admin@admin.bg'); 
echo "На вашия меил бе изпратена новата ви парола!"; 
?>
[/code]
 
не дава грешка но не работи дава това Няма такова потребителско име и мейл в нашата база данни
Код:
<form action="newpass.php" method="POST"> 
<input type="text" name="username" /><br /> 
<input type="text" name="email" /><br /> 
<input type="submit" name="submit" value="Изпрати!"/> 
</form> 
<?php 
$username=$_POST['username']; 
$email=$_POST['email']; 
$link=mysql_connect('mysql7.000webhost.com',admin',''); 
$db = mysql_select_db('a6080885_new'); 
$q="SELECT * FROM users WHERE email='$email' AND username='$username' "; 
$result=mysql_query($q,$link); 
if(mysql_num_rows($result)<1){echo "Няма такова потребителско име и мейл в нашата база данни ";exit();} 
$newpass=substr (md5(rand()), 3, 10); 
$q1="UPDATE users SET password='$newpassword' WHERE username='$username' AND password='$password' " ;
$up=mysql_query($q1,$link); 
email ($email, 'Вашата нова парола', 'Здравейте $username вапата нова парола е $newpass ', 'From: admin@admin.bg'); 
echo "На вашия меил бе изпратена новата ви парола!"; 
?>
 
pro12 каза:
не дава грешка но не работи дава това Няма такова потребителско име и мейл в нашата база данни
Код:
<form action="newpass.php" method="POST"> 
<input type="text" name="username" /><br /> 
<input type="text" name="email" /><br /> 
<input type="submit" name="submit" value="Изпрати!"/> 
</form> 
<?php 
$username=$_POST['username']; 
$email=$_POST['email']; 
$link=mysql_connect('mysql7.000webhost.com',admin',''); 
$db = mysql_select_db('a6080885_new'); 
$q="SELECT * FROM users WHERE email='$email' AND username='$username' "; 
$result=mysql_query($q,$link); 
if(mysql_num_rows($result)<1){echo "Няма такова потребителско име и мейл в нашата база данни ";exit();} 
$newpass=substr (md5(rand()), 3, 10); 
$q1="UPDATE users SET password='$newpassword' WHERE username='$username' AND password='$password' " ;
$up=mysql_query($q1,$link); 
email ($email, 'Вашата нова парола', 'Здравейте $username вапата нова парола е $newpass ', 'From: admin@admin.bg'); 
echo "На вашия меил бе изпратена новата ви парола!"; 
?>


3ащото нямаш такова потребителско име.Виж си връзката дали ти е вярна.И не си писал парола при connect-a
 
Боже, защо не го подреждате този код, истинско самоубийство.

PHP:
<?php
$link = mysql_connect('mysql17.000webhost.com', 'admin', '') or die (mysql_error());
mysql_select_db('a6080885_new', $link) or die (mysql_error());

if ( isset($_POST['username'], $_POST['email']) ) {
	$select_query = mysql_query("SELECT * FROM `users` WHERE `email` = '{$_POST['email']}' AND `username` = '{$_POST['username']}'") or die (mysql_error());
	
	if ( $select_query ) {
		if ( mysql_num_rows($select_query) == 0 ) {
			echo 'Няма такова потребителско име и мейл в нашата база данни';
			exit;
		}
		else {
			$password_hash = substr( md5(rand()), 3, 10 );
			$update_query = mysql_query("UPDATE `users` SET `password` = '{$password_hash}' WHERE `username` = '{$_POST['username']}' AND 'email` = '{$_POST['email']}'") or die (mysql_error());
			
			if ( $update_query ) {
				$send_mail = mail($_POST['email'], "Вашата парола", "Здравейте, {$_POST['username']}, вашата нова парола е {$password_hash}", "From: admin@admin.bg");
				
				if ( $send_mail ) {
					echo "На вашия меил бе изпратена новата ви парола!";
					exit;
				}
			}
		}
	}
}
else {
	echo "Моля, попълнете полетата!";
	exit;
}
?>
<form action="newpass.php" method="POST"> 
	<input type="text" name="username" /><br /> 
	<input type="text" name="email" /><br /> 
	<input type="submit" name="submit" value="Изпрати!"/> 
</form>

Малко е подобрен, имаше много забележки:
1. Няма функция email(), функцията е mail()
2. Ти се опитваш да променяш данни като в WHERE клаузата проверяваш и парола, а от никъде не я взимаш
3. Не е лошо да се прави проверка дали въобще е въведено нещо в полетата
4. Нямаше никакво дебъгване на грешки по SQL заявките, чрез mysql_error()
5. Въобще трябва да спреш да ползваш mysql_* функциите, защото са deprecated и ще създават допълнителни проблеми и грешки с всяка нова версия на PHP. Използвай mysqli_* или PDO(прочети за тях в официалния сайт на PHP)
 

Back
Горе