Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 193.84.204.–

peter
Návrhy na vylepšení › popisky pri vytvareni zpravy
22. 6. 2018   #221447

viz http://programujte.com/…dat-na-foru/#…
Bylo by mozne pridat poznamku, ze maji lidi vkladat kod pomoci tlacitka [<?] nebo vyuzit jmenovana uloziste?
' Pastebin, GitHub, Bitbucket a další úložiště'
Dalsi info asi u Kita, ja to moc nevyuzivam.
Vetsinou, bez kodu, ty dotazy obcas nedavaji smysl :)

Pridal bych to k textu: Pravidla pro psaní příspěvků, použív...
A ten presunul nad editor prispevku.

Mozna by se to dalo resit spesl tlacitkem [code ext], kde by to nabidlo linky na ty uloziste. A [<?] by se muselo prepsat na [code]. Uz ted to nedava smysl, treba u js a pod :)

No, a tudle, ve FF jsem narazil na bug. Oznacim text, kliknu na CODE a o on mi ten text nezkopiroval do code ramecku.
Navic, by chtelo mozna pridat po ukonceni editace nekde do rozku link/tlacitko pro edit. Kdyz tam neni ten editovaci ramecek, neda se delat copy-paste. A zas, kdyz tam ten ramecek je, tak neni videt zprava. Pokud bych z ni chtel zkopirovat do code-ramecku :) mozna by code-ramecek by misto prekryvani textu se mohl pridat nas editor obsahu.

peter
PHP › Ukládání dat na foru
22. 6. 2018   #221445

By ses taky nemusel dockat :) Proto jsem zkopiroval aspon neco. Jako, mohl pouzit neco jako jsfiddle.net nebo neco podobne pro php.

Kazdy ten soubor je necim zvlastni. Uz jen, kdyz mrknes na nazev a uvnitr najdes php kod. Vypada to na copy-paste z ruznych zdroju. Ti to klidne cele vykopiruji, ale prijde mi, ze by si to mel spravit sam. V 'code' je primo plain-text :)
admin.html Aplikace.docx connect.php index.html login.html logout.html registrace.html RSS.rss

Edit admin.php

<?php
session_start(); 
?>
<head>
</head>
<body>
<h2>Forum</h2> 
<?php
 if($_SESSION['login']!=""){
 echo'Vítej!!!<br> 
 <a href="/logout.php">Odhlásit se</a>'; 
 } else {
 echo'Tato stránka je pøístupná pouze pøihlášeným uživatelùm. Pokud nemáš úèet, <a href="/registrace.php">zaregistruj se</a>!<br> 
 <h2>Pøihlásit se:</h2>
 <form action="login.php" method="post"> 
 <table>
 <tr>
 <td>Pøezdívka: </td>
 <td><input type="text" name="nick" value="" size="17" tabindex="1" /></td>
 </tr>
 <tr>
 <td>Heslo: </td>
 <td><input type="password" name="heslo" value="" size="17" tabindex="2" /></td>
 </tr>
 <tr>
 <td colspan="2"><input type="submit" name="submit" value="Pøihlásit se" /></td>
 </tr>
 </table>
 </form>';
 }
?>
 
---

<?php
 $spojeni=mysql_connect('185.64.219.6','renegadeswzc8368', '*************' );
                Mysql_Select_DB("renegadeswzc8368");
                MySQL_Query ("SET Names 'utf-8'") ;
 
$spojeni = @MySQL_Connect($db_server ,$db_login, $db_password);
MySQL_Select_DB("renegadeswzc8368")or die('<p style="color: red">Nastala chyba v pripojeni k databazi');
mysql_query("set names utf8");
?>

---

<form action="login.php" method="post"> 
 <table>
 <tr>
 <td>Pøezdívka: </td>
 <td><input type="text" name="nick" value="" size="17" tabindex="1" /></td>
 </tr>
 <tr>
 <td>Heslo: </td>
 <td><input type="password" name="heslo" value="" size="17" tabindex="2" /></td>
 </tr>
 <tr>
 <td colspan="2"><input type="submit" name="submit" value="Pøihlásit se" /></td>
 </tr>
 <tr>
 <td colspan="2" align="right">Pokud nemáte úèet, <a href="/registrace.php">registrujte se</a></td>
 </tr>
 </table>
 </form>

