PHP! Nem tölti fel az adatbázist. Azt hiszem azzal a résszel van a baj, ahol sorszámot definiálok. Mi a hiba?
<?
session_start();
include 'connect.php';
header("Content-Type: text/html; charset=utf-8");
echo'
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//HU"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" lang="hu">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"/>
<link rel="stylesheet" href="style.css">
<title>forum</title>
<script type="text/javascript">
</script>
</head>
<body >';
if(empty($_SESSION['userid'])){
echo'
<div id="bejelent">
<form method="POST" action="bejelentkezes.php">
Felhasználónév: <input type="text" name ="user">
Jelszó:<input type="password" name ="pass">
<input border="0" src="img/belep.png" name="belepforum" width="216" height="65" type="image">
A hozzászóláshoz be kell jelentkezned!
Még nem vagy tag? <a href="regisztracio.php">Regisztrálj!</a>
</div>';
}
else {
$leker="SELECT * FROM users WHERE id='{$_SESSION['userid']}'";
$felh=mysql_query($leker);
$sor=mysql_fetch_array($felh);
echo 'Bejelentkezve:'. $sor['user'].'<form method="POST" action="bejelentkezes.php"><input border="0" src="img/kijelentkezes.png" name="kilep" width="216" height="65" type="image"></form>';
};
$ker1= mysql_query("SELECT * FROM `topik` WHERE `id`='$_SESSION[tid]'");
while($top = mysql_fetch_array($ker1))
{
echo 'Topik:'.$top['name'].' '.$top['text'].'';
echo '<br/>';
};
$ker2= mysql_query("SELECT * FROM `forum` WHERE `tid` = '$_SESSION[tid]' ORDER BY `id` DESC");
while($forum = mysql_fetch_array($ker2))
{
echo 'Komment:'.$forum['user'].' '.$forum['valasz'].' '.$forum['text'].''.$forum['sorszam'].''.$forum['date'].'';
};
if(!empty($_SESSION['userid'])){
echo '<form method="POST">
<input type="text" name ="text">
<input border="0" src="img/hozzaszolok.png" name="hozza" width="216" height="65" type="image">
</form>';}
if(isset($_POST['hozza_x'])){
if (isset($_POST['text'])){
$tid = $_SESSION['tid'];
$elh=mysql_query("SELECT * FROM `users` WHERE `id`='$_SESSION[userid]'");
$uuu=mysql_fetch_array($elh);
$user=$uuu['user'];
$eh=mysql_query("SELECT id FROM `forum` WHERE `tid`='$_SESSION[tid]'!
Having max(`id`)=1");
$sorsz=mysql_fetch_array($eh);
$sorszam = $sorsz + 1;
$date = getdate();
$text = $_POST['text'];
$parancs1 = "INSERT INTO forum(tid, user, date, text, sorszam) VALUES ('$tid', '$user', '$date, '$text', '$sorszam');";
echo'<h4> <meta http-equiv="refresh" content="0; url=forum.php""></h4>';
}else {echo 'Nem írtál üzenetet!';};
}
echo '</body>
</html>';
?>
lehet SQL hiba is, a $kerest előbb állítsd össze [ $leker="SELECT * ] és utána nyomj egy 'print $keres."<br>";' -t - ezt told be a Phpmyadmin Sql ablakába, és ha nem fut le rendesen, akkor látod a hiba okát.
nekem kicsit bonyesz a kód,
ha sikeres login után SESSION[user]-be megvan a MYSQL-bol a user adata,
ES ha az ID-k mysql-ben !AUTO_INCREMENT-es PRIMARY beallitasuak!,
akkor PL***:
.................
$keres="SELECT MAX(sorszam)+1 FROM forum WHERE topic_id=$topic[id]";
...kapunk $sorszamot...
$parancs1 = "INSERT INTO forum (topic_id, sorszam, user, date, text)
VALUES ( $topic[id], $sorszam, ".$_SESSION[user][id].", NOW(), '". strip_tags($text)."')";
...............
erdemes az sql-bol jovo adataid print_r($adat) kiiratni, mert Array-t kapsz.
a vegen kikommenteled.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!