[ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.04.10
Prihlásený: 08.04.15
Príspevky: 46
Témy: 13 | 13
NapísalOffline : 09.07.2012 21:18 | Nejde pripojit k mysql

Zdravim som strasny laik konecne sa mi podarilo spojazdnit prihlasenie a registraciu na bezplatnom serveri.

Ak som to dal na platenu domenu prestalo to fungovat a neviem preco.

index.php
Kód:
<?php


//This will start a session

session_start();


$username = $_SESSION['username'];

$password = $_SESSION['password'];


//Check do we have username and password

if(!$username && !$password){

echo "Welcome Guest! <br> <a href=login.php>Login</a> | <a href=register.php>Register</a>";

}else{

echo "Welcome ".$username." (<a href=logout.php>Logout</a>)";

}



?>


login.php

Kód:
<?php

session_start();


//This displays your login form

function index(){


echo "<form action='?act=login' method='post'>"

."Username: <input type='text' name='username' size='30'><br>"

."Password: <input type='password' name='password' size='30'><br>"

."<input type='submit' value='Login'>"

."</form>";


}


//This function will find and checks if your data is correct

function login(){


//Collect your info from login form

$username = $_REQUEST['username'];

$password = $_REQUEST['password'];



//Connecting to database

$connect = mysql_connect("host", "username", "password");

if(!$connect){

die(mysql_error());

}


//Selecting database

$select_db = mysql_select_db("database", $connect);

if(!$select_db){

die(mysql_error());

}


//Find if entered data is correct


$result = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");

$row = mysql_fetch_array($result);

$id = $row['id'];


$select_user = mysql_query("SELECT * FROM users WHERE id='$id'");

$row2 = mysql_fetch_array($select_user);

$user = $row2['username'];


if($username != $user){

die("Username is wrong!");

}



$pass_check = mysql_query("SELECT * FROM users WHERE username='$username' AND id='$id'");

$row3 = mysql_fetch_array($pass_check);

$email = $row3['email'];

$select_pass = mysql_query("SELECT * FROM users WHERE username='$username' AND id='$id' AND email='$email'");

$row4 = mysql_fetch_array($select_pass);

$real_password = $row4['password'];


if($password != $real_password){

die("Your password is wrong!");

}




//Now if everything is correct let's finish his/her/its login


session_register("username", $username);

session_register("password", $password);


echo "Welcome, ".$username." please continue on our <a href=index.php>Index</a>";





}


switch($act){


default;

index();

break;


case "login";

login();

break;


}

?>



register.php
Kód:
<?php


//This function will display the registration form

function register_form(){


$date = date('D, M, Y');

echo "<form action='?act=register' method='post'>"

."Username: <input type='text' name='username' size='30'><br>"

."Password: <input type='password' name='password' size='30'><br>"

."Confirm your password: <input type='password' name='password_conf' size='30'><br>"

."Email: <input type='text' name='email' size='30'><br>"

."<input type='hidden' name='date' value='$date'>"

."<input type='submit' value='Register'>"

."</form>";


}


//This function will register users data

function register(){


//Connecting to database
$connect = mysql_connect(" mysql51.websupport.sk", "eurowebsite", "mojeheslo");

if(!$connect){

die(mysql_error());



}


//Selecting database

$select_db = mysql_select_db("database", $connect);

if(!$select_db){

die(mysql_error());

}


//Collecting info

$username = $_REQUEST['username'];

$password = $_REQUEST['password'];

$pass_conf = $_REQUEST['password_conf'];

$email = $_REQUEST['email'];

$date = $_REQUEST['date'];


//Here we will check do we have all inputs filled


if(empty($username)){

die("Please enter your username!<br>");

}


if(empty($password)){

die("Please enter your password!<br>");

}


if(empty($pass_conf)){

die("Please confirm your password!<br>");

}


if(empty($email)){

die("Please enter your email!");

}


//Let's check if this username is already in use


$user_check = mysql_query("SELECT username FROM users WHERE username='$username'");

$do_user_check = mysql_num_rows($user_check);


//Now if email is already in use


$email_check = mysql_query("SELECT email FROM users WHERE email='$email'");

$do_email_check = mysql_num_rows($email_check);


//Now display errors


if($do_user_check > 0){

die("Username is already in use!<br>");

}


if($do_email_check > 0){

die("Email is already in use!");

}


//Now let's check does passwords match


if($password != $pass_conf){

die("Passwords don't match!");

}



//If everything is okay let's register this user


$insert = mysql_query("INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')");

if(!$insert){

die("There's little problem: ".mysql_error());

}


echo $username.", you are now registered. Thank you!<br><a href=login.php>Login</a> | <a href=index.php>Index</a>";


}


switch($act){


default;

register_form();

break;


case "register";

register();

break;


}


?>



sql kod
Kód:
CREATE TABLE `users` (

`id` INT( 50 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,

`username` VARCHAR( 15 ) NOT NULL ,

`password` VARCHAR( 15 ) NOT NULL ,

`email` VARCHAR( 50 ) NOT NULL

)



stranka http://www.eurowebsite.sk


Prosim zdrzte sa komentou nauc sa to atd atd, pisem sem preto aby som sa to naucil...
Prakticky ak mi to niekto vysvetli sa mi to uci najlepsie a najlahsie.
Dakujem


Offline

Správca fóra
Správca fóra
Nejde pripojit k mysql

Registrovaný: 08.08.09
Príspevky: 12516
Témy: 41 | 41
Bydlisko: Martin
NapísalOffline : 09.07.2012 21:24 | Nejde pripojit k mysql

Takže si zmenil server? Vypíše ti pri pokuse o pripojenie funkcia mysql_connect() nejaký error (prípadne iná chyba, máš zapnuté zobrazovanie chýb v php? - pre potreby odladenia kódu ti to môže dosť pomôcť, aj keď treba vedieť (nájsť), čo jednotlivé hlášky znamenajú - po overení všetkých funkcií zase výpis chýb vypnúť)?
Dúfam, že ak sa zmenili prihlasovacie údaje na databázu, názov databázy a mysql server, že si ich vo svojom kóde upravil (vo všetkých častiach kódov).
Neštudoval som všetky tie kódy, no hneď v index.php som si všimol, že by bolo rozumnejšie v podmienke overovať, či existuje, resp. neexistuje $username alebo (||) $password. Teraz testuješ, či neexistujú obidve (&& - AND) pričom ak by neexistovala len jedna z nich, podmienka sa presunie na else (tiež nie moc rozumné, je lepšie vždy dávať výsledok ktorý očakávaš do if/elseif - else využívaj radšej len ako prostriedok na hlásenie chýb - teda nie vždy je to možné, ale kým nemáš pomienku riadne ošetrenú, bude lepšie písať to takto) vetvu.
Treba si to ošetriť, nikdy nevieš, kto sa na tvoje stránky prihlasuje.
btw. ty v databáze ukladáš nehashované heslo? :shock:


_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.04.10
Prihlásený: 08.04.15
Príspevky: 46
Témy: 13 | 13
Napísal autor témyOffline : 09.07.2012 21:49 | Nejde pripojit k mysql

To heslo nieje heslo :P
To uz je namna moc :D hovorim ze som laik takze budem len vdacny ak sa mi podari toto spustit a neskor budem upravovat.
Neviem ci to mam spravne zapisane ale ked mi to nefungovalo na bezplatnom serveri tak mi pekne napisal chybu ze to nieje spojene na tomto nic...

http://imgupload.sk/viewer.php?file=jktuy9ojg13zhzw83v7z.png

na serveri v priecinku databaza je napisane toto
V php skriptoch používajte pre mysql 5.1: :/tmp/mysql51.sock

V php skriptoch v prípade Improved MySQL funkcií je syntax nasledovná:
$socket = "/tmp/mysql50.sock";
$mysqli = new mysqli("localhost", $uzivatel, $heslo, $databaza, 0, $socket);

V php skriptoch v prípade PDO funkcií je syntax nasledovná:
$dsn = "mysql:unix_socket=/tmp/mysql50.sock;dbname=$databaza";
try {
$dbh = new PDO($dsn, $user, $password);
}
catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}


Externý prístup k databázam:
mysql 5.1 server: mysql51.websupport.sk port: 3309

neviem ci je to dolezite a mal by som pouzit nieco stoho
Mozno to len nemam dobre zapisane skusal som to pomenit viac sposobov ale nic


Offline

Správca fóra
Správca fóra
Nejde pripojit k mysql

Registrovaný: 08.08.09
Príspevky: 12516
Témy: 41 | 41
Bydlisko: Martin
NapísalOffline : 09.07.2012 21:57 | Nejde pripojit k mysql

Na websupporte používam (možno nie celkom správne, neviem, neskúmal som to - funguje to) ako server (prvý argument funkcie mysql_connect) na pripojenie mojich php skriptov "db51.websupport.sk".
Chcelo by to napísať len nejaký jednoduchý skript na výber "niečoho" z databázy, pričom si otestuješ jednotlivé spôsoby, ktoré píše websupport vo svojich manuáloch a budeš mať istotu, že keď sa budeš chcieť pripojiť na databázu, že budeš pripojený. Totiž chýb tam môže byť viac, treba to odlaďovať postupne.
A nehnevaj sa, no podľa mňa ak tvoríš nejaký skript, máš vedieť aspoň základy - my tu niesme od toho, aby sme za teba opravovali také základné chyby (a že by sa ich tam ešte pár našlo). Predstav si, že do tvojej databázy teraz niekto zaregistruje účet na heslo, ktoré používa ešte na tisíc ďalších stranách. To sa ti zdá férové? Navyše - keď to teraz píšeš s prázdnou databázou, ľahko to prerobíš na md5() prípadne sha() hashovanie. No čo potom, keď budeš mať v tabuľke heslá viac ako jedného užívateľa? Bude komplikovanejšie to (potichu) prepísať a všetky údaje manuálne meniť, ako teraz. Takže odporúčam ti (naozaj je to rada) písať to poriadne a hlavne bezpečne, ušetríš sebe aj ostatným hromadu času a nervov.


_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.04.10
Prihlásený: 08.04.15
Príspevky: 46
Témy: 13 | 13
Napísal autor témyOffline : 09.07.2012 22:06 | Nejde pripojit k mysql

Len mne to fungovalo na tom bezplatnom serveri zrazu ak som si dal plateny to nefunguje... Chcel som len vediet preco... Nejde mi oto hladat chyby v skriptoch len sa pripojit k mysql...
Chcem sa to naucit len neviem sa to naucit z teorie, uz som to tolko krat cital a stale nic... Druha pomocka premna bola youtube navody ale tam zas nieje vsetko... Takze posledna moznost mi ostala napisat tu...


Offline

Správca fóra
Správca fóra
Nejde pripojit k mysql

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 10.07.2012 9:00 | Nejde pripojit k mysql

ved si si uz sam odpovedal - ak hostujes u ws, tak v mysql_connect pouzijes okrem hostu aj socket (podla verzie mysql: mysql50.sock alebo mysql51.sock):
Kód:
$connect = mysql_connect("localhost:/tmp/mysql50.sock", "username", "password");


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.04.10
Prihlásený: 08.04.15
Príspevky: 46
Témy: 13 | 13
Napísal autor témyOffline : 10.07.2012 10:54 | Nejde pripojit k mysql

Super cez socket mi to spojilo... Dakujem :)

