Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка соединения с базой данных
 
 автор: Kreg-Heg   (15.04.2007 в 04:08)   письмо автору
 
 

Вот у меня есть на странице некий html формуляр, который отправляет данные на сервер в файл ppreg.php
И в этом файле я стараюсь соедениться с базой данных
вот так:
<?php
$soedinenie=mysql_connect('http://www.хост.ru','root','тут_пороль');
if($soedinenie)
{echo 'соединение прошло успешно'} else
{echo 'соединение не уствновлено'}
?>
Но в итоге почемуто ничего не происходит. Вообще ничего, после клика по submit просто переходит на эту php страницу. Если Вы знаете причину этому то плиз не поленитесь напишите))

   
 
 автор: acdcee   (15.04.2007 в 04:18)   письмо автору
 
   для: Kreg-Heg   (15.04.2007 в 04:08)
 


if (!$soedinenie) {exit("<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>");}else{
echo"соединение прошло успешно'";
}


Попробуйте так....

   
 
 автор: Kreg-Heg   (15.04.2007 в 11:46)   письмо автору
 
   для: acdcee   (15.04.2007 в 04:18)
 

Спасибо! Подключился ))

   
 
 автор: Kreg-Heg   (15.04.2007 в 13:34)   письмо автору
 
   для: Kreg-Heg   (15.04.2007 в 11:46)
 

Теперь не могу заполнить базу данными.
Вот формуляр:

<form name='glavreg' action='ppreg.php' method='post'>
* Логин:<br>
<input type='text' name='pplogin' size='15' maxsize='15' value=''> <br><br>
* Пороль:<br>
<input type='password' name='pppass' size='15' maxsize='15' value=''>
<input type='submit' name='ppsub' value='Отправить'>
</form>

Вот скрипт обработчик:

<?php
$dbname = "rega";
$tabl="reg";
$sql="insert into $tabl (login, password) values ('".$_POST['pplogin']."', '".$_POST['pppass']."');
$soedinenie=mysql_connect ('localhost','root','тут_мой_пороль');
mysql_select_db($dbname, $soedinenie);
mysql_query ($sql, $soedinenie);
?>

rega - название базы данных
reg - название таблицы

HELP!!!

   
 
 автор: Kreg-Heg   (15.04.2007 в 14:17)   письмо автору
 
   для: Kreg-Heg   (15.04.2007 в 13:34)
 

