Rambler's Top100
, : |

! : http://dreamweaver.net.ru/new-forum/

| FAQ | | |

Вывод данных из бд счерез id

 
  ,         .     ,        .     Форум Macromedia Dreamweaver -> Динамические страницы
 
Aziz
Новичок

Новичок


: 47

: 03.05.2005
: 31

: 09, 2006 8:07 am     : Вывод данных из бд счерез id

Создал форму, к примеру, с логином и паролью, отправляю данные в бд mysql, если такого логина не сушествует то логин и пароль записываются в бд и происходит переход на страницу подтверждения, иначе выдаётся сообщение что такой пользователь уже есть,
Вопрос, подскажите пожалуйста как сделать вывод логина и пароли именно этого пользователя на странице подтверждения тоесть:
"Поздравляю Вы зарегистрировались под логином $login и Ваш пароль $password"
Я понимаю что это связана с id в таблице бд имеется поле userid но как это осуществить не разобрал.. Буду признателен за любую помощь и совет.....
OldFornit
Модератор

Модератор


: 36

: 12.05.2005
: 846

: 09, 2006 4:56 pm     :

а можно посмотреть Вашу выборку из базы? Сиречь код и сам запрос.
Денис
Модератор

Модератор


: 43

: 21.08.2004
: 1490
: Санкт-Петербург

: 09, 2006 8:55 pm     :

Aziz, в корне неправильно.

1. Юзер вводит пароль и логин
2. Данные пароль и логин сравниваются с имеющимися в базе:

[code:1:67e1552ed6]SELECT * FROM `table` WHERE `login` = 'your_login' AND `pass` = 'your_pass';[/code:1:67e1552ed6]

3. Если свопадения по логину и паролю есть и их кол-во = 1, то этот юзер наш. Если совпадений нет - гоним его в шею или пересылаем на регистрацию.

ID тут абсолютно не причем.
Aziz
Новичок

Новичок


: 47

: 03.05.2005
: 31

: 10, 2006 4:04 am     :

тоесть мне нужно сначало проверить на сушествование этого логина для этого я написал
[code:1:c2799d2713]<? $link = mysql_connect("localhost", "nuke", "nuke")
or die ("Немогу подключится к MySQL базе");

mysql_select_db ("nuke", $link)
or die ("немогу выбрать базу");


@$sql="SELECT * FROM `user` WHERE `login` = $login";
$result = mysql_query($sql);
if (!$result){
$sql = "INSERT INTO user (login,pass) VALUES
('$login','$pass')";
echo "Поздравляю вы зарегистрированы<br>ваш логин $login<br> ваш пароль $pass";
}
else{
echo "логин $login уже сушествует";
}

?>[/code:1:c2799d2713] но этот (шедевр) в упорр не хочет работать
Денис
Модератор

Модератор


: 43

: 21.08.2004
: 1490
: Санкт-Петербург

: 10, 2006 5:30 am     :

Aziz, а какие ошибки выдает? Хороший способо диагностики ошибок - оператор echo. Ставите его после каждой функции и проверяете возвращаемое значение. Например:

[code:1:1be73b0d56]$link = mysql_connect("localhost", "nuke", "nuke");
echo $link; exit;
[/code:1:1be73b0d56]

Вы увидите $link. Вот таким способом проверьте Ваш скрипт. Уверен, ошибку найдете через несколько секунд. Вот Вам на всякий случай ссылка на мануал по PHP: http://www.php.net/manual/ru/index.php
Aziz
Новичок

Новичок


: 47

: 03.05.2005
: 31

: 10, 2006 7:08 am     :

предедущая сильно упрощёнаая версия через неё я хочу разобратся что и как работае, рабочий скрипт вот[code:1:611c281be8]<?php require_once('Connections/test.php'); ?>
<?php
// *** Redirect if username exists
$MM_flag="MM_insert";
if (isset($_POST[$MM_flag])) {
$MM_dupKeyRedirect="okk.php";
$loginUsername = $_POST['login'];
$LoginRS__query = "SELECT login FROM user WHERE login='" . $loginUsername . "'";
mysql_select_db($database_test, $test);
$LoginRS=mysql_query($LoginRS__query, $test) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);