---

<?php
include "./connect.php";
$login = mysql_real_escape_string($_POST["nick"]);
$heslo = mysql_real_escape_string($_POST["heslo"]);
$md5heslo = md5($heslo);

$dotaz = mysql_query("select * from uzivatele where login = '$login' and heslo = '$md5heslo'");
$overeni = mysql_num_rows($dotaz);
$row = mysql_fetch_array($dotaz);
if($overeni == 1) {
 session_start();
 $_SESSION['login'] = stripslashes($login); 

 $_SESSION['id'] = $row["id"];
 header("Location: admin.php"); 
 die();
} else {
 echo"Zadal jsi špatný login nebo heslo!";
}
?>

---

<?php
session_start();
session_destroy();
header("location: index.php"); 
?>

---

<?php
include "connect.php";
if(isset($_POST['submit'])) {
 $nick = mysql_real_escape_string($_POST['nick']);
 $heslo = mysql_real_escape_string($_POST['heslo']);
 $over_heslo = mysql_real_escape_string($_POST['over_heslo']);
 $md5_heslo = md5($heslo);
 $email = mysql_real_escape_string($_POST['email']);
 
 $user_check = mysql_query("SELECT login FROM uzivatele WHERE login='".$nick."'");
 if($nick==""){echo"Nebyl vyplnìn nick!";}
 else if(mysql_num_rows($user_check)){echo"Tento nick používá již jiný uživatel.";}
 else if($heslo==""){echo"Nebylo vyplnìno heslo";}
 else if($over_heslo==""){echo"Nebylo vyplnìno ovìøovací heslo";}
 else if($heslo!=$over_heslo){echo"Vyplnìná hesla se neshodují";}
 else if($email==""){echo"Nebyl vyplnìn email";}
 else{
 $sql= mysql_query("INSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')") or die(mysql_error());
 echo"Registrace byla úspìšnì dokonèena!";
 }
}
?>

<form action="#" method="post"> 
<table> 
<tr> <td>Pøezdívka: </td> <td><input type="text" name="nick" value="<?php if(isset($_POST["nick"])){echo $_POST["nick"];}?>" size="25" tabindex="1" /></td> </tr>
<tr> <td>Heslo: </td> <td><input type="password" name="heslo" value="" size="25" tabindex="2" /></td> </tr> 
<tr> <td>Ovìøení hesla: </td> <td><input type="password" name="over_heslo" value="" size="25" tabindex="3" /></td> </tr> 
<tr> <td>Email: </td> <td><input type="text" name="email" value="<?php if(isset($_POST["email"])){echo $_POST["email"];}?>" size="25" tabindex="4" /></td> </tr> 
<tr> <td colspan="2"><input type="submit" name="submit" value="Registrovat se" /></td> </tr> 
</table> 
</form>

---

<?php 
$db = new mysql ('185.64.219.6','renegadeswzc8368', 'Monty236') ;

