PHP chat => Problem

Programovacie jazyky, rady, poradňa...
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

PHP chat => Problem

Príspevok od používateľa Mmartin »

Ahoj, nakodil som si podla knihy PHP chat, ale v tejto casti:

Kód: Vybrať všetko

<?php
require "chat_head.php";

function ZobrazFormular($registrace) {
if ($registrace) {
$subt = "<b>Registracia</b>";
$check = "<tr><td><b>Overenie:</b></td> <input type='password' name='heslo2'></tr>";
$button = "Registrovat";
}else{
$button = "Prihlasit sa";
$reg = "<tr><td colspan=2 align='center'>
<hr width='70%'>
<a href='{$GLOBALS["PHP_SELF"]}?reg=on'>
Zaregistrovat</a></tr>";
}
echo <<<FRM
<form action="{$GLOBALS["PHP_SELF"]}" method="post">
<table align="center" valign="center" border="1" bgcolor="#f0f0f0">
<tr><td><table><tr><td colspan="2" align="center">
<h1>Php chat verzia 1.0</h1>$subt</td></td>
<tr><td><b>Meno: </b><td><input type="text" name="meno"></tr>
<tr><td><b>Heslo: </b><td><input type="password" name="heslo"></tr>

$check
<tr><td><td><input type="submit" name="ok" value="$button"></tr>

$reg
</table></td></tr>
</table>
</form>
FRM;
}

function Prihlas($jm, $uz) {
$_SESSION["username"] = $jm;
$_SESSION["roomid"] = 0;
if (is_array($uz))
$_SESSION["userid"] = $uz["id"];
Header("Location: {$GLOBALS["PHP_SELF"]}");
}

if ($_SESSION["username"]) {
if($out) {
mysql_query("update users set aktivni=0 naposledy=" .
time() . "where id =
{$_SESSION["userid"]}");
mysql_query("insert intro chat
values({$_SESSION['roomid']}, 0, " .time() . ", '*!* {$_SESSION['username']} opustil tuto miestnost *!*',0)");
session_unset($_SESSION['username']);
session_unset($_SESSION['userid']);
echo'<p align\"center\">Boli ste uspesne odhlaseni</p>';
ZobrazFormular(false);
}
else{
mysql_query("update users set aktivni = 1, naposledy = " . time() . "where id =
{$_SESSION["userid"]}");
mysql_query("insert into chat
values({$_SESSION['roomid']}, 0, " . time() . ", '*!* {$_SESSION['username']} vstupil do miestnosti *!*',0)");
?>
<frameset cols="*,200" frameborder="0" border="0" framespacing="0">
<frameset rows="*,50" frameborder="0" border="0" framespacing="0">
<frame name="chat" src="<?php echo $chat_chat ?>" frameborder="0" border="0" framespacing="0" marginheight="0" marginwidth="0">
<frame name="vstup" src="<?php echo $chat_main ?>" scrolling="no" border="0" frameborder="0" framespacing="0">
</frameset>
<fame name="stats" src="<?php echo $chat_stat ?>" scrolling="no" border="0" frameborder="0" framespacing="0">
</frameset>
<?php
}
}elseif (!$ok) {
ZobrazFormular($reg);
}
else {
if ($heslo2) {
if ($heslo==$heslo2 && $meno && $heslo){
$sql = "insert intro users values (0, '$meno', '" . md5($heslo) . "', " . time() . ", 0, 'uzivatel')";
if (mysql_query($sql))
Prihlas($meno, array("id" => mysql_insert_id(), "prava" => "uzivatel", "nastaveni" => ""));
else {
echo "<p style='color: red' align='center'>Toto uzivatelske meno pouziva uz iny uzivatel.</p>";
ZobrazFormular(true);
}
}
else {
echo"<p style='color: red' align='center'>Registracia sa nepodarila. Neboli vyplnene vsetky policka.</p>";
ZobrazFormular(true);
} else {
//Overenie
$sql = "select * from users where meno like '$meno'";
$uzivatel = mysql_query($sql);
$uzivatel = mysql_fetch_array($uzivatel);
if ($uzivatel && (md5($heslo) == $uzivatel["heslo"]))
Prihlas($meno, $uzivatel);
else {
echo"<p style='color: red' align='center'>Zle uzivatelske meno alebo heslo</p>";
ZobrazFormular(false);
}
}
}

Mi vyhadzuje Parse error v riadku 86, co je

Kód: Vybrať všetko

} else {
... Skusal som vselico povymienat, ale nic :(
Lukas1169
Medium Star
Medium Star
Príspevky: 347
Registrovaný: 15 nov 2008, 15:20

Príspevok od používateľa Lukas1169 »

tak mas niekde zle ukoncene }
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Príspevok od používateľa Mmartin »

To si stale myslim i ja, ale netusim, kde
"J"
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1019
Registrovaný: 13 mar 2007, 17:10

Príspevok od používateľa "J" »

Kód: Vybrať všetko

ZobrazFormular($reg);
}
else { 
Tato zatvorka za else nie je ukoncena. Pridaj na uplny koniec suboru este jedno } ...

Keby si si udrziaval kod prehladnejsi, nestalo by sa ti to.
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Príspevok od používateľa Mmartin »

Hmm a nevies, kde sa ma koncit? Lebo som skusil vsetko mozne, ale nic stale :(
"J"
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1019
Registrovaný: 13 mar 2007, 17:10

Príspevok od používateľa "J" »

Pridaj na uplny koniec suboru este jedno }... alebo ja neviem, vo vlastnom kode by si sa mal vyznat ty, ja neviem, naco ma ktora cast kodu sluzit, a skumat to teda nejdem.
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Príspevok od používateľa Mmartin »

Na koniec som to skusal, ale stale to nejde:(
"J"
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1019
Registrovaný: 13 mar 2007, 17:10

Príspevok od používateľa "J" »

A co znamena "nejde"?
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Príspevok od používateľa Mmartin »

Ze to robi to iste. Parse error
"J"
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1019
Registrovaný: 13 mar 2007, 17:10

Príspevok od používateľa "J" »

Mas tam 2x else: else {...} else {...}. Pohladaj si to.
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Príspevok od používateľa Mmartin »

oki vdaka
Napísať odpoveď