Nevim kde je chyba – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Nevim kde je chyba – PHP – Fórum – Programujte.comNevim kde je chyba – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Ondra
~ Anonymní uživatel
236 příspěvků
28. 6. 2009   #1
-
0
-

Kde je chyba? pise mi to Parse error: parse error, unexpected $end in C:\PHPWebServer\http_docs\reg.php on line 30 a ja vubec nevim proc, diky reakci

<?php

$db_connect = mysqli_connect();

if (!$db_connect)
echo mysqli_connect_error();

$heslo = $_POST['heslo'];
$heslo_znovu = $_POST['heslo_znovu'];
$email = $_POST['email'];
$login = $_POST['login'];

if($heslo != $heslo_znovu and isset($_POST['login'], $_POST['login']))
{
mysqli_query($db_connect, 'INSERT INTO uzivatele (login,pass,email) VALUES ($login,$heslo,$email);
}
mysqli_close($db_connect);
?>

<html>
<form action="" method="post">
<table>
<tr><td>Login:</td> <td><input type="text" name="login" maxlength="32"/></td></tr>
<tr><td>Heslo:</td> <td><input type="password" name="heslo" maxlength="32"/></td></tr>
<tr><td>Oveření hesla:</td> <td><input type="password" name="heslo_znovu" maxlength="32"/></td></tr>
<tr><td>E-mail:</td> <td> <input type="text" name="email" value="" maxlength="64"/></td></tr>
</table>
<input type="submit" name="send" value="Zaregistrovat"/>
</form>
</html>

Nahlásit jako SPAM
IP: 88.101.69.–
Reklama
Reklama
Nrigo
~ Anonymní uživatel
46 příspěvků
28. 6. 2009   #2
-
0
-

Zabudol si uzatvorit zatvorku na 14 riadku(tu na stranke):

mysqli_query($db_connect, 'INSERT INTO uzivatele (login,pass,email) VALUES ($login,$heslo,$email)); 

Nahlásit jako SPAM
IP: 88.212.40.–
z_moravec
~ Redaktor
+3
Posthunter
28. 6. 2009   #3
-
0
-

Úplně správně je to takto:

mysqli_query($db_connect, 'INSERT INTO uzivatele (login,pass,email) VALUES ($login,$heslo,$email)'); 

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Ondra
~ Anonymní uživatel
236 příspěvků
28. 6. 2009   #4
-
0
-

díky moc, tak jsem to trochu upravil, ale zase mě to blbne. netuším proč, ale ted mi to zas hlasi, ze

Notice: Undefined index: heslo in C:\PHPWebServer\http_docs\reg.php on line 9
Notice: Undefined index: heslo2 in C:\PHPWebServer\http_docs\reg.php on line 9



<html>

<body>
<?php
$db_connect = mysqli_connect();

if (!$db_connect)
echo mysqli_connect_error();

if($_POST['heslo'] != $_POST['heslo2'] and isset($_POST['login'], $_POST['login']))
{
$sql_prikaz =
"INSERT INTO kniha_navstev(login,pass,email) "
."VALUES('"
.mysqli_real_escape_string($db_connect,$_POST['login'])
."','"
.mysqli_real_escape_string($db_connect,$_POST['heslo'])
."','"
.mysqli_real_escape_string($db_connect,$_POST['email'])
."')"
;

mysqli_query($db_connect, $sql_prikaz);
}
if($db_connect)
mysqli_close($db_connect);
?>
<form action="" method="post">
<table>
<tr><td>Login:</td> <td><input type="text" name="login" maxlength="32"/></td></tr>
<tr><td>Heslo:</td> <td><input type="password" name="heslo" maxlength="32"/></td></tr>
<tr><td>Oveření hesla:</td> <td><input type="password" name="heslo2" maxlength="32"/></td></tr>
<tr><td>E-mail:</td> <td> <input type="text" name="email" value="" maxlength="64"/></td></tr>
</table>
<input type="submit" name="send" value="Zaregistrovat"/>
</form>
</body>
</html>

Nahlásit jako SPAM
IP: 88.101.69.–
KIIV+42
God of flame
28. 6. 2009   #5
-
0
-

To Ondra : kdyz nekontrolujes jestli byl formular odeslan tak se nediv

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
z_moravec
~ Redaktor
+3
Posthunter
28. 6. 2009   #6
-
0
-

Nemáš definované prvky pole heslo a heslo2. Toto můžeš ignorovat (aspoň než pochopíš na co by to mohlo být dobré). Zbavíš se toho, když vypneš v nastavení php zobrazování notice.

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
KIIV+42
God of flame
28. 6. 2009   #7
-
0
-

To z_moravec : jen at to necha zaple.. neni nic horsiho nez zacatecnik, co nevi kde ma chyby...
jinak staci prohodit ten isset($_POST['login']) pred srovnani hesel.. pokud login neexistuje tak se diky zkracenemu vyhodnocovani nevykona nic dalsiho v podmince

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
z_moravec
~ Redaktor
+3
Posthunter
28. 6. 2009   #8
-
0
-

Notice není chyba, ale jen upozornění. U php toto imho nemá moc cenu řešit. Začátečníka to akorát děsí, až se dostane k tvorbě složitějších systémů, tak už bude vědět co s tím a bude to pro něho užitečné. Teď tu (nebo jinde) bude díky zobrazování notice jen generovat další zbytečné dotazy. Samozřejmě zobraování chyb je dobré nechat zaplé, ale imho až od úrovně parse error.

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
KIIV+42
God of flame
28. 6. 2009   #9
-
0
-

To z_moravec : notice je potencialni chyba... uz se mi stalo hodnekrat ze ta "zbytecnost" uplne zmrsila funkci celyho scriptu... kdyz chci pouzit takovou konstrukci bez hlaseni chyby tak hodim @$_POST['klic']...
ale zalezi na programatorovi.. i v C mam rad -pedantic a -Wall

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zdeny
~ Korektor
0
Grafoman
1. 7. 2009   #10
-
0
-
Nahlásit jako SPAM
IP: 89.103.110.–
www.devtea.cz | zdenekvecera.cz | @ZdenekVecera
Redaktor Programujte.com a Živě.cz
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 30 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý