Čuz... Dělám pokusné fórum a když najedu na stránku, tak mi to napíše, že mám někde chybu.. Potíž je v tom, že já to opisuju z knihy a tam žádná chyba není...
Fórum › PHP
Chyby..
2Koudy: zkus to prepsat takhle:
if ($co["email"])
echo "<a href=\"mailto:{$co["email"]}\">{$co["autor"]}</a>";
osobne to ale pisu takto:
if ($co['email'])
echo "<a href=\"mailto:".$co['email']."\">".$co['autor']."</a>";
Parse error: syntax error, unexpected ',' in /home/free/ic.cz/b/bkdesing/root/www/diskuze.php on line 63
if (mysql_num_rows($forum) >= $stranka)
$ovladani .= "<a href=\"$PHP_SELF?id=$id&od=" .
($od + $stranka, 0) . "\">< předchozí</a>";
To Koudy:
to prvni bude podobny problem jako to uplne nahore -- bud to mas opet rozdeleny na vice radku => dej to na jeden, nebo Ti na konci chybi strednik.
v tom druhem moc nechapu, co znamena ($od + $stranka, 0) -- presneji receno ta carka s nulou => zkus to smazat
Zelenáč píše:#
# Možná volání nějaké f-ce??? BTW. co to je za knížku??!!
PHP4 Učebnice základnů jazyka a praktické příklady...
Geany píše:#
# To Koudy:#
#to prvni bude podobny problem jako to uplne nahore -- bud to mas opet rozdeleny na vice radku => dej to na jeden, nebo Ti na konci chybi strednik.#
#v tom druhem moc nechapu, co znamena ($od + $stranka, 0) -- presneji receno ta carka s nulou => zkus to smazat
Když to dám na jeden řádek, tak to funguje... Dík i s tou čárkou u nuly..
Geany píše:#
# To Koudy:#
#to prvni bude podobny problem jako to uplne nahore -- bud to mas opet rozdeleny na vice radku => dej to na jeden, nebo Ti na konci chybi strednik.#
#v tom druhem moc nechapu, co znamena ($od + $stranka, 0) -- presneji receno ta carka s nulou => zkus to smazat
Tak změna nejde to...:D
Parse error: syntax error, unexpected T_LNUMBER in /home/free/ic.cz/b/bkdesing/root/www/diskuze.php on line 62
To napíše bez tý čárky... Celý if vypadá takhle:
if (mysql_num_rows($forum) >= $stranka)
$ovladani .= "<a href=\"$PHP_SELF?id=$id&od=" . ($od + $stranka 0) . "\">< předchozí</a>";
Zelenáč píše:#
# Smaž tu nulu...
To de...
Koudy píše:#
# Tak a zase další:#
#Parse error: syntax error, unexpected ##uvozovka##(##uvozovka##, expecting ##uvozovka##,##uvozovka## or ##uvozovka##;##uvozovka## in /home/free/ic.cz/b/bkdesing/root/www/diskuze.php on line 85#
# {$forum["nadpis"]} ({$forum["pocet"]} příspěvků)
To mi zase nejde...
Koudy píše:#
##Zelenáč píše:#
# Smaž tu nulu...
#To de...#
##Koudy píše:#
# Tak a zase další:#
#Parse error: syntax error, unexpected ##uvozovka##(##uvozovka##, expecting ##uvozovka##,##uvozovka## or ##uvozovka##;##uvozovka## in /home/free/ic.cz/b/bkdesing/root/www/diskuze.php on line 85#
# {$forum["nadpis"]} ({$forum["pocet"]} příspěvků)
#To mi zase nejde...
A celý if vypadá takhle:
if ($seznam && mysql_num_rows($seznam))
echo "<h1>Výběr fóra</h1>";
while ($forum = mysql_fetch_array($seznam))
echo '<a href=\"$PHP_SELF?id={$forum["id"]}\">', ($forum['nadpis']) ({$forum['pocet']} příspěvků) </a><br>\n";
Proboha, tak prasáckej zápis jsem ještě neviděl (nehledě na to, že to imho nebude fungovat tak jak chceš - to už ale nechám na tobě)
if ($seznam && mysql_num_rows($seznam)){
echo("<h1>Výběr fóra</h1>");
}
while ($forum = mysql_fetch_array($seznam)){
echo("<a href=\"". $PHP_SELF ."?id=". $forum['id'] ."\">". $forum['nadpis'] ." (". $forum['pocet'] ." příspěvků) </a>\n");
}
Zelenáč píše:#
# Proboha, tak prasáckej zápis jsem ještě neviděl (nehledě na to, že to imho nebude fungovat tak jak chceš - to už ale nechám na tobě)#
##
#if ($seznam && mysql_num_rows($seznam)){#
# echo("<h1>Výběr fóra</h1>");#
#}#
##
#while ($forum = mysql_fetch_array($seznam)){#
# echo("<a href="". $PHP_SELF ."?id=". $forum[##uvozovka##id##uvozovka##] ."">". $forum[##uvozovka##nadpis##uvozovka##] ." (". $forum[##uvozovka##pocet##uvozovka##] ." příspěvků) </a>#
#");#
#}#
#
Já za to nemůžu.. Já to jen opisuju;-)
Předpokládám, že by to mělo vypadat nějak takhle a v tom kódu tedy mají chybu:
if ($seznam && mysql_num_rows($seznam)){
echo("<h1>Výběr fóra</h1>");
while ($forum = mysql_fetch_array($seznam)){
echo("<a href=\"". $PHP_SELF ."?id=". $forum['id'] ."\">". $forum['nadpis'] ." (". $forum['pocet'] ." příspěvků) </a>\n");
}
} else{
echo("Nejsou vytvořena žádná fóra nebo se nezdařil přístup k databázi.");
}
Koudy píše:#
##Parse error: syntax error, unexpected $end in /home/free/ic.cz/b/bkdesing/root/www/diskuze.php on line 93
#A žádný řadek k tomu není...
Někde v kódu chybí "}", resp. přebývá "{"
Koudy píše:#
# Za ja dlouho ste se naučili dobře PHP? Já to studuju 2měsíce a už to aspon chápu, ale používat neumím... Ale sestavit nákou funkci na principu fora dokážu...
Budou to 2 roky, co jsem se začal učit..
Není to prihlaseni.php... Ale když by něco zadal špatně, tak by to tam směřovalo... jinak to tam ještě nemám nakonfigurovaný
<html>
<head>
<style>
A:link {color: black; text-decoration: none}
A:visited {color: black; text-decoration: none}
A:hover {color: black; text-decoration: underline}
A:active {color: black; text-decoration: none}
div{margin-left: auto; margin-right: auto;}
font{text-align: center}
body {font-family: sans-serif;}
</style>
<title>BK desing -> Novinky</title>
<link rel="shortcut icon" href="favicon.gif">
</head>
<body bgcolor="black" alink="black" vlink="black" link="black">
<table align="center">
<tr>
<td colspan="2" width="750">
<img src="logo.jpg">
<br>
<img src="logo1.jpg">
<a href="index.php"><img src="logo2.jpg"></a>
<a href="onas.php"><img src="logo3.jpg"></a>
<a href="blog.php"><img src="logo4.jpg"></a>
<a href="galerie.php"><img src="logo5.jpg"></a>
<a href="diskuze.php"><img src="logo6.jpg"></a>
</td>
</tr>
<tr>
<td width="200" bgcolor="#DDDDDD">
<br>
<?php
session_start();
if($ok) {
mysql_connect();
mysql_select_db("administrace");
$sql = "select password from users where username = '$jmeno'";
$res = mysql_query($res);
}
if ($res && mysql_num_rows ($res) && md5($heslo)==mysql_result($res,0)) {
$_SESSION["username"] = $jmeno;
Header("Location:$back");
exit;
}
else {
$chyba = true;
}
include "prihlaseni.php";
if ($chyba)
echo "<p style=\"color: red\">Chyba. Uživatelské jméno neexistuje, nebo nezadal správné heslo.</p>";
?>
<form action="<?php echo $PHP_SELF ?>" method="post">
<input type="hidden" name="back" value="<?php echo $back ?>">
<table align="center">
<tr><td>
<font size="3"><center><b>Přihlašovací údaje</b></center></font>
</td></tr>
<tr><td>
<font size="2">Jméno:</font>
<input type="text" name="jmeno" value="<?php echo $jmeno ?>">
</td></tr>
<tr><td>
<font size="2">Heslo:</font>
<input type="password" name="heslo" value="<?php echo $jmeno ?>">
</td></tr>
<tr><td>
<input type="submit" name="ok" value="Přihlášení">
</td></tr>
</table>
</form>
<?php
include_once "osobni.php";
?>
<br>
</td>
<td width="520" bgcolor="white">
<font size="3"><center>Brekeke, Bůůůůůůůůůůůůůůůůůůůůůů, Brekeke,Bůůůůůůůůůůůůůů</center></font>
</td>
</tr>
</table>
</body>
</html>
<?php
session_start();
if($ok) {
mysql_connect();
mysql_select_db("administrace");
$sql = "select password from users where username = '$jmeno'";
$res = mysql_query($res);
}
if ($res && mysql_num_rows ($res) && md5($heslo)==mysql_result($res,0)) {
$_SESSION["username"] = $jmeno;
Header("Location:$back");
exit;
}
else {
$chyba = true;
}
include "prihlaseni.php";
if ($chyba)
echo "<p style=\"color: red\">Chyba. Uživatelské jméno neexistuje, nebo nezadal správné heslo.</p>";
?>
<form action="<?php echo $PHP_SELF ?>" method="post">
<input type="hidden" name="back" value="<?php echo $back ?>">
<table align="center">
<tr><td>
<font size="3"><center><b>Přihlašovací údaje</b></center></font>
</td></tr>
<tr><td>
<font size="2">Jméno:</font>
<input type="text" name="jmeno" value="<?php echo $jmeno ?>">
</td></tr>
<tr><td>
<font size="2">Heslo:</font>
<input type="password" name="heslo" value="<?php echo $jmeno ?>">
</td></tr>
<tr><td>
<input type="submit" name="ok" value="Přihlášení">
</td></tr>
</table>
</form>
<?php
include_once "osobni.php";
?>
Include ti jednoduse vlozi script, ktery predas jako parametr. Require funguje podobne, akorat pri jakekoli chybe zastavi provadeni celeho scriptu.. Dale pak jsou f-ce include_once (require_once), ktere zase vlozi script, ovsem jen JEDNOU. (pokud to nahore je prihlaseni.php, tak se ti bude do nekonecna vkladat samo do sebe)
Muzes potlacit chybove hlasky pridanim @ (zavinace) pred f-ci ;-)
Warning: main(osobni.php) [function.main.php]: failed to open stream: No such file or directory in /home/free/ic.cz/b/bkdesing/root/www/index.php on line 75
a
Warning: main() [function.include.php]: Failed opening 'osobni.php' for inclusion (include_path='.:/usr/share/php/smarty/libs:/usr/share/php/iclib/:/usr/share/fpdf:/usr/share/php/:/usr/share/php/jpgraph/') in /home/free/ic.cz/b/bkdesing/root/www/index.php on line 75
a řádek
include_once "osobni.php";
www.bkdesing.ic.cz
Je to nák úplně blbě... Se mi tam ukazujou věci, který jsem použil a vymazal...Vzhled neřeš...
no asi tam mas par duplicitnich includu navic, neprojizdel sem cele stranky, ale k cemu prihlaseni, kdyz neni registrace? :)
dale bych ti doporucoval spis nez do pismenka opisovat kod(navic to neni dopismenka, kdyz tady pises ty chyby :)), tak se snazit to, co v tom kodu je pochopit - kdyz pochopis, jak to funguje - co je cyklus, podminka, echo, include - tak uz pak nebude takovy problem napsat vetsi casti kodu bez chyb. Samozrejme vsichni delaji chyby, stane se, ze prehlidnes strednik, nebo zavorku, ale od toho sou tady kvalitni editory, ktere te na to upozorni ... Jo jeste doporucuju trochu zaklady anglictiny, php ti popise chybu vcelku jasne, snad jen, pokud je v chybove hlasce posledni radek souboru = ten na kterem je ?> nebo tam neni vubec nic, tak je chyba v zavorkach - je jich otevreno vic, nez zavreno ...
Mám problém, když jsem udělal stránku a opravil chyby, tak se mi nezobrazí www.bkdesing.ic.cz/registrace.php, jestli byste chtěli kod, tak napište...
at to otviram v cem to otviram a at refreshuju jak refreshuju, tak se mi tam zobrazi jen ic lista nahore a napis BKdesing - Registrace
insider píše:#
# at to otviram v cem to otviram a at refreshuju jak refreshuju, tak se mi tam zobrazi jen ic lista nahore a napis BKdesing - Registrace
Taky to jsem říkal... Sem dám kód..
<html>
<head>
<title>BKdesing - Registrace
<?php
function existuje($jmeno) {
return false;
}
function dokonci_hlavicku($text) {
echo $text;
echo "</title>
<style type=\"text/css\"><!-
.oblig {font-weight: bold}
td.oblig {background-color: red}
->
</style>
<script language=\"JavaScript\"><!-
function validace(formular) {
if (formular.jmeno.value=='') {
alert('Dobrý den.. Jaké je vaše jméno?');
formular.jmeno.focus();
return false;
}
else if (formular.prijmeni.value=='') {
alert('$jmeno.A příjmení nemáš?');
formular.prijmeni.focus();
return false;
}
else if (formular.eamil.value=='') {
alert('Napiš mi email..Jinak se ti ukážu zase!');
formular.prijmeni.focus();
return false;
}
else if (formular.username.value=='') {
alert('Tak $jmeno, vymysli si uživatelské jméno!');
formular.username.focus();
return false;
}
else if (formular.heslo.value=='') {
alert('Heslo nepotřebuješ?');
formular.heslo.focus();
return false;
}
else if (formular.heslo.value!=formular.heslo2.value) {
alert('Opsané heslo mi nák nesedí. Zkus to znova!');
formular.heslo2.focus();
return false;
}
else if (window.RegExp) {
re=new RegExp('^.+@.+(\..+)+$');
if(!re.test(formular.email.value)) {
alert('Myslíš, že ti sežeru neplatný email?!');
formular.email.focus();
return false;
}
else
return true;
}
else
return true;
}
//->
</script>
</head>
<body>";
?>
<h1>Registrační údaje</h1>
Pro úspěšnou registraci vyplnte zadaná políčka. V případě nevyplnění nebo špatně opsaného hesla Vás na to upozorníme!
<form action="<?php echo $PHP_SELF ?>" method="post" onSubmit="return validace(this)">
<fieldset>
<legend>Základní informace</legend>
<table>
<tr><td>Titul</td><td><span class="oblig">Jméno</span></td><td><span class="oblig">Příjmení</span></td>
</tr>
<tr><td><input type="text" name="titul" value="<?php echo $titul ?>"></td><td class="oblig"><input type="text" name="jmeno" value="<?php echo $jmeno ?>"></td><td class="oblig"><input type="text" name="prijmeni" value="<?php echo $prijmeni ?>"></td></tr>
<tr><td><span class="oblig">E-mail:</span></td><td class="oblig"><input type="text" name="email" value="<?php echo $email ?>"></td></tr>
</table>
</fieldset>
<p>
<fieldset>
<legend>Osobní údaje</legend>
<table>
<tr><td>Pohlaví</td><td><input type="radio" name="pohlavi" value="muz" <?php echo $pohlavi=="muz" ? "checked" : ""?>>Muž</td><td><input type="radio" name="pohlavi" value="zena" <?php echo $pohlavi=="zena" ? "checked" : "" ?>>Žena</td></tr>
<tr><td>Věk:</td><td><select name="vek">
<option value="" <?php echo $vek==N ? "selected" : ""?>></option>
<option value="14" <?php echo $vek==14 ? "selected" : ""?>>Do 14 let</option>
<option value="15" <?php echo $vek==15 ? "selected" : ""?>>15-17</option>
<option value="18" <?php echo $vek==18 ? "selected" : ""?>>18-20</option>
<option value="21" <?php echo $vek==21 ? "selected" : ""?>>21-26 </option>
<option value="27" <?php echo $vek==27 ? "selected" : ""?>>27-40</option>
<option value="41" <?php echo $vek==41 ? "selected" : ""?>>41-60 </option>
<option value="61" <?php echo $vek==61 ? "selected" : ""?>>61 a více</option></select>
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset>
<legend>Registrační údaje</legend>
<i>Pro vstup do systému je třeba si zvolit unikátní uživatlské jméno a zadat heslo (pro kontrolu je třeba heslo zadat dvakrát stejně). Pozor, bere se ohled na malá a velká písmena!</i>
<table>
<tr>
<td><span class="oblig"><b>Uživatelské jméno:</b></span></td>
<td class="oblig"><input type="text" name="username" value="<?php echo $username ?>"></td>
</tr>
<tr>
<td><span class="oblig"><b>Heslo:</b></span></td>
<td class="oblig"><input type="password" name="heslo" value="<?php echo $heslo ?>"></td>
</tr>
<tr>
<td><span class="oblig"><b>Heslo</b> (kontrola):</span></td>
<td class="oblig"><input type="password" name="heslo2" value="<?php echo $heslo2 ?>"></td>
</tr>
</table>
</fieldset>
<p>
<b>Záznam č.<?php echo $id?></b>
<input type="hidden" name="id" value="<?= $id ?>"><input type="submit" name="ok" value="Zaregistrovat!"><input type="reset" value="Smazat!">
</form>
</body>
</html>
<?php } ?>
Ještě mám jeden problém, když mám fórum naprogramovaný jak na stránce tak i v databázi, tak bych se chtěl zeptat jak mám založit fórum, aby se zobrazilo... V databázi jsem založil fórum , ale to se mi nedaří zobrazit...
To Koudy: vytvoril sis funkci dokonci_hlavicku ktera ma neco vypsat, ale aby to vypsala, tak tu funkci musis zavolat, takze na ten posledni radek, kde mas
<?php } ?>
bud napsat <?php }
dokonci_hlavicku(""); ?>
a nebo smazat tu funkci ktera je k nicemu ...Ještě mám jeden problém, když mám fórum naprogramovaný jak na stránce tak i v databázi, tak bych se chtěl zeptat jak mám založit fórum, aby se zobrazilo... V databázi jsem založil fórum , ale to se mi nedaří zobrazit...
no zalezi na tom, jak mas naprogramovany ten vypis, jestli to mas podle nejakych podminek, tak nesplnuje nejakou z tech podminek ...
<?php
$stranka = 20;
function ShowForm($id) {
?>
<form method=post>
<input type="hidden" name="id" value="<?php echo $id ?>">
<table>
<tr><td><b>Jméno:</b></td><td><input type="text" name="jmeno" maxlength=20></td>
<td><b>E-mail:</b></td><td><input type="text" name="email" maxlength=40></td></tr>
<tr><td><b>Téma:</b></td><td><input type="text" name="tema" size=50></td></tr>
<tr><td colspan=4><textarea name="text" cols=60 rows=6></textarea></td></tr>
</table>
<input type="submit" name="ok" value="Odeslat">
</form>
<?php
}
function ZobrazPrispevek($co) {
echo "<table border=1 bgcolor=\"#ffffa0\" width=\"100%\"><tr><td><table width=\"100%\">
<tr><td>";
if ($co['email'])
echo "<a href=\"mailto:".$co['email']."\">".$co['autor']."</a>";
else
echo $co["autor"];
echo "</td><td align=right>" . date("j.n.Y H:i:s",
$co ["datum"]) . "</td></tr>
<tr><td> colspan=2><b>{$co["data"]}
</b><hr>{$co["data"]}</td></tr></table></td></tr></table><p>\n";
}
$link = mysql_connect('mysql.ic.cz', 'ic_bkdesing', '722136');
if (!$link) {
die('Not connected : ' . mysql_error());
}
// make foo the current db
$db_selected = mysql_select_db('ic_bkdesing', $link);
if (!$db_selected) {
die ('Can\'t use bkdesing : ' . mysql_error());
}
if ($ok) {
$dotaz= "insert into prispevky values (0, $id, '" . htmlspecialchars($tema) . "','" .
n12br(htmlspecialchars ($text)) . "', '$jmeno',
'$email', " . time () . ")";
if (!mysql_query($dotaz))
echo "Nepodařilo se vložit záznam. Dotaz: <i>$dotaz</i><p>";
}
if ($id) {
echo "<table width=640><tr><td>";
$nadpis = mysql_query("select nadpis from fora where id = $id");
if ($nadpis && mysql_num_rows(nadpis)) {
$res = mysql_fetch_array($nadpis);
echo "<h1 align=center>{$res ["nadpis"]}</h1>";
} else exit ("Zadané fórum neexistuje");
$dotaz = "select * from prispeveky where forum = $id
order by datum limit ";
if ($od) $dotaz .= "$od,";
$dotaz .= $stranka;
$forum = mysql_query($dotaz);
$ovladani = "<table width=\"100%\">\n<tr><td align=left>";
if ($od >= 1)
$ovladani .= "<a href=\"$PHP_SELF?id=$id&od=" .
Max($od - $stranka) . "\">další $gt;</a>";
if (mysql_num_rows($forum) >= $stranka)
$ovladani .= "<a href=\"$PHP_SELF?id=$id&od=" . ($od + $stranka) . "\">< předchozí</a>";
else $ovladani .="další $gt;";
$ovladani .= "</td></tr></table>\n";
echo "<hr>\n$ovladani";
while ($f = mysql_fetch_array(forum))
ZobrazPrispevek ($f);
ShowForm ($id);
echo "<p>$ovladani</td></tr></table>";
}
else {
$sql = "select fora.id, nadpis, count(prispevky.id)
as pocet from fora left join prispeveky on
fora.id = prispevky.forum
group by prispevek.forum
order by pocet desc";
$seznam = mysql_query ($sql);
}
if ($seznam && mysql_num_rows($seznam)){
echo("<h1>Výběr fóra</h1>");
while ($forum = mysql_fetch_array($seznam)){
echo("<a href=\"". $PHP_SELF ."?id=". $forum['id'] ."\">". $forum['nadpis'] ." (". $forum['pocet'] ." příspěvků) </a>\n");
}
} else{
echo("Nejsou vytvořena žádná fóra nebo se nezdařil přístup k databázi.");
}
?>
jestli sem teda dobre pochopil sql dotaz, tak to vypise jen forum, ve kterem uz je nejaky prispevek
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Chyby v programoch C — založil pietro62
Chyby ve Visual c++ — založil VSc
Odhalení chyby — založil MiCizek
Jak na chyby — založil Honza30
Chyby v příkazovém řádku — založil
Moderátoři diskuze