Prosím.. mohl by mi někdo pomoct?
Příspěvky odeslané z IP adresy 86.61.234.–
Díky moc :smile1:
Když je hodně textu patička je nalepená na něm..příklad: http://montyho.cz/index.php?id=mainnavstevnikniha
Ano, je to opět tady potíže s patičkou.. plaváčkovo řešení? Ne nefunguje mi.. spíš ho nedokážu použít?
Mohl by mi prosím někdo pomoct?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<!-- Style -->
<link rel="stylesheet" type="text/css" href="style.css" />
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="style_ie.css" /><![endif]-->
<title>..:Montyho webblog:..</title>
</head>
<body>
<!-- pocitadlo -->
<?php include'moduly/pocitadlo/pocitadlo.php'; ?>
<!-- Menu a nadpis -->
<div id="container">
<div id="header"><center><img src="dokumenty/obrázky/nazev.png" alt="Montyho webblog" class="nazev"/></center></div>
<div id="menu">
<center><div class="menu">
<a href="index.php">Úvod</a> †
<a href="index.php?id=mainit">IT Projekty</a> †
<a href="index.php?id=mainkontakt">Kontakt</a></div>
</center></div>
<div id="body">
<!-- Obsah -->
<div id="main">
<?php
$content=$_GET['id'];
if($content){
$f=$content.".inc";
include($f);
}
else
{
include("mainuvod.inc");
}
?>
<!-- novinky -->
<?php include'novinky.php'; ?>
</div>
</div>
<!-- Patička -->
<center><?php include'paticka.php'; ?></center>
</body>
</html>
To my vyhazuje chybu že se nemůže připojit k DB.. a to mi dělaj všechny příkazy mysql používám jen mysqli
To Zdeny : díky za upozornění
A co když potřebuju zabezpečit text?
Jak prosím zabezpečit proti SQL injection? Fungují jen mysqli příkazy.. díky
<?php
//připojení k db
$db = mysqli_connect(' ', ' ', ' ', ' ');
if (!$db) {
echo "Spojení s DB se nepodařiloilo";
exit();
}
$id_clanku = $_POST["id_clanku"];
//zapsani
$kontrola=mysqli_query($db, "SELECT * FROM hodnoceni WHERE id_clanku='".$id_clanku."' AND ip='".$_SERVER['REMOTE_ADDR']."'");
if (mysqli_num_rows($kontrola)==0) {
$hodnoceni = intval($_POST["hodnoceni"]);
if($hodnoceni >= 1 && $hodnoceni <= 5)
mysqli_query($db,"INSERT INTO hodnoceni(id_clanku,hodnoceni,ip) VALUES ('".$id_clanku."',".$hodnoceni.",'".$_SERVER['REMOTE_ADDR']."')");
}
else {
echo "Už si hlasoval !";
}
$id_clanku=$_GET['id'];
//vypsani
$result = mysqli_query($db,"SELECT id_clanku,AVG(hodnoceni) FROM hodnoceni WHERE id_clanku = '".$id_clanku."' GROUP BY id_clanku");
while($values = mysqli_fetch_array($result)){
$id_clanku = $values[0];
$hodnoceni = number_format($values[1], 2, '.', '');
echo "Hodnocení: $hodnoceni, ";
}
if(!$result)
echo"Ještě nikdo nehodnotil, buďte první!";
//spočítání počtu hodnocení
$pocet_data = 0;
$pocet = mysqli_query($db,"SELECT * FROM hodnoceni WHERE id_clanku='".$id_clanku."'");
while($values = mysqli_fetch_array($pocet)){
$pocet_data += 1;
}
echo" Počet hodnocení: $pocet_data";
?>
<form method="POST" action="">
<b>Ohodnoťtě</b>(5 - nejlepší):
<input type="hidden" name="id_clanku" value="<?php $content=$_GET['id']; echo($content); ?>" />
1 <input type="radio" name="hodnoceni" value="1">
2 <input type="radio" name="hodnoceni" value="2">
3 <input type="radio" name="hodnoceni" value="3">
4 <input type="radio" name="hodnoceni" value="4">
5 <input type="radio" name="hodnoceni" value="5">
<input type="submit" value="Poslat">
</form>
Díky pánové teď už to funguje.
Parse error: syntax error, unexpected T_DOUBLE_ARROW in....
Ahoj
$itemid = $_POST["item_id"];
$rating = intval($_POST["rating"]);
if(($rating < 1)||($rating>5)) {
mysqli_query($db,"INSERT INTO ratings(item_id,rating) VALUES ('$itemid',$rating)");
}
Takle vypadá kód pro zápis.. v čem je chyba? Když místo promněnných napíšu hodnoty, tak se to do DB zapíše ale takto to vloží jen prázdné řádky..
To od Marioffa funguje crAzYho ne
Pořád to píše tu samou chybu
Ahoj,
<?php
if (($_GET['hodnoceni']>=1)and($_GET['hodnoceni']<=5)and(isset($_GET['id']))) {
$id_clanku=intval($_GET['id']); // resp. lepsie zabezpecenie
mysqli_connect
('localhost', ' ', ' ', ' ', 3306);
$kontrola=mysql_query("SELECT * FROM hodnoceni_ip WHERE id_clanku='".$id_clanku."' AND ipecka='".$_SERVER['REMOTE_ADDR']."'");
if (mysql_num_rows($kontrola)==0) {
mysql_query("INSERT INTO hodnoceni_ip (ipecka) VALUES ('".$_SERVER['REMOTE_ADDR']."')");
mysql_query("UPDATE hodnoceni SET pocet_hodnoceni=pocet_hodnoceni+1, soucet_hodnoceni=soucet_hodnoceni + $_GET['hodnoceni'] WHERE id_clanku='".$id_clanku"'");
}
else {
echo "Už si hlasoval !";
}
}
$id_clanku=$_GET['id'];
$hodnotenie=mysql_query("SELECT * FROM hodnoceni WHERE id_clanku='".$id_clanku."'");
$hodnotenie_data=mysql_fetch_assoc($hodnotenie);
echo "Hodnotenie: ".rand($hodnotenie_data['soucet_hodnoceni'] / $hodnotenie_data['pocet_hhodnoceni'],0).", Hlasovalo: ".$hodnotenie_data['pocet_hodnoceni']."";
?>
<form action="" method="GET">
Ohodnotit (jako ve škole):
1 <input type="radio" name="hodnoceni" value="1">
2 <input type="radio" name="hodnoceni" value="2">
3 <input type="radio" name="hodnoceni" value="3">
4 <input type="radio" name="hodnoceni" value="4">
5 <input type="radio" name="hodnoceni" value="5">
<input type="hidden" name="id" value="<?php $content=$_GET['id']; echo($content); ?>" />
<button name="ohodnot" value="ohodnot" type="submit" Poslat>Poslat</button>
</form>
Chybka:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/free/tym.cz/y/yxc/root/www/stranka.inc on line 21
Prosím o radu
Moc díky chlape :smile1: všechna čest :o)
Přeju hodně uspěchů =)
A co když uživatel komentoval nějaký článek.. zapíše se jeho IP a pak nebude moct komentovat jiný článek?
To SuperAdmin : Oooo díky hledal jsem jen na českém internetu =) zkouknu to.
Dobře :o) , tak znova.
Na svém webu www.montyho.cz bych rád dal možnost ohodnotit články, chci použít MySQL databázi.
možnost a)
-každý článek by měl jeden svůj řádek v DB
-pokud by byl ohodnocen poprvé řádek by se vytvořil, jinak by se přepočítal již zapsaný
-sloupce DB: id_clanku, hodnoceni_pocet, hodnoceni_prumer
-do cookies by se zapsalo jestli uživatel již hodnotil (netuším jak napsat)
-zápis nového hodnocení:
Kontrola jestli už uživatel nehlasoval.
$hodnoceni = $get['hodnoceni_prumer']
$pocet = $get['hodnoceni_pocet']
$hodnoceni_prumer = ($hodnoceni * $pocet + $nove_hodnoceni) / ($pocet + 1)
Zapsat do DB výsledek.
Přičíst v DB k počtu hodnocení jedničku.
možnost b)
-každé hodnocení by mělo svůj řádek v DB
-na řádku by bylo zapsáno: id_clanku, ip_uzivatele, hodnoceni
-ve scriptu pro výpis by se vytáhla data s určenou ID s každým načteným řádkem by se do
$pocet_hodnoceni += 1
a do $hodnoceni += $get['hodnoceni']
nakonec by se $hodnoceni vydělilo $pocet_hodnoceni.
-při zápisu by se zkontrolovaly řádky s danou id_clanku a pokud by nebyl nalezen radek se stejnou IP jako má uživatel pokračovalo by se normálním vytvořením nového řádku DB
formulář:
<form action="" method="GET">
Ohodnotit (jako ve škole):
1 <input type="radio" name="hodnoceni" value="jedna">
2 <input type="radio" name="hodnoceni" value="dve">
3 <input type="radio" name="hodnoceni" value="tri">
4 <input type="radio" name="hodnoceni" value="ctyri">
5 <input type="radio" name="hodnoceni" value="pet">
<button name="ohodnot" value="ohodnot" type="submit" Poslat>Poslat</button>
</form>
Doufám že to bude stačit stačí slovo a doplním.. mockrát děkuji :smile1:
Vím jak by to mělo fungovat mám i část kódu, ale nevím jak třeba IF neexistuje řádek s tímto ID -> vytvoř nový..
Bohužel nemám tolik zkušeností...
Noo.. formulář s radio buttonkama 1-5 (jako ve škole).
Vypisovat by to mělo počet hodnocení a průměr..
Pěkný den,
prosím o pomoc, mohl by mi někdo (pomoct) napsat PHP script pro hodnocení článků?
Sám to napsat nedokážu a strýček Google mi taky nepomohl.
Předem díky, Petr