Ну хоть ктонибудб посоветуйте чтонить!!! Работа стоит ((

   
 
 автор: cheops   (15.04.2007 в 16:23)   письмо автору
 
   для: Kreg-Heg   (15.04.2007 в 13:34)
 

При выполнении SQL-запроса в неотлаженной программе, всегда следует обрабатывать сообщения об ошибках, перепишите строку выполнения запроса следующим образом
<?php
  
if(!mysql_query ($sql$soedinenie)) exit("Ошибка ".mysql_error()."<br>$query");
?>

   
 
 автор: Kreg-Heg   (15.04.2007 в 16:39)   письмо автору
 
   для: cheops   (15.04.2007 в 16:23)
 

Сделал так как Вы сказали. Ничего не изменилось. Данные не заносятся и ошибку не выводит.

   
 
 автор: cheops   (15.04.2007 в 16:51)   письмо автору
 
   для: Kreg-Heg   (15.04.2007 в 16:39)
 

Обработайте ещё выбор базы данных
<?php
  
if(!mysql_select_db($dbname$soedinenie)) exit("База данных не может быть выбрана");
?>

   
 
 автор: Kreg-Heg   (15.04.2007 в 16:59)   письмо автору
 
   для: cheops   (15.04.2007 в 16:51)
 

неа, не выводит ошибки, значит всетаки подключается нормально

   
 
 автор: CrazyAngel   (15.04.2007 в 17:13)   письмо автору
 
   для: Kreg-Heg   (15.04.2007 в 16:39)
 

Зачем указывать соединение?

if(!mysql_query ($sql)) exit("Ошибка ".mysql_error()."<br>$query"); 

так что?

   
 
 автор: Kreg-Heg   (15.04.2007 в 17:19)   письмо автору
 
   для: CrazyAngel   (15.04.2007 в 17:13)
 

<?php
$dbname = "rega";
$tabl="reg";
$sql="insert into $tabl (login, password) values ('".$_POST['pplogin']."', '".$_POST['pppass']."');
$soedinenie=mysql_connect ('localhost','root','мой_пороль');
mysql_select_db($dbname, $soedinenie);
mysql_query ($sql, $soedinenie);
if(!mysql_query ($sql, $soedinenie)) exit("Ошибка ".mysql_error()."<br>$query");
if(!mysql_select_db($dbname, $soedinenie)) exit("База данных не может быть выбрана");
if(!mysql_query ($sql)) exit("Ошибка ".mysql_error()."<br>$query");
?>

вот как в данный момент скрипт выглядит, после того как нажимаю отправить, то появляется пустой лист хост.ppreg.php Захожу в phpmyadmin чтобы посмотреть отослалось ли чтонибудь, там в базе данных rega в таблице reg всё попрежнему пусто ((

   
 
 автор: CrazyAngel   (15.04.2007 в 17:48)   письмо автору
 
   для: Kreg-Heg   (15.04.2007 в 17:19)
 

подразумевается, что в таблице только два поля login и passwd.

<?php
$dbLOCATION    
"localhost"// Имя сервера
$dbUSER        "root";          // Имя пользователя
$dbPASSWD    "";            // Пароль
$dbNAME        "rega";
$dbTABLE    "reg";
$dbCNX        = @mysql_connect($dblocation,$dbuser,$dbpasswd);
$USER        $_POST['pplogin'];
$PASSWD        $_POST['pppass'];
echo 
"\$USER = $USER<br>\$PASSWD = $PASSWD<br>";
if (!
$dbcnx){
  echo(
"В настоящий момент сервер базы данных не доступен, поэтому 
           корректное отображение страницы невозможно."
.mysql_error()."");
  exit();
}
if (!@
mysql_select_db($dbNAME$dbcnx)){
  echo( 
"В настоящий момент база данных не доступна, поэтому
            корректное отображение страницы невозможно."
.mysql_error()."" );
  exit();
}
if(
mysql_query("INSERT INTO $dbTABLE VALUES (`$USER`,`$PASSWD`);")){
    echo 
"Все удачно";
    
$res mysql_query("select * from $dbTABLE;");
    if(
$res){
      while(
$ar_res mysql_fetch_array($res))
          echo 
"USER = ".$ar_res['login']."<br>PASSWD = ".$ar_res['passwd']."<br>";
    }else{
        echo 
"Ничего не выбралось ".mysql_error()."<br>";
    }
}else
    echo 
"Неудача".mysql_error()."<br>";

?>

Если это не работает, я не знаю в чем трабла....

   
 
 автор: Kreg-Heg   (15.04.2007 в 18:32)   письмо автору
 
   для: CrazyAngel   (15.04.2007 в 17:48)
 

Неа. Должен же полюбому вывести положительный или отрицательный результат работы скрипта! Не выводит вообще ничего. Хотя когда писал вот так:

<?php
$soedinenie=mysql_connect('localhost','root','тут_пороль');
if (!$soedinenie) {exit("<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>");}else{
echo"соединение прошло успешно'";
}

то выводило что соединение прошло успешно, значит всётаки гдето ошибка именно в коде!

Скажите для чего нужна вот эта вот часть:

$res = mysql_query("select * from $dbTABLE;");
if($res){
while($ar_res = mysql_fetch_array($res))
echo "\USER = ".$ar_res['login']."<br>\$PASSWD = ".$ar_res[passwd']."<br>";

И вот эта вот строчка:

echo "\$USER = $USER<br>\$PASSWD = $PASSWD<br>";

   
 
 автор: Trianon   (15.04.2007 в 21:10)   письмо автору
 
   для: Kreg-Heg   (15.04.2007 в 18:32)
 

А "исходный код HTML" что-нибудь содержит?

   
 
 автор: Kreg-Heg   (15.04.2007 в 23:24)   письмо автору
 
   для: Trianon   (15.04.2007 в 21:10)
 

У меня пороль был от хоста написан а не от phpmyadmin ))) откудаж я знал что они разные ))))

   
 
 автор: Trianon   (16.04.2007 в 00:32)   письмо автору
 
   для: Kreg-Heg   (15.04.2007 в 23:24)
 

В этом случае Вы должны были бы увидеть:
В настоящий момент сервер базы данных не доступен,
поэтому корректное отображение страницы невозможно

А Вы утверждали - пустая сраница.

   
 
 автор: CrazyAngel   (16.04.2007 в 07:10)   письмо автору
 
   для: Kreg-Heg   (15.04.2007 в 18:32)
 


<?php
$res 
mysql_query("select * from $dbTABLE;");
if(
$res){
while(
$ar_res mysql_fetch_array($res))
echo 
"\USER = ".$ar_res['login']."<br>\$PASSWD = ".$ar_res[passwd']."<br>";
?>

Выводит на экран всех пользователей(логин и пароль)

echo "\$USER = $USER<br>\$PASSWD = $PASSWD<br>";

Проверка, что данные методом POST передались

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования