Autor Zpráva
Kronysek
Profil *
Ahoj!

Potřeboval bych pomoct s registrací v PHP ..
Mám to všechno hotové a po odeslání formuláře mi tam přistane tohle:

"Parse error: syntax error, unexpected T_VARIABLE in /home/users/kronysek/tests.bluefile.cz/web/do_reg.php on line 4"

Tady je struktura "do_reg.php"
<?php

$host = 'localhost'
$dbuser = 'tests'
$dbpass = 'registrace'
$dbname = 'tests'

$connection = mysql_connect($host,$dbuser,$dbpass);
$db = mysql_select_db($dbname,$connection);

$name = $_POST[username];
$pass = $_POST[password];
$pass_conf = $_POST[pass_conf];
$email = $_POST[email];
$ip = $_POST[ip];

if ($name == false || $pass == false || $pass_conf == false || $email == false) {
echo "Prosím vyplň všechna pole.";
};
if($pass != $pass_conf) {
echo "Zadaná hesla se neshodují!";
}else {
$connection = mysql_connect($host,$dbuser,$dbpass);
$db = mysql_select_db($dbname,$connection);
$sql = "INSERT INTO user (username,password,email,ip) VALUES ($name,$pass,$email,$ip";
$result = mysql_query($sql);
echo "Díky za registraci! :)";
};

?>


Nevíte co s tím a co dělám špatně?
Prochy
Profil
Pro začátek vidim na začátku kódu chybějící středníky na konci řádku(3-6)
Kronysek
Profil *
Joo! :D .. Super!! Dík už to fachá :D
Kronysek
Profil *
Ale toho usera to nehodí do SQL ..
Prochy
Profil
Zkus trochu přemýšlet. Např. na řádku č. 25 ti chybí na konci závorka. Nevim jestli to je všechno. Nevim co dělá false v podmínce zatím jsem ho nepoužil. Pokud se nepletu, vyjadřuje 0. Pokud chceš zjistit, jestli uživatel vyplnil input, tak používej empty. A taky tam nepoužívej ||(or), ale &&(and). || je logický nebo(or), což znamená že by stačilo jedno pole vyplňěný a podmínka by se splnila. && je logický AND to znamená, že podmínka bude platit pokud budou všechny podmínky pravdivý(logická 1(true)). Více logické operátory zde .
Např.:
if (!empty($name) && !empty($pass) && ...){;}

Doufám, že neplácám nesmysly.
Kronysek
Profil *
Jo tu závorku už jsem tam měl doplněnou jenom tu nějako vypadla .. Ale ono to tu registraci jako dokončí, ale nezapíše to ten účet do Sql ...
Místo localhosta jsem zadal sql3.endora.cz:3308 protože to není jako normálně na portu 3306 .. ale nějako to vůbec nebere .. ale ani mi to nenapiše error ..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0