//if there is a row in the database, the username was found - can not add the requested username
if($loginFoundUser){
$MM_qsChar = "?";
//append the username to the redirect page
if (substr_count($MM_dupKeyRedirect,"?") >=1) $MM_qsChar = "&";
$MM_dupKeyRedirect = $MM_dupKeyRedirect . $MM_qsChar ."requsername=".$loginUsername;
header ("Location: $MM_dupKeyRedirect");
exit;
}
}

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "myform")) {
$insertSQL = sprintf("INSERT INTO user (login, pass) VALUES (%s, %s)",
GetSQLValueString($_POST['login'], "text"),
GetSQLValueString($_POST['pass'], "text"));

mysql_select_db($database_test, $test);
$Result1 = mysql_query($insertSQL, $test) or die(mysql_error());

$insertGoTo = "ok.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<form action="<?php echo $editFormAction; ?>" method="POST" enctype="application/x-www-form-urlencoded" name="myform">
<table width="200" border="0">
<tr>
<td colspan="2">логин</td>
<td><label>
<input name="login" type="text" id="login" tabindex="login" />
</label></td>
</tr>
<tr>
<td colspan="2">пароль</td>
<td><label>
<input name="pass" type="password" id="pass" tabindex="password" />
</label></td>
</tr>
<tr>
<td colspan="3"><input type="submit" name="Submit" value="Submit" /></td>
</tr>
</table>



<input type="hidden" name="MM_insert" value="myform">
</form>

[/code:1:611c281be8]
внём мне нужно сделать подтверждение регистрации в котором должны быть логин и парол зарегистрированного, тоесть:

1 файл ok.php " Вы зарегистрировались. Ваш логин "Вася" Ваш пароль "12345",
или 2 файл okk.php "Пользователь "Вася" уже существует"
вот именно с этим у меня проблема
Aziz
Новичок

Новичок


: 47

: 03.05.2005
: 31

: 10, 2006 9:04 am     :

на странице ok.php сделал
[code:1:862079635a]<?php require_once('Connections/test.php'); ?>
<?php
mysql_select_db($database_test, $test);
$query_Recordset1 = "SELECT login, pass, userid FROM `user`";
$Recordset1 = mysql_query($query_Recordset1, $test) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<?php echo $row_Recordset1['login']; ?>
<p><?php echo $row_Recordset1['userid']; ?></p>
<p><?php echo $row_Recordset1['pass']; ?>


<?php
mysql_free_result($Recordset1);
?>
</p> [/code:1:862079635a]
но уменя выдаётся лиш логин пароль от 1 го id
Aziz
Новичок

Новичок


: 47

: 03.05.2005
: 31

: 10, 2006 3:58 pm     :

Всё разобрался, СПАСИБО всем кто откликнулся
Денис
Модератор

Модератор


: 43

: 21.08.2004
: 1490
: Санкт-Петербург

: 10, 2006 8:03 pm     :

Aziz, может, все же расскажете, в чем была проблема и как ее решили?
Aziz
Новичок

Новичок


: 47

: 03.05.2005
: 31

: 10, 2006 8:19 pm     :

Первое что сделал это вставил строки [code:1:e6f0b05380]
$insertGoTo .= '&requsername='.$_POST['login'];
$insertGoTo .= '&requserpass='.$_POST['pass']; [/code:1:e6f0b05380]
теперь это выглядит [code:1:e6f0b05380] $insertGoTo = "ok.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
$insertGoTo .= '&requsername='.$_POST['login'];
$insertGoTo .= '&requserpass='.$_POST['pass'];
}[/code:1:e6f0b05380] а в фале ok.php просто написал [code:1:e6f0b05380]<? echo "Поздравляю Вы зарегестрировались<br>
Ваш логин $requsername <br>
Ваш пароль $requserpass <br>
Пожалуйста запомните их."; ?>[/code:1:e6f0b05380]

и соответственно в файле ошибки okk.php[code:1:e6f0b05380]<? echo"Логин $requsername уже существует.";?>[/code:1:e6f0b05380]
также поле [code:1:e6f0b05380]$Result1 = mysql_query($insertSQL, $test) or die(mysql_error());[/code:1:e6f0b05380]
заменил на
[code:1:e6f0b05380]$Result1 = mysql_query($insertSQL, $test) or die('ошибка поле логин не может быть пустым');[/code:1:e6f0b05380] и вроде все пока работает
kai
Новичок

Новичок


: 40

: 31.08.2006
: 1

: 31, 2006 10:38 am     :

вопрос почти похожий: как сделать чтобы после входа по имени и паролю на странице отображалось имя пользователя, только без php, на одном asp. Процедура входа организована средствами DW, у меня неполучается чтобы значение поля "Имя" передавалось странице после входа, (на ней фильтр по имени).
Денис
Модератор

Модератор


: 43

: 21.08.2004
: 1490
: Санкт-Петербург

: 31, 2006 4:11 pm     :

C ASP незнаком Embarassed
:   
  ,         .     ,        .     Форум Macromedia Dreamweaver -> Динамические страницы : GMT + 2
1 1

 


Powered by phpBB © 2001, 2005 phpBB Group
phpBB


/ : 137797 / 0

Rambler's Top100 @Mail.ru