[ Príspevkov: 7 ] 
AutorSpráva
Offline

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

Registrovaný: 25.10.08
Prihlásený: 24.12.10
Príspevky: 12
Témy: 4 | 4

Zdravim. mam nasledovny problem. chcem data s formularu na stranke zapisat do databazy. vyplnim formular, stlacim odoslat, vypise mi ze sa vsetko podarilo ale jedine co sa doplni je id (auto_increment). Ostatne hodnoty su prazdne.

insert-story.php (súbor s formulárom)
Kód:
<form action="uloz.php" method="post">

<fieldset><legend>Pridať pokračovanie príbehu</legend>

text:<br />
<textarea name="text" rows="20" cols="105"></textarea> <br />

heslo:<br />
<input name="pass" type="text" /><br />

<input type="submit" value="Vložiť pokračovanie" /><br />

</fieldset></form>


uloz.php (subor do ktoreho sa postnu data s formularu)
Kód:
<?php
require_once("mysql.php");

$_POST['text'] = $text;

$_POST['pass'] = $pass;



$sql = mysql_query("INSERT INTO story(text,pass) VALUES('$text','$pass')");



if($sql){

echo "Záznam bol úspešne vložený do databázy!";

} else {

echo "Záznam sa nepodarilo vložiť do databázy! Becaose of pink elephant!";

}

mysql_close();

?>


mysql.php (subor s loginom do db)
Kód:
<?php

  define("SERVER","localhost");

  define("LOGIN","mystery");

  define("PASS","*****");

  define("DATABASE","mystery");

 

  $dbc = mysql_connect(SERVER,LOGIN,PASS) or die('Pripojenie k serveru zlyhalo! Because of pink elephant!');

  mysql_select_db(DATABASE) or die('Nepodarilo sa označiť databázovú tabuľku!');

  ?>


http://deafboy.cicolina.org/fileman/directory2index/work/db.png

Pani, trapim sa s tym uz niekolko hodin. prosim o radu.


Offline

Čestný člen
Čestný člen
zapisuje prazdne hodnoty do databazy, preco?

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1757
Témy: 17 | 17

snad
Kód:
$text = $_POST['text'];
$pass = $_POST['pass'];


_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

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

Registrovaný: 25.10.08
Prihlásený: 24.12.10
Príspevky: 12
Témy: 4 | 4
Napísal autor témyOffline : 09.11.2008 18:44 | zapisuje prazdne hodnoty do databazy, preco?

Srdecna vdaka... takto to funguje
Kód:
$text = $_POST['text'];
$pass = $_POST['pass'];


len ma este trapi ci je normalne ak mi to do textoveho pola zapisuje vo forme "0x706973616e792074657874"


Offline

Čestný člen
Čestný člen
zapisuje prazdne hodnoty do databazy, preco?

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1757
Témy: 17 | 17

akeho typu mas dane stlpce?


_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

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

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96

ok takže ešte by som pohodkol:
1, tabuľka má zlú architektúru
2, tvoj kód je nezabezpečený a je veľmi jednoduché spraviť naň útok
3, úvodný príspevok sa mi páči je veľmi jasný
4, nie, nie je bežné že ti zapisuje tento tvar, na text odporúčam typ TEXT a na názov VARCHAR


Offline

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

Registrovaný: 25.10.08
Prihlásený: 24.12.10
Príspevky: 12
Témy: 4 | 4
Napísal autor témyOffline : 13.11.2008 15:57 | zapisuje prazdne hodnoty do databazy, preco?

No ako reakciu na to ze mam kod nezabezpeceny, musim povedat ze je to moja prva (resp. druha) stranka v php+sql a budem rad, ked to vobec pojde. Veci zabezpecenia budem riesit potom ked to bude fungovat

Zistil som ze zapisovanie textu v tej divnej forme je v poriadku (struktura tabulky je v screene v prvom poste)

Mám ale ďalší problém (nechcem zakladat novy topic aby som to tu moc nezabordelil). K veci... chcem porovnat heslo ktore uzivatel napise na stranku (nie login, pusti ho to k dalsiemu textu ktory vytiahne z db) s heslom ktore je v databaze k danemu clanku. Vypise mi to sice ze hesla su zhodne, ale pritom tam mozem napisat cokolvek. Pre ukazku som dal pred porovnanim vypisat zadane heslo a heslo v db.

Subor s formularom:
Kód:
...
<div align="center" width="300">
<form action="check.php" method="post">

<fieldset><legend>Ďalej</legend>

heslo:<br />
<input name="inpass" type="text" />

<input type="submit" value="Prečítať pokračovanie" /><br />

</fieldset></form>
</div>
...