// pridané po 50 minútach od posledného príspevku

Este sa chcem opytat, pripojit sa uz ide len neviem najist spravnu cestu k databaze...
Na fotke co som daval je moja databaza a meno db netreba nejaky iny prikraz namiesto

Kód:
$select_db = mysql_select_db("database", $connect);  ?


? :)


Offline

Správca fóra
Správca fóra
Nejde pripojit k mysql

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 10.07.2012 11:12 | Nejde pripojit k mysql

v danej funkcii staci uviest len nazov databazy, ku ktorej sa chces pripojit, cize to, co mas v kode, by malo byt ok, ak namiesto "database" uvedies meno existujucej db


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.04.10
Prihlásený: 08.04.15
Príspevky: 46
Témy: 13 | 13
Napísal autor témyOffline : 10.07.2012 12:22 | Nejde pripojit k mysql

Nech robim co robim furt pise cannot select DB
Nepotrebujem nejaky iny prikaz kedze to mam na websupport.sk ?
Ako si napisal ze kedze hostingujem na ws potrebujem aj iny prikaz na pripojdenie k mysql


Offline

Čestný člen
Čestný člen
Nejde pripojit k mysql

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 10.07.2012 14:24 | Nejde pripojit k mysql

Neexistuje ti taka databaza, mozno si ju nevytvoril. Ak si si isty, ze existuje, posli screenshot z phpMyAdmina alebo co tam mate na spravu databaz, aby sme videli.
Nepotreboval si iny "prikaz", ani predtym, ani teraz, skratka bola ina hostname, je tam toho.


 [ Príspevkov: 10 ] 


Nejde pripojit k mysql



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

MySQL - nemožno pripojiť

v Databázy

4

145

10.03.2017 23:23

romo195

V tomto fóre nie sú ďalšie neprečítané témy.

Nedá sa pripojiť do MySQL

v Databázy

8

618

08.08.2012 10:08

FanatiKKK

V tomto fóre nie sú ďalšie neprečítané témy.

Nejde pripojiŤ HDD

v Pevné disky a radiče

0

284

29.12.2011 21:35

Stewi-Chan

V tomto fóre nie sú ďalšie neprečítané témy.

nejde mi pripojit

v Siete

6

369

17.03.2010 23:36

Jaro

V tomto fóre nie sú ďalšie neprečítané témy.

nejde pripojit bluetooth mys

v Externé zariadenia

1

227

19.06.2012 13:42

marek09041

V tomto fóre nie sú ďalšie neprečítané témy.

Ubuntu:nejde sa pripojit

v Operačné systémy Unix a Linux

10

493

11.08.2010 16:42

Johnnny

V tomto fóre nie sú ďalšie neprečítané témy.

Qip 2005 ..nejde pripojit

v Sieťové a internetové programy

14

399

26.02.2009 21:01

KingTommy

V tomto fóre nie sú ďalšie neprečítané témy.