$query = $db->query(  " SELECT  'articles' 'id'
                                'articles' 'title '
                                'articles' 'timeline'
                        FROM 'articles'
                        ORDER BY 'articles' 'timestamp'
                        DESC
                        limit 10
                        
    ");
    
    if ($db->effected_rows >= 1)
    
    
    {
    
      echo'<?xml version="1.0" encoding="UTF-8" ?> 


    
    
echo>
<?xml version="1.0"?>
		<rss version="2.0">
		   <channel>
			  <title>Airsoft</title>
			  <ttl>10</ttl>
			  <link>www.renegdes.wz.cz/</link>
			  <description>Web o airsoft týmu.</description>
			  <language>cs</language>
			  
			  
			  <generator>Webtea RSS Generator 1.0</generator>
			  
			  
              <?php
               while ($row = squery-> fetch_assoc ())
              ?>
              
              <item>
              
              <title> <?php echo $row{'Title'}?>
               <description>Web o airsoft týmu.</description>
                <link>www.renegdes.wz.cz/article/ <?php echo $row{'id
                 <pubDate><?php echo date ('r',$row{'timestamp'} )     ?>  </pubDate>
              </item>
					  
		   </channel>
		</rss>
peter
PHP › Ukládání dat na foru
22. 6. 2018   #221442

Samozrejme to kopiruji i s temi chybami, jako treba soubor, ktery se mel jmenovat neco.php ma pojmenovany jako neco.html :)

peter
PHP › Ukládání dat na foru
22. 6. 2018   #221441

#6 Kit
Stahni si ten rar balicek z ulozto. Kopiruji jeho kod.
Ano, dobre zminit, ze aktualne pouzivane php 7 pouziva pdo_funkce() ne mysql_funkce(). Ze, jako skolni priklad dobry, ale ten ucitel uci neco, co uz ani neexistuje. Neco, jako parni lokomotiva :)

peter
PHP › Ukládání dat na foru
22. 6. 2018   #221440

   

$dotaz   = mysql_query("select * from uzivatele where login = '$login' and heslo = '$md5heslo'");

// To oznaceni neni uplne presne. Ale je to jen detail. Na php.net najdes
// toto oznacovani:
$query  = "select * from uzivatele where login = '$login' and heslo = '$md5heslo'"
$result = mysql_query($query);

Dotaz je ten samotny string.
Funkce mysql_query = zpracovani dotazu.
$result = vysledek funkce
Ale, samozrejme, oznacuj si to, jak chces, kdyz se v tom budes orientovat, je to ok.

---

Nemas tam nikde error_reporting(E_ALL);
Neresis pro dotazy mysql error.

$result = mysql_query($query) or die( 'Error: ' . mysql_error() );
peter
PHP › Ukládání dat na foru
22. 6. 2018   #221438

Jsi odnekud kopiroval bez premysleni, ze? 

<?php
 $spojeni=mysql_connect('185.64.219.6','renegadeswzc8368', '*************' );
                Mysql_Select_DB("renegadeswzc8368");
                MySQL_Query ("SET Names 'utf-8'") ;
 
// Pokud te ta prvni cast pripoji k databazi, pak ta druha je nesmysl, ktery pripojeni zas zrusi.
//$spojeni = @MySQL_Connect($db_server ,$db_login, $db_password);
//MySQL_Select_DB("renegadeswzc8368")or die('<p style="color: red">Nastala chyba v pripojeni k databazi');
//mysql_query("set names utf8");
?>

login.html - html stranka se ihned posila uzivateli, neprochazi pres server-apache, takze php kod se nezpracuje 

<?php
include "./connect.php";
$login = mysql_real_escape_string($_POST["nick"]);
$heslo = mysql_real_escape_string($_POST["heslo"]);
$md5heslo = md5($heslo);

$dotaz = mysql_query("select * from uzivatele where login = '$login' and heslo = '$md5heslo'");
$overeni = mysql_num_rows($dotaz);
$row = mysql_fetch_array($dotaz);
echo '<pre>'; var_dump('$_POST', $_POST, '$row', $row, '$_SESSION', $_SESSION);// to bych tam pridal
if($overeni == 1) {
 session_start();
 $_SESSION['login'] = stripslashes($login); 

 $_SESSION['id'] = $row["id"];
echo '<pre>'; var_dump('$_POST', $_POST, '$row', $row, '$_SESSION', $_SESSION);// to bych tam pridal
// header("Location: admin.php");  to bych zatim vyradil
 die();
} else {
 echo"Zadal jsi špatný login nebo heslo!";
}
?>

admin.html - opet, nemelo by to byt php? Ostatne, v predchozim kodu mas preci header("Location: admin.php");, ne?
 

Podle toho kodu mi prijde, ze ti unika to zasadni :)
pc uzivatel - Www prohlizec umi pracovat se soubory typu html, css, js, image, file, ...
pc server - Program apache, umi pracovat se soubory *.php. Jakykoliv jiny soubor posila jako soubor.
Kdyz zpracovava php, generuje soubor. Defaultne jej posila jako text/html. Ale pomoci header() funkce je mozne to zmenit na file, text/css, text/javascript, image/jpeg a pod. Cili, pomoci php programu generujes html stranku, obvykle. (Nebo v pripade captcha je to obrazek, proste, co potrebujes).
Kdyz mu ale das priponu html, tak to ignoruje, posila uzivateli, jako by to byl soubor.txt.