check.php
Kód:
<?php
require_once("mysql.php");

     mysql_select_db(DATABASE) or die('Nepodarilo sa označiť databázovú tabuľku!');

     $sql = mysql_query("SELECT * FROM story");
     $data = mysql_fetch_array($sql);
     echo $data["pass"];
     echo $_POST['inpass'];


if ($_POST['inpass'] = $data["pass"]){
echo "Heslá sa zhodujú";
} else {
echo "Heslá sa nezhodujú";
}

mysql_close();
?>


Pravdepodobne tam mam len nejaku sprostost spravenu ako v pripade vyssie, trapim sa nad tym niekolko dni .

Odkaz na stranku:http://deafboy.cicolina.org/mystery/
formular na zadanie hesla sa nachadza dolu (ale to sa myslim neda priehliadnut)


Offline

Skúsený užívateľ
Skúsený užívateľ
zapisuje prazdne hodnoty do databazy, preco?

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE

V tomto prípade ide o klasický problém dvojitého rovná sa. Ty máš na inkriminovanom riadku
Kód:
if ($_POST['inpass'] = $data["pass"]){
. V skutočnosti ale = nie je operátor porovnávania ale priraďovania a tak sa stane, že do premennej $_POST['inpass'] sa zapíše obsah premennej $data['pass'] a keďže táto operácia prebehne bez problémov, výraz sa vyhodnotí ako logické true a prejde sa do príslušnej časti podmienky.

Celý problém zanikne, akonáhle začneš namiesto priraďovania porovnávať:
Kód:
if ($_POST['inpass'] == $data["pass"]){


Niektoré jazyky nedovoľujú priraďovanie v podmienkach (a teraz neviem, či to je C#, Java, Python alebo Ruby, prosím niekoho, kto to vie presne, nech sa ozve) a tak sa jednoducho týmto chybám vyhnú, iné jazyky na priraďovanie používajú napr. operátor := (alebo :-, napr. Prolog).

Niektoré kompilátory na priraďovanie v podmienkach upozorňujú warningami (alebo sa mi to len zdá a je to len moje zbožné želanie? opäť, ak to niekto vie presne, nech sa ozve).

Situácia v PHP je však taká, že niekedy sa priraďovanie priamo v podmienke používa a naviac je PHP interpretovaný jazyk, takže žiadne upozornenia ani chyby to nevyvolá. Preto treba byť pri písaní (aj čítaní) kódu dôsledný, študovať manuál, a testovať, testovať, testovať.


_________________
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.
 [ Príspevkov: 7 ] 


zapisuje prazdne hodnoty do databazy, preco?



Podobné témy

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

MSI FX 603 prečo áno, prečo nie?

v Notebooky a netbooky

5

467

02.08.2011 22:15

KekkeiGenkai

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

Edit - prázdne

v Delphi, Visual Basic

3

453

05.06.2011 0:11

coldak

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

Prázdne okná s možnosťami

v Ostatné programy

2

137

30.11.2015 8:50

BrNcO

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

Nečíta mi prazdne DVD

v Optické zariadenia

0

203

10.02.2014 12:26

skodo

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

Prázdné strany pri tlačení v Excely

v Ostatné programy

1

906

01.05.2006 20:07

Intelman

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

Pomale nacitavanie obrazkov v Exploreri 8 - prazdne okna.

v Sieťové a internetové programy

1

349

22.09.2010 23:40

Milanese

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

K: Prazdne Cartridge do tlaciarni HP, typ HP300

v Kúpim

1

152

11.09.2013 15:01

Romi

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

Pri štarte win XP sa v Program Files vytvoria prázdne zložky

v Operačné systémy Microsoft

3

393

01.03.2009 21:59

i666

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

USB - problém s pamäťou, údajne je plné a pri tom je skoro prázdne

v Ostatné zariadenia

3

191

15.10.2015 16:33

4040

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

probook 4540s netvorí DVD-R "mínus" ani len nenačíta (iba prázdne)

v Optické zariadenia

8

193

19.01.2015 19:29

4040

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

stabilné hodnoty

v ATI/AMD grafické karty

6

110

05.08.2015 8:43

brmbo

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

hexadecimálne hodnoty

v Ostatné

3

1267

02.03.2007 9:54

javo

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

Defaultné hodnoty CSS

v HTML, XHTML, XML, CSS

6

271

25.10.2010 18:02

don jebot

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

prebratie hodnoty FLOOR

v PHP, ASP

2

203

03.01.2010 14:20

pilná lama glama

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

SpeedFan opačné hodnoty

v Chladiče a všetky druhy chladenia

1

87

02.08.2014 17:28

brmbo

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

zistenie hodnoty autoincrement

v Databázy

3

515

07.11.2010 18:21

pogo



© 2005 - 2017 PCforum, edited by JanoF