Ahoj, nevím jestli se to tu už neřešilo, ale mám problém se zaškrtnutím radio buttonu viz http://jsfiddle.net/XnA9r/1/ když vyberu poprvé nahoře ano, tak se to dole změní jak má, ale když pak dám zase ne, případně překlikávám, tak to v dolních radio už nic nedělá, kde dělám chybu? Díky
Příspěvky odeslané z IP adresy 85.207.18.–
Dobrý den,
Mám problém s kompilací souborů v openGL, chtěl jsem se ho začít učit a tak jsem si zkopíroval zdrojový kód z rootu kde jsem s tím chtěl začít, když jsem ho chtěl zkompilovat vyhodilo mi to chybovou hlášku že knihovna GLUT neexistuje, tak jsem googlil a stáhnul jsem si tu knihovnu openGL, přesunul jsem do složky s kompilátorem ( používám dev-cpp) a zkusil jsem to znovu, pro změnu mi to vyhodilo error a hlášky undefinated reference to. Chtěl bych se zeptat kde je chyba, jestli je to v kompilátoru v knihovně nebo v kódu.
Děkuji
Dobrý den, jsem začátečník v c++, pár knih jsem už přelouskal, ale zatím si nejsem moc jistý. Rád bych začal tvořit nějaké zajímavější prográmky, a tak se chci zeptat, zda nevíte o nějaké dobré a srozumitelné knize. Rád bych zkusil přidat nějaké grafické prvky, ale zatím jsem nenašel knihu, kde by na to narazily.
Děkuji
Dobrý den,
chci se zeptat: potřebuji si generovat HTML kód přes PHP, místo abych to psal v PHP přímo. Myslím tím:
Příklad:
<?php
$html = new HTMLGenerator;
$html->create('img');
$html->attr('src','index.php');
?>
Potřeboval bych tedy tu třídu HTMLGenerator. Bohužel nevím jak na to.
A co takhle?
<?php
require "auth/connect.php";
$data=mysql_query("select * from overeni");
$zaznam=mysql_fetch_array($data);
if($zaznam["zobrazeni"] != "ano"){
echo 'Zde se nachází obsah poku je vse ok';
} else {
include "./servis.php";
}
?>
Já jen, že by jsi si ušetřil spoustu psaní, a je to i přehlednější (alespoň podle mě).
Session mě taky napadlo, ale nevím, jestli se dá ta proměnná ($_SESSION['neco']) přepsat...
No mám soubor variables.php, v němž definuji hlášky:
$info[1] = "Špatné jméno nebo heslo.";
$info[2] = "Byl(a) jsi přihlášen(a).";
Pak mám soubor "interface.php", kde přes require vyvolám "variables.php". Pak module.php, kde připojím soubor "interface.php", a nakonec se soubor "module.php" připojí k indexu (index.php).
- vars
-- variables.php
- interface
-- interface.php
- www
-- module.php
- index.php
Rozhodl jsem se vytvořit vlastní framework. Takto vypadá adresář:
-core
-- db
--- class.dbSession.php
-- game
--- class.charSettings.php
--- ...
--- // tady jich je spousta...
-- module
--- class.getPage.php
--- class.header.php
--- class.languages.php
--- class.leftMenu.php
--- class.rightMenu.php
--- class.topMenu.php
--- class.textFormat.php
-graphic
-images
-interface
-msgs
-vars
-www
-- pages
-- module.php
-index.php
K tomu Nette: byl to můj první nápad, quickstart jsem také našel, ale zkončil jsem u druhé kapitoly :D Například keywordy jako Namespace nebo Use jsem v životě neslyšel, ani jsem je nepoužil, tak ani nevím co znamenají. Na internetu jsem nenašel žádný přehledný článek (nebo seriál) o OOP, takže abstraktní třída je pro mne španělská vesnice, stejně jako modifikátor přístupu Protected.
Kdyby jsi byl tak hodný, a pomohl mi s nette, by bych moc rád.
Dobrý den,
chci se zeptat, jestli neexistuje nějaká kniha na vytvoření browser hry v PHP. Zkušennosti s programováním mám, jednu hru jsem i již vytvořil (http://jitai-flavus.mablog.eu/), chci jen prostě vědět víc... :D
Nápad na hru už mám, ale ještě bych potřeboval postup při jejím vývoji. Při stavění hlavní třídy a konstruktoru, který web vytvoří, chci si to napsat na kousky, postupně, co mám dělat. Ale jsem moc líný... :D Nemohl by mi někdo napsat, alespoň do fáze přihlašování. Tedy vývojový diagram...
Předem děkuji za odpovědi.
Konstruktor se provede při vytvoření instance. Tam je msg prázdná, takže se nic nevypíše. No a pak teprve tu msg nastavíš. Možná si ji chtěl v konstruktoru nastavovat a v té metodě vypisovat.
Dobrá, řekněme, že máte pravdu. Ale proč se potom hláška vypíše při přihlášení?
private function login() {
if(isset($_POST['username'])) {
if(isset($_POST['userpass']) && isset($_POST['username'])) {
$userpass = mysql_real_escape_string(htmlspecialchars($_POST['userpass']));
$username = mysql_real_escape_string(htmlspecialchars($_POST['username']));
$query001 = mysql_query('select * from users where userpass="'.hash('sha1',$userpass).'" and username="'.$username.'"');
$result001 = mysql_fetch_array($query001);
if(isset($result001['iduser'])) {
$this->msg = $this->info[2];
$_SESSION['iduser'] = $result001['iduser'];
} else {
$this->msg = $this->info[1];
}
} else {
echo "Musíš vyplnit všechny údaje.";
}
}
}
Dobrý den,
omlouvám se, že zase obtěžuji, ale vyskytl se další problém. Už to řeším asi dva dny a nic...
V souboru interface.php mám třídu Main, ve které jsou tyto datový členi:
private $host = "localhost";
private $user = "root";
private $password = "";
private $database = 'yohaku';
public $msg = "";
Potom tam jsou metody:
private $info = array(
'Server je nyní offline. Zřejmě probíhá údržba serveru.',
'Špatné jméno nebo heslo.',
'Byl(a) jsi přihlášen.',
'Byl(a) jsi odhlášen.'
);
private function dbConfig(){//obsah}
private function login(){//obsah}
private function logout(){
session_destroy();
$this->msg=$info[3];
echo "<meta http-equiv=\"refresh\" content=\"2; index.php\" />";
}
private function htmlLogin(){//obsah}
private function __construct(){
//obsah
echo $this->msg;
//obsah
}
V druhém souboru (logout.php), mám:
<?php
require 'interface.php';
$main=new Main;
$main->logout();
?>
Jak jste si určitě povšimli, ve veřejné metodě logout je řádek $this->msg=$info[3]; . A v konstruktoru mám echo $this->msg. Ale přesto hláška $info['3'] nevypisuje...
<h2>Online uživatelé</h2>
<?php
// dotaz byl výš, ale aby jste ho viděli, přesunu ho sem.
$query2=mysql_query('
SELECT *
FROM `users`
WHERE `lastaction` < NOW( ) -600
LIMIT 0 , 30
');
while($result2=mysql_fetch_array()) {
echo "<font color=\"".$result2['colorname']."\">".$result2['username']."</form><br />";
}
?>
Tak už jsem na to přišel. :
Místo $this->msg=$info[1]; má být $this->msg=$this->info[1]; a funkci variables(), jsem smazal, a nasadil místo ní private proměnnou.
Ještě jsem měl chybu u if(isset($query001['iduser'])) { , tady mělo být if(isset($result001['iduser'])) {
Děkuji! Ještě abych nemusel zakládat nové téma:
Když chci vypsat chybovou hlášku "Špatné jméno nebo heslo", píše to:
Notice: Undefined variable: info in C:\xampp\htdocs\php2\interface.php on line 32
<?
session_start();
class Main {
private $host='localhost';
private $user='root';
private $password='';
private $database='yohaku';
private function variables() {
$info=array(
'Server je nyní offline. Zřejmě probíhá údržba serveru.',
'Špatné jméno nebo heslo.',
'Byl(a) jsi přihlášen.'
);
}
private function dbConfig(){
$db=mysql_connect($this->host,$this->user,$this->password) or die ($info[0]);
mysql_select_db($this->database, $db) or die (mysql_error($db));
mysql_query('SET NAMES UTF8');
mysql_query('SET COLLATION_CONNECTION=utf8_czech_ci');
}
private function login() {
if(isset($_POST['username'])) {
if(isset($_POST['userpass']) && isset($_POST['username'])) {
$userpass=mysql_real_escape_string(htmlspecialchars($_POST['userpass']));
$username=mysql_real_escape_string(htmlspecialchars(strip_tags($_POST['username'])));
$query001=mysql_query('select * from users where userpass="'.hash('sha1',$userpass).'" and username="'.$username.'"');
$result001=mysql_fetch_array($query001);
if(isset($query001['iduser'])) {
$_SESSION['iduser']=$query001['iduser'];
$this->msg=$info[2];
} else {
$this->msg=$info[1];
}
} else {
print "Musíš vyplnit všechny údaje.";
}
}
}
public function __construct() {
$this->variables();
$this->dbconfig();
$this->login();
...
?>
Cron k dispozici nemám, tak jsem to vyřešil takto:
Do tabulky do sloupce "lastaction" se vloží time() a v php:
<?php
$query=mysql_query(//dotaz do databáze);
$result=mysql_fetch_array($query);
$lastaction=$result['lastaction'];
if($lastaction //podmínka?? ){
session_destroy();
}
?>
Nevím, jak udělat tu podmínku...
Dobrý den,
mám takový problém. Na stránce vypisuji online uživatele tím způsobem, že při přihlášení se v databázi sloupec "prihlasen" v příslušné řádce změní na "1". A při odhlášení na "0". Jenže když uživatel neklikne na tlačítko "Odhlásit" (například prostě jen zavře prohlížeč), hodnota v databázi zůstane "1", a tím ho pořád ukazuje jako "online".
Neměl by někdo řešení? Myslel jsem na akci pro vypršení platnosti session, ale nevím jak to udělat...
Na tento obor také nemám dost času ani finance.
Článek z Rootu je 11 let starý, proto vyzkouším tento: "http://programujte.com/clanek/2009113001-oop-v-php/". Angličtina mi nevadí, určitě tomu někdy hodinku na googlu věnuji.
Jak jsem již psal, na literaturu v tuto chvíli nemám finance.
Ano, děkuji za ty modifikátory. Na Googlu jsou sice stránky, kde vysvětlují OOP, ale pouze na příkladech z C, nebo C++. Když najdu některý, který se věnuje PHP OOP, píší jej zkušenní programátoři, kteří neberou ohledy na začínající.
Chci se zeptat, jestli by tu byl někdo ochotný posílat mi třeba každý víkend email s lekcí OOP PHP. Pro mne by to bylo lepší.
Děkuji.
Dobrý den,
jsem tu proto, abych si něco ujasnil:
Třída je kostra objektu. Třída obsahuje proměnné a metody. Může obsahovat i takzvaný "konstruktor", který se spustí vždy při vytvoření objektu s danou třídou. Modifikátory přístupu existují "public" a "private" (víc jich myslím není, když tak mě opravte). Public zajišťuje pro metodu nebo proměnnou plný přístup, neboli "veřejný" přístup. Private omezuje metodu nebo proměnnou v tom, že se dají použít pouze v dané třídě. Speciální proměnná $this, zastupuje všechny objekty, s danou třídou.
To je celé OOP? A jestli ano, proč se používá? Není to zbytečné? Snad jen ty modifikátory přístupu... Ale jinak...
Já to vždycky řeším takto:
if($_POST['submit']:
if($_POST['username'] && $_POST['password']:
$query=mysql_query('SELECT * FROM users WHERE username="'.$_POST['username'].'" AND password="'.$_POST['password'].'"');
$result=mysql_fetch_array($query);
if(empty($result['iduser'])):
//Špatné jméno nebo heslo
else:
// Byl(a) jsi přihlášen.
$_SESSION['logged']=$result['iduser'];
print '<meta http-equiv="result" content="1; index.php">';
else:
// Musíte vyplnit všechny údaje
endif;
endif;
#3 Atheo
Neříkám, že se chci učit na hrách. Samozřejmě se chci naučit programovat v C nebo C++, a mou motivací je vytvoření hry. Jen potřebuju poradit jak začít. Například v PHP jsou základy proměnné, cykly, funkce, a ještě třeba ECHO. A nějak tak bych to potřeboval.
Dobrý den,
mým cílem je vytvořit 3D hru v C++ nebo C. Neříkám, že to chci během dvou dnů, počítám s tím, že to potrvá minimálně deset let.
Každopádně nevím jak v C++ začít. Nemám k dispozici žádnou literaturu, jen seriály na internetu. Poradíte mi nějaké? Zatím jsem programoval v PHP. Je C++ podobný jazyk?
Děkuji,
Yokahu Shigei.
Takže do index.php mám přidat:
<meta http-equiv="Content-Type" content="text/html; charset=utf8-czech-ci">
a do config.php:
<?php
mysql_query('SET NAMES UTF8');
mysql_query('SET CHARACTER SET utf8-czech-ci');
?>
?
A ještě byh se chtěl zeptat: Jak udělat aby PHP ukládalo data s diakritikou? (háčky, čárky)
Jo díky! Už to funguje :D
Píše to:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-jmeno, prijmeni, email, heslo, pohlavi,) VALUES ("1.údaj","2.údaj","email@email' at line 1.
A tu bezpečnost dořeším, až budu mít hotovou registraci. Nechci se teď zatěžovat dalšími chybami.
A jinak tu je struktura tabulky:
A s tou bezpečností: ta tam není potřeba. Dělám to pro lidi, kteří sotva dokáží zapnout počítač.
Jak říkám. V tomhle jsem začátečník. Jak mám tu chybu vypsat? Moc se omlouvám, ale tomuhle opravdu moc nerozumím.
Pořád to nefunguje. Píše to stejnou hlášku: "Registrace nebyla provedena."
Mohl bys mi ten kód upravit a napsat, jak má být? Za to ti bych byl vděčný. V tomhle se moc nevyznám.
<?php
$host='nejake-udaje';
$uzivatel='nejake udaje';
$heslo='nejake heslo';
$databaze='ta databaze';
$db = mysql_connect($host, $uzivatel, $heslo) or die('Neda se pripojit k serveru.');
mysql_select_db($databaze ,$db) or die(mysql_error($db));
mysql_query('SET NAMES UTF8');
mysql_query('SET COLLATION_CONNECTION=utf8_czech_ci');
$vysledek=mysql_query($dotaz);
$zaznam=mysql_fetch_array($vysledek);
$dotaz='SELECT * FROM ebks, knihy';
echo $zaznam['sloupec'];
?>
zkus tohle - ale nevím jestli to nemám špatně - v tomhle jsem začátečník
Dobrý den,
zde mám formulář:
<h2>Registrace</h2>
<form action="?page=reg" method="post">
<label>Křestní jméno:</label><br>
<input type="text" name="jmeno"><br>
<label>Přijmení:</label><br>
<input type="text" name="prijmeni"><br>
<label>Váš E-mail:</label><br>
<input type="text" name="email"><br>
<label>Heslo:</label><br>
<input type="password" name="heslo"><br>
<label>Jsem:</label><br>
<select name="pohlavi">
<option>Muž</option>
<option>Žena</option>
</select><br>
<input type="submit" value="Přihlásit" class="button">
</form>
zde PHP kód:
<?php
require "config.php";
$jmeno = $_POST['jmeno'];
$prijmeni = $_POST['prijmeni'];
$email = $_POST['email'];
$heslo = $_POST['heslo'];
$pohlavi = $_POST['pohlavi'];
$vysledky=mysql_query($dotaz,$db);
if($vysledky) {
$dotaz = 'INSERT INTO uziv (jmeno, prijmeni, email, heslo, pohlavi) VALUES ("'. $jmeno. '","'. $prijmeni. '","'. $email. '","'. $heslo. '","'. $pohlavi.'")';
echo "Registrace úspěšná!";
} else {
echo "Registrace nebyla provedena.";
}
?>
a zde vyvolávaný "config.php":
<?php
$host='spravne-udaje';
$uzivatel='spravne-udaje';
$heslo='spravne-udaje';
$databaze='spravne-udaje';
$db = mysql_connect($host, $uzivatel, $heslo) or die('Neda se pripojit k serveru.');
mysql_select_db($databaze ,$db) or die(mysql_error($db));
mysql_query('SET NAMES UTF8');
mysql_query('SET COLLATION_CONNECTION=utf8_czech_ci');
$vysledek=mysql_query($dotaz);
$zaznam=mysql_fetch_array($vysledek);
?>
Nevíte, proč mi to pořád vypisuje : "Registrace nebyla provedena."? Už jsem zkoušel vše tak se obracím na vás.
ytvořil jsem skupinu lidí (Awer-Graphic) a spolu tvoříme webové stránky. Máme zájem vytvořit hlavní stránku hry. Samozdřejmě s možností Registrace, Přihlašování a odkaz na Fórum. To še uděláme zdarma, rádi bychom získali zkušenosti.
Kontakt:
Facebook: http://www.facebook.com/…773990712981
E-mail: awer-graphic@atlas.cz
Děkuji,
s přáním pevného zdravý,
Šimon Rácz.
Vedoucí skupiny Awer-Graphic
jak jsi to přesně vyřešil s nastavením systémového času?