Ostatne, na ulozto mas stahnout rar. Rar soubory umi precist jen winrar.exe. Pripadne jiny program, ktery ma k tomu plugin. Ale necekas, ze ti zobrazi obsah raru html prohlizec, ne?

peter
JavaScript, AJAX, jQuery › Při přidaní dalšího produktu…
20. 6. 2018   #221411

A dal je to taky celkem zajimave, jestli to tak muzu oznacovat :)

<button type="submit" onsubmit="return validateForm()"
- Button tag je autoaticky submitem. Type u nej neexistuje, aspon v html4 ne.
- Onsubmit udalost se zachytava na formulari <form onsubmit="...">, opet u buttonu neexistuje. Pokud to funguje, je to spis nahoda, bonus toho prohlizece.
 

Jako zdroj doporucuji prosmejdit jakpsatweb.cz
https://www.jakpsatweb.cz/…rmulare.html
https://www.jakpsatweb.cz/…dalosti.html
'Události formuláře a formulářových polí'
'onSubmit | těsně před odesláním formuláře, příklad | form' - lick na priklad...
https://www.jakpsatweb.cz/…zruseni.html

peter
JavaScript, AJAX, jQuery › Při přidaní dalšího produktu…
20. 6. 2018   #221410

To jako vazne? :)

Možnost přidat produkt: <input type="submit"
Divej...Vzdyt mu rikas, ze ma pouzit submit, ze ma slouzit k odeslani formulare, zkus pouzit  type=button.

peter
PHP › Ukládání dat na foru
19. 6. 2018   #221405

Nedava to prilis smysl.

Pro forum se obvykle stahne a nainstaluje cms pro forum. MiniBB, phpBB...
google = cms forum php

Mas neco vlastniho, co mas? Zkus predlozit nejaky kod.
Registrovat uzivatele primo pres phpadmina je takove divne, ale lze to tak delat. Nicmene, mel bys pro heslo pouzit hash a nedrzet hesla jako text v databazi.
Sql prikazy, ktere by se pouzil je: 

SELECT id, name FROM users where name = 'lojza' AND psw = 'heslo'

A potom tam musis mit samotny ten pseudo-program, ktery by mohl vypadat:

// vyresit post
user = isset($_POST['user']) ? $_POST['user'] : ''
psw  = isset($_POST['psw'])  ? $_POST['psw']  : ''
// vyresit session
if (user='' && psw='')
  {
user = isset($_SESSION['user']) ? $_SESSION['user'] : ''
psw  = isset($_SESSION['psw']) ? $_SESSION['psw'] : ''
  }
sql->connect('server', 'user', 'psw', 'db')
sql->query('SET NAMES UTF-8')
result = sql->query('SELECT user, psw...')
sql->disConnect()
// vytahnout data z db
user = sql->fetch(result,0,'user')
psw  = sql->fetch(result,0,'psw')
// vyresis session
$_SESSION['user'] = user
$_SESSION['psw'] = psw
if (user!='' && psw!='') { ...zbytek programu... }

To je samozrejme velice, velice spatne, vytahovat z db hesla uzivatelu. Ale principialne by to takhle mohlo fungovat

peter
Pascal › Hexadecimal
19. 6. 2018   #221396

cislo and 0x01 = xxxx xxxx and 0000 0001 = 0000 000x - bud je to 0 nebo ruzne od nuly
cislo and 0x02 = xxxx xxxx and 0000 0010 = 0000 00x0
cislo and 0x04 = xxxx xxxx and 0000 0100 = 0000 0x00

Cyklem se shiftovanim nebo x = 1; x =x * 2; to muzes rotovat.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý