[ Príspevkov: 21 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.12.09
Prihlásený: 24.06.13
Príspevky: 58
Témy: 13 | 13
NapísalOffline : 08.01.2010 22:36 | V tabulke sa neobjavia nove zaznamy

Chcel by som vás poprosiť že či by mi niekdo neopravil ten skript, nezapisuje mi do databázy , tu je ten skript:
Kód:
<?php
$con = mysql_connect("mysql","1976-wsbcms","nepovem");
if (!$con)
  {
  die('MySql chyba: ' . mysql_error());
  }

mysql_select_db("1976-wsbcms", $con);

mysql_query("INSERT INTO `clanky` (`nazovclanku`, `nazovclankuvmenu`, `obsahclanku`, `adminfunkcie`) VALUES ($nazovsuboru, '$nazovsuboruvmenu', $obsahsuboru, '<a href=\"zobraz.php?clanok=$filename\">$nazovsuboruvmenu</a><br>')");

mysql_close($con);
?>

Ďakujem

| Nazov temy je nepresny, nabuduce skus vymysliet lepsi. Ďuri


Offline

Skúsený užívateľ
Skúsený užívateľ
V tabulke sa neobjavia nove zaznamy

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 08.01.2010 22:55 | V tabulke sa neobjavia nove zaznamy

Ťažko. Nezapisuje znamená, že sa nezapíše riadok, alebo sa zapíše prázdny riadok? Vypíše nejakú chybu? (ak nie, nemáš vypnuté zobrazovanie chýb, nemáš ich niekde v logu?)


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 28.11.17
Príspevky: 1178
Témy: 188 | 188
NapísalOffline : 08.01.2010 23:05 | V tabulke sa neobjavia nove zaznamy

Kód:
<?php
$con = mysql_connect("mysql","1976-wsbcms","nepovem") or die ( "Nepodarilo sa spojit so serverom. Chyba: ". mysql_error() );

mysql_select_db("1976-wsbcms", $con) or die ( mysql_error() );

$admin_funkcie = "<a href=\"zobraz.php?clanok=" . $filename . "\">" . $nazovsuboruvmenu . "</a><br>";

$poziadavka = "INSERT INTO clanky (nazovclanku, nazovclankuvmenu, obsahclanku, adminfunkcie) VALUES ('$nazovsuboru', '$nazovsuboruvmenu', '$obsahsuboru', '$admin_funkcie')";

mysql_query( $poziadavka ) or die ( "Nepodarilo sa odoslat poziadavku 1. Chyba:". mysql_error() );

mysql_close($con);
?>


A takto ??? :-) ... podla mna som to opravil dobre :rolleyes:
//1x editovane


Offline

Čestný člen
Čestný člen
V tabulke sa neobjavia nove zaznamy

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 09.01.2010 10:55 | V tabulke sa neobjavia nove zaznamy

WebScript
Tie premenne $nazovsuboru a ostatne vznikaju ako? Zazrakom? Pouzi ten daemonov skript s vypisom MySQL chyb plus opravou apostrofov plus na zaciatok si daj este
Kód:
error_reporting(E_ALL);
Potom mozes riesit problemy.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.12.09
Prihlásený: 24.06.13
Príspevky: 58
Témy: 13 | 13
Napísal autor témyOffline : 09.01.2010 15:59 | V tabulke sa neobjavia nove zaznamy

Teraz mi píše Nepodarilo sa odoslat poziadavku 1. Chyba:Unknown column 'adminfunkcie' in 'field list'
Mohli by ste mi napísať, že ako to mám byť, aby mi to fungovalo?
Ďakujem


Offline

Čestný člen
Čestný člen
V tabulke sa neobjavia nove zaznamy

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 09.01.2010 16:00 | V tabulke sa neobjavia nove zaznamy

A vies ty citat? "Neznamy stlpec adminfunkcie"...hm, co to moze znamenat?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.12.09
Prihlásený: 24.06.13
Príspevky: 58
Témy: 13 | 13
Napísal autor témyOffline : 09.01.2010 16:28 | V tabulke sa neobjavia nove zaznamy

Dik, už mi to ide, ale zapisuje mi to v db iba nazovsuboruvmenu a ostatné nezapisuje ani adminfunkcie, a mám všetky tie tabulky, neviem prečo.
Tu je ten html formulár:
Kód:
<?php
session_start();
if ($_SESSION['authuser'] != 1) {
   echo "<p>Nemáte oprávnenie pre vstup do AdminPanelu</p>\n";
   exit();
   }
?>
<? include "system/adminheader.php"; ?>
<div id="wrapper">
  <div id="header"> <a href="/"><img src="/logo.gif" alt="" width="203" height="102" class="logo" /></a> </div>
  <ul id="nav">
    <? include "system/adminnav.php"; ?>
  </ul>
  <div id="content" class="clearfix">
    <div id="col_1">
      <h2>Menu</h2>
      <ul id="subnav">
        <? include "system/adminmenu.php"; ?>
      </ul>
    </div>
    <div id="col_2">
    <script type="text/javascript" src="editor/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>

<script type="text/javascript">
tinyMCE.init({
   theme : "advanced",
   mode : "textareas",
   plugins : "fullpage,emoticons",
   theme_advanced_buttons3_add : "fullpage,emoticons"
});
</script>
</head>
<body>
<form action="add_clanok.php" method="POST">
<div id="controls"><center>Názov súboru v menu: <input type="text" value="" name="nazovsuboruvmenu" /> - s diakritikou</center></div>
<div id="controls"><center>Názov súboru: <input type="text" value="" name="nazovsuboru" /> - bez diakritiky</center></div>
<div id="controls"><center>Obsah súboru: <textarea name="obsahsuboru" id="window" onkeyup="javascript:document.getElementById('submit').disabled='';document.getElementById('submit').value=' uložiť ';"></textarea></center></div>
<div id="controls"><center><input id="submit" type="submit" value="Uloz" /></center></div></form>
</div>
<br />
    </div>
  </div>
  <div id="footer"><small>Táto stránka beží na systéme <a href="http://webscript.biz/wsb" target="_blank">WSB CMS</a>.<br />
    Design stránky <a href="http://cssweblayouts.com/" target="_blank">CSS Web Layouts</a></a></small></div>
</div>
</body>
</html>

Ak by mi to niekdo vyriešil bol by som mu velmy vďačný.
Ďakujem


Offline

Čestný člen
Čestný člen
V tabulke sa neobjavia nove zaznamy

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 09.01.2010 16:31 | V tabulke sa neobjavia nove zaznamy

Tie premenne, ktore chces ukladat, neexistuju. Nespoliehaj sa na register_globals a pouzivaj klasicke $_POST['name-inputu'].


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.12.09
Prihlásený: 24.06.13
Príspevky: 58
Témy: 13 | 13
Napísal autor témyOffline : 09.01.2010 16:49 | V tabulke sa neobjavia nove zaznamy

teraz to mám takto:
Kód:
<?php
session_start();
if ($_SESSION['authuser'] != 1) {
   echo "<p>Nemáte oprávnenie pre vstup do AdminPanelu</p>\n";
   exit();
   }
?>
<? include "system/adminheader.php"; ?>
<div id="wrapper">
  <div id="header"> <a href="/index.php"><img src="/logo.gif" alt="" width="203" height="102" class="logo" /></a> </div>
  <ul id="nav">
    <? include "system/adminnav.php"; ?>
  </ul>
  <div id="content" class="clearfix">
    <div id="col_1">
      <h2>Menu</h2>
      <ul id="subnav">
        <? include "system/adminmenu.php"; ?>
      </ul>
    </div>
    <div id="col_2">
<?php
$con = mysql_connect("mysql","1976-wsbcms","2009ftp") or die ( "Nepodarilo sa spojit so serverom. Chyba: ". mysql_error() );

mysql_select_db("1976-wsbcms", $con) or die ( mysql_error() );

$admin_funkcie = "<a href=\"zobraz.php?clanok=" . $filename . "\">" . $nazovsuboruvmenu . "</a><br>";

$poziadavka = "INSERT INTO clanky (nazovclanku, nazovclankuvmenu, obsahclanku, adminfunkcie) VALUES ('$_POST['nazovsuboru'];', '$_POST['nazovsuboruvmenu'];', '$_POST['obsahsuboru'];', '$admin_funkcie')";

mysql_query( $poziadavka ) or die ( "Nepodarilo sa odoslat poziadavku 1. Chyba:". mysql_error() );

mysql_close($con);
?>
    </div>
  </div>
  <div id="footer"><small>Táto stránka beží na systéme <a href="http://webscript.biz/wsb" target="_blank">WSB CMS</a>.<br />
    Design stránky <a href="http://cssweblayouts.com/" target="_blank">CSS Web Layouts</a></a></small></div>
</div>
</body>
</html>

a píše mi to Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/www/webscript.biz/wsbcms/add_clanok.php on line 29
Nemohol by si mi to upraviť ty aby to fungovalo(alebo aj niekdo iný)
Ďakujem


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.09
Prihlásený: 11.02.10
Príspevky: 726
Témy: 81 | 81

$_POST['nazovsuboru'];'
co tam roby bodkociarka?

a nedavaj $_POST ale to preved najprv do $nazovsuboru

| Nepis viac prispevkov za sebou, pouzivaj tlacitko Uprav. Ďuri
pardon lama
Nic sa nestalo :-> Ďuri


Offline

Čestný člen
Čestný člen
V tabulke sa neobjavia nove zaznamy

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 09.01.2010 17:05 | V tabulke sa neobjavia nove zaznamy

Tu nejde o to, aby si to previedol do inej podoby, ale aby si to zabezpecil voci SQL injection a inym utokom.


Offline

Skúsený užívateľ
Skúsený užívateľ
V tabulke sa neobjavia nove zaznamy

Registrovaný: 07.03.06
Prihlásený: 23.01.11
Príspevky: 408
Témy: 2 | 2
Bydlisko: Prešov / Pr...
NapísalOffline : 09.01.2010 17:08 | V tabulke sa neobjavia nove zaznamy

pilná lama glama: geniálne, Ďuri mu správne poradil, aby sa nespoliehal na zapnuté register_globals a nato ty napíšeš somarinu, aby si to previedol na $nazovsubor, čo je úplne zbytočné. Načo by to robil? Aby si zbytočne zväčšil kód?.

WebScript: bodkočiarky v strede query nemajú čo robiť.
Pokiaľ vkladáš záznamy, pozor na úvodzovky. Môžeš to napísať 3 spôsobmi:
Kód:
...VALUES ('" . $_POST['nazovsuboru'] . "',...
...VALUES ('$_POST[nazovsuboru]',...
...VALUES ('{$_POST["nazovsuboru"]}',...

Keďže by si mal dáta ošetriť, použiješ zápis VALUES ('" . mysql_real_escape_string($_POST['nazovsuboru']) . "', ...
Nespoliehaj sa na short tags a začiatok php skriptov zapisuj <?php (samotné <? nestačí, nemusí fungovať všade).
+ nezabudni dáta ošetrovať napr pomocou mysql_real_escape_string.
Viď http://php.vrana.cz/obrana-proti-sql-injection.php


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.09
Prihlásený: 11.02.10
Príspevky: 726
Témy: 81 | 81

mylan
len som sa zle vyjadril a kym som zeditoval prispevok uz Duri vysvetlil o co ide.
Ja si vzdy osetrim funkciou vstupy podla obsahu a preto nedavam nikdy get ci post priamo do sql


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.12.09
Prihlásený: 24.06.13
Príspevky: 58
Témy: 13 | 13
Napísal autor témyOffline : 09.01.2010 17:43 | V tabulke sa neobjavia nove zaznamy

Ja používam toto všade:
Kód:
<?php
session_start();
if ($_SESSION['authuser'] != 1) {
   echo "<p>Nemáte oprávnenie pre vstup do AdminPanelu</p>\n";
   exit();
   }
?>

Je to len pre adminov, tak si nemyslim že by si sami hackli svoj web, takto je zabezpečeny aj ten subor co uklada ten prispevok do db.
Ako by sa dal ubranit voci sql injection?
Chel by som vás poprosiť, ja som to všetko spravil čo ste mi napísali, ale zapíše mi to iba do nazovclankuvmenu
Nemohli by ste mi to niekdo napísať tak aby to fungovalo?
Ďakujem


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.09
Prihlásený: 11.02.10
Príspevky: 726
Témy: 81 | 81

1-Je to len pre adminov, tak si nemyslim že by si sami hackli svoj web, to nie ale niekto by mohol skopyrovat ich cookie(sniff) a web by ho bral ako admina v danom momente
2-daj si echo toho sql dotazu a uvidis ake su tam hodnoty, podla toho lokalizuj chybu


Offline

Skúsený užívateľ
Skúsený užívateľ
V tabulke sa neobjavia nove zaznamy

Registrovaný: 07.03.06
Prihlásený: 23.01.11
Príspevky: 408
Témy: 2 | 2
Bydlisko: Prešov / Pr...
NapísalOffline : 09.01.2010 18:04 | V tabulke sa neobjavia nove zaznamy

Pravda, veď načo ošetrovať čokoľvek, keď sa do administrácie dostane každý... http://img96.imageshack.us/img96/8448/wsbcms.jpg (screen z wsbcms.webscript.biz)

Naštuduj si hlavne ošetrovanie vstupov, lebo to nerobíš absolútne vôbec. Čo sa stane ak budeš chcieť do administrácie pridať len redaktora a ten si vytiahne celú DB?

Ukáž ako si ten kód nakoniec upravil...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.12.09
Prihlásený: 24.06.13
Príspevky: 58
Témy: 13 | 13
Napísal autor témyOffline : 09.01.2010 20:49 | V tabulke sa neobjavia nove zaznamy

Ja tam nikde nevidím chybu, vypisuje mi to presne to čo zadám do formulára:
Kód:
INSERT INTO clanky (nazovclanku, nazovclankuvmenu, obsahclanku, adminfunkcie) VALUES ('asdfghjkl', 'ľščťžýáíé', '

asdfghjklasdfghjklasdfghjklasdfghjkasdfghjklasdfghjkl
', 'ľščťžýáíé
')

A aj tak mi to nezapisuje do db nazovclanku , obsahclanku , adminfunkcie
Nevedeli by ste mi niekdo opraviť alebo napísat nový skript?
Ďakujem

//Ako si sa tam dostal? Ja som niekde čítal o sesion že to je celkom bezpečné. Ale mne to neva, to je systém ktorý iba testujem, hotový ale nepoužíva db mám v pc, naschvál som dal inú adresu, keď ho budem skúšať, prerábať, dávať preč ochranu, aby som vyskúšal že či mi to pôjde všetko dostať do db, aj potom odtial dávať preč, aj heslo do administrácie.


Offline

Skúsený užívateľ
Skúsený užívateľ
V tabulke sa neobjavia nove zaznamy

Registrovaný: 07.03.06
Prihlásený: 23.01.11
Príspevky: 408
Témy: 2 | 2
Bydlisko: Prešov / Pr...
NapísalOffline : 09.01.2010 21:02 | V tabulke sa neobjavia nove zaznamy

http://wsbcms.webscript.biz/clanky.php tu máš formulár na pridávanie článkov, ktorý vyzerá takto:
Kód:
<form action="add_clanok.php" method="POST">
<div id="controls"><center>Názov súboru v menu: <input type="text" value="" name="nazovsuboruvmenu" /> - s diakritikou</center></div>
<div id="controls"><center>Názov súboru: <input type="text" value="" name="nazovsuboru" /> - bez diakritiky</center></div>
<div id="controls"><center>Obsah súboru: <textarea name="obsahsuboru" id="window" onkeyup="javascript:document.getElementById('submit').disabled='';document.getElementById('submit').value=' uloži ';"></textarea></center></div>
<div id="controls"><center><input id="submit" type="submit" value="Uloz" /></center></div></form>


Inputy sa tam volajú nazovsuboruvmenu, nazovsuboru, obsahsuboru. Avšak chceš spracovávaš hodnoty s inými názvami: nazovclanku, nazovclankuvmenu, obsahclanku.
Zjednoť si to a premenuj premenné name v inputoch.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.12.09
Prihlásený: 24.06.13
Príspevky: 58
Témy: 13 | 13
Napísal autor témyOffline : 09.01.2010 21:42 | V tabulke sa neobjavia nove zaznamy

Teraz to mám takto:
Kód:
<?php
$con = mysql_connect("mysql","1976-wsbcms","aaa") or die ( "Nepodarilo sa spojit so serverom. Chyba: ". mysql_error() );

mysql_select_db("1976-wsbcms", $con) or die ( mysql_error() );

$admin_funkcie = "<a href=\"zobraz.php?clanok=" . $filename . "\">" . $nazovsuboruvmenu . "</a><br>";

$poziadavka = "INSERT INTO clanky (nazovclanku, nazovclankuvmenu, obsahclanku, adminfunkcie) VALUES ('$nazovsuboru', '$nazovsuboruvmenu', '$obsahsuboru', '$admin_funkcie')";

mysql_query( $poziadavka ) or die ( "Nepodarilo sa odoslat poziadavku 1. Chyba:". mysql_error() );

mysql_close($con);
?>

A vloží mi to zase do db iba nazovsuboruvmenu
Nemohli by ste mi to niekdo spraviť?
Ďakujem


Offline

Skúsený užívateľ
Skúsený užívateľ
V tabulke sa neobjavia nove zaznamy

Registrovaný: 07.03.06
Prihlásený: 23.01.11
Príspevky: 408
Témy: 2 | 2
Bydlisko: Prešov / Pr...
NapísalOffline : 09.01.2010 21:57 | V tabulke sa neobjavia nove zaznamy

Ach jaj, to je ako hrach na stenu hádzať. Ani sa už neobťažujem to nejako ošetriť, bolo by to zbytočné...
Kód:
$admin_funkcie = "<a href=\"zobraz.php?clanok=" . $filename . "\">" . $_POST["nazovsuboruvmenu"] . "</a><br>";

$poziadavka = "INSERT INTO clanky (nazovclanku, nazovclankuvmenu, obsahclanku, adminfunkcie) VALUES ('" . $_POST["nazovsuboru"] . "', '" . $_POST["nazovsuboruvmenu"] . "', '" . $_POST["obsahsuboru"] . "', '$admin_funkcie')";


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.12.09
Prihlásený: 24.06.13
Príspevky: 58
Témy: 13 | 13
Napísal autor témyOffline : 10.01.2010 18:40 | V tabulke sa neobjavia nove zaznamy

Ako si sa tam dostal?
A ako viac sa to dá zabezpečiť keď na začiatok všetkých admin súborov som dal:
Kód:
<?php
session_start();
if ($_SESSION['authuser'] != 1) {
   echo "<p>Nemáte oprávnenie pre vstup do AdminPanelu</p>\n";
   exit();
   }
?>

Chcel by som to vedieť aby som už nespravil tú istú chybu zase.
Ďakujem


 [ Príspevkov: 21 ] 


V tabulke sa neobjavia nove zaznamy



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Duplicitne zaznamy

v Databázy

15

440

01.07.2012 18:24

newboy1

V tomto fóre nie sú ďalšie neprečítané témy.

Border v tabulke

v HTML, XHTML, XML, CSS

11

278

11.09.2008 21:05

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Text v tabulke

v HTML, XHTML, XML, CSS

2

257

28.01.2010 19:30

DARSON

V tomto fóre nie sú ďalšie neprečítané témy.

poradie v tabulke

v Assembler, C, C++, Pascal, Java

11

278

07.07.2010 21:55

hudi1

V tomto fóre nie sú ďalšie neprečítané témy.

Otvaranie v tabulke

v HTML, XHTML, XML, CSS

3

358

05.12.2009 22:13

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

chyba v tabulke

v Databázy

13

559

01.09.2009 20:10

dessert

V tomto fóre nie sú ďalšie neprečítané témy.

Zoradenie cisel v tabulke

v PHP, ASP

4

412

05.08.2009 17:38

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

ako pridať tabuľke collation

v Databázy

2

477

22.11.2010 17:43

camo

V tomto fóre nie sú ďalšie neprečítané témy.

Background image na tabulke

v HTML, XHTML, XML, CSS

4

158

01.09.2013 22:13

89Aquarius

V tomto fóre nie sú ďalšie neprečítané témy.

Po tabulke permanentne okno

v PHP, ASP

2

232

02.08.2011 11:51

Miko

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] UPDATE v tabulke

v PHP, ASP

3

254

02.03.2009 12:58

jtomcik

V tomto fóre nie sú ďalšie neprečítané témy.

vymenit riadky v tabulke

v JavaScript, VBScript, Ajax

4

269

27.12.2010 11:15

DeeJay3

V tomto fóre nie sú ďalšie neprečítané témy.

Zoradenie dat v tabulke

v Databázy

3

471

26.05.2009 6:46

arno

V tomto fóre nie sú ďalšie neprečítané témy.

overenie hodnoty v tabulke

v PHP, ASP

1

425

25.02.2007 16:25

m@-nX

V tomto fóre nie sú ďalšie neprečítané témy.

Zmena poradia v tabulke

v Databázy

6

570

01.10.2009 9:38

jtomcik

V tomto fóre nie sú ďalšie neprečítané témy.

Overenie hodnoty v tabulke

v PHP, ASP

1

220

17.06.2009 22:26

mienkofax



© 2005 - 2017 PCforum, edited by JanoF