notebook nejde pripojit na router

v Siete

4

699

21.09.2009 8:28

jojom

V tomto fóre nie sú ďalšie neprečítané témy.

dlink DI-624+ nejde pripojit

v Ostatné

9

333

23.07.2011 13:43

Matus86

V tomto fóre nie sú ďalšie neprečítané témy.

Nejde pripojit na herne servery

v Počítačové hry

2

117

26.12.2014 10:02

surzo

V tomto fóre nie sú ďalšie neprečítané témy.

router Topcom Skyracer, nejde pripojit

v Siete

5

435

12.04.2011 17:54

marek.urbik

V tomto fóre nie sú ďalšie neprečítané témy.

Nejde mi pripojiť na wifi

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Sieťové a internetové programy

46

522

27.05.2015 0:12

hanesovic

V tomto fóre nie sú ďalšie neprečítané témy.

Smart TV nejde pripojit net

v Siete

0

160

08.01.2013 20:42

falcon5583

V tomto fóre nie sú ďalšie neprečítané témy.

Android - nejde sa pripojiť cez WIFI.

v Smartfóny a tablety

5

351

10.04.2014 21:44

4040

V tomto fóre nie sú ďalšie neprečítané témy.

nejde pripojit na stranku nepodporovany protokol

v Služby a webstránky

0

121

11.02.2017 12:19

Melouch

V tomto fóre nie sú ďalšie neprečítané témy.

TP link TL-WN722NC nejde pripojit

v Siete

5

428

15.10.2013 7:47

marko7777



© 2005 - 2017 PCforum, edited by JanoF