Skripta za upis u bazu i pretragu baze

3

Skripta za upis u bazu i pretragu baze

offline
  • Pridružio: 11 Maj 2005
  • Poruke: 871
  • Gde živiš: Aleksinac - Niš

igor86 ::@stankovic
To nisu nikakve greske


Kako nisu? Laughing
Jeste da pise Notice ali je i to ipak greska.
Zar nije bolje da lepo proveris sta si postavio pa tek onda to da koristis a ne da dobijas ovo?
Samo sam jos kod indijaca vidjao ovakav kod.
Vrlo cesto se desava da se skripta zaustavi kad naidje na ovako nesto. Bas skoro sam trebao da prebacim neke skripte kod mene, da ih malo promenim i vratim... nazalost programer koji ih je radio je koristio isto sto i ti. Bilo je toliko nedeklarisanih promenljivih da skripta UOPSTE nije radila tako da nista nisam mogao da ucinim. Ovo kod if-a je i prolazilo ali skripta je pucala kad je trebalo te nedeklarisane promenljive upisati u bazu.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Blood  Male
  • Ugledni građanin
  • Pridružio: 26 Jul 2003
  • Poruke: 384
  • Gde živiš: Beograd

Notice nije greska. Ubaci ovo u kod i vise se nece pojavljivati.

error_reporting(E_ALL ^ E_NOTICE); ini_set('display_errors', 0);



offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Citat:@stankovic
Zar nije bolje da lepo proveris sta si postavio pa tek onda to da koristis a ne da dobijas ovo?

Gubis vrijeme na to!

A to o cemu ti pricas o tom Indijancu, to ti se zove register_globals, raspitaj se! Mozda samo ne poznajes PHP dovoljno!

offline
  • Pridružio: 11 Maj 2005
  • Poruke: 871
  • Gde živiš: Aleksinac - Niš

igor86 ::Citat:@stankovic
Zar nije bolje da lepo proveris sta si postavio pa tek onda to da koristis a ne da dobijas ovo?

Gubis vrijeme na to!

A to o cemu ti pricas o tom Indijancu, to ti se zove register_globals, raspitaj se! Mozda samo ne poznajes PHP dovoljno!

Gubim vreme???
Pa to je samo jedna linija koda
if(isset($_POST['prom']))

Citat:Global variables are no longer registered for input data (POST, GET, cookies,
; environment and other server variables). Instead of using $foo, you must use
; you can use $_REQUEST["foo"] (includes any variable that arrives through the
; request, namely, POST, GET and cookie variables), or use one of the specific
; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending
; on where the input originates. Also, you can look at the
; import_request_variables() function.
; Note that register_globals is going to be depracated (i.e., turned off by
; default) in the next version of PHP, because it often leads to security bugs.
; Read http://php.net/manual/en/security.registerglobals.php for further
; information.


Ovo ti je direktno iz php.ini fajla... i sami ti kazu da dovodi do bagova, zasto onda koristiti?
A izmedju ostalog u toj skripti o kojoj pricam je covek koristio promenljive na nemoguc nacin. Npr. ima skriptu install.php koju direktno aktiviras a u njoj imas neku promenljivu $amount koju upisujes u bazu a pre toga joj nije dodeljena vrednost... haos od skripte. Ajd to u install-u sam ispravio al to se posle javljalo na jos milion mesta tako da sam odustao.

A sto se tice:
error_reporting(E_ALL ^ E_NOTICE); ini_set('display_errors', 0);
To ti koristi da kada smatras da skripta nema vise bagova, iskljucis greske i obavestenja kako ne bi slucajno neko video neki sigurnosni propust u tvojoj skripti i iskoristio ga.
Jos jedan citat:
Citat: With this directive set to off, errors that occur during the execution of
; scripts will no longer be displayed as a part of the script output, and thus,
; will no longer be exposed to remote users. With some errors, the error message
; content may expose information about your script, web server, or database
; server that may be exploitable for hacking. Production sites should have this
; directive set to off.

Uvek treba sve greske i notice eliminisati bez obzira na to sto kod php-a u vecini slucajeva te greske mogu da prodju... kasnije ces mozda nesto dodavati pa moze nastati haos, ne zna se sta je sta!

offline
  • DR  Male
  • Legendarni građanin
  • Pridružio: 08 Okt 2004
  • Poruke: 5450
  • Gde živiš: Beograd

ok, necemo se sad raspravljati, ja bih voleo da neko prekopira i isproba skriptu koju je igor napravio sa izmenama koje je stankovic uneo i da vidi da li radi posto ja dobijam istu gresku Citat:Parse error: parse error, unexpected T_ELSE in c:\program files\easyphp1-7\www\forum\zabaze.php on line 70
samu skriptu sam prekopirao iz jednog tutorijala i samo prilagodio svojim potrebama. Wink

offline
  • Pridružio: 24 Mar 2004
  • Poruke: 3962
  • Gde živiš: Zemun

DR ::
samu skriptu sam prekopirao iz jednog tutorijala i samo prilagodio svojim potrebama. Wink


hehe tacno znam i sta si to kopirao.... viceve, ali nisu nesto.... za pocetnika je ok, ali sql nije dobar, konekcija se tako ne radi i slicno....

offline
  • DR  Male
  • Legendarni građanin
  • Pridružio: 08 Okt 2004
  • Poruke: 5450
  • Gde živiš: Beograd

nego kako se radi?
tragedija je sto ni skript u tutorijalu za pocetnike ne radi kada se implementira kao takav. Twisted Evil

offline
  • Pridružio: 24 Mar 2004
  • Poruke: 3962
  • Gde živiš: Zemun

ma moze i onakva konekcija nego eto ovo dole je ipak neki standard....
mysql_connect("host", "user", "pass") or die(''greska konekcija"); mysql_select_db("db-name") or die("greska seleckija");
sql bez set i slicno....

a ta skripta u tut vise se i ne secam da li radi.... ali koliko se secam nje cinimi se da se decko upetljao sa sql-om bruka Smile

offline
  • DR  Male
  • Legendarni građanin
  • Pridružio: 08 Okt 2004
  • Poruke: 5450
  • Gde živiš: Beograd

pa ocigledno da ne radi. Mr. Green Twisted Evil
elem, neka alternativna ISPRAVNA skripta koja bi vrsila posao tj radila?

offline
  • Pridružio: 24 Mar 2004
  • Poruke: 3962
  • Gde živiš: Zemun

ja jedino da ti je napisem Smile

Dopuna: 23 Jul 2007 0:31

evo ti, kao sto rekoh... brze cu napisati nego prepravljati Smile

prvo kreiraj bazu
sql:
1. create database test;
2. use test;
3. create table nesto ( id int primary key not null auto_increment, nesto text not null );

posle toga napravi php stranu
<?php    $dbhost = 'localhost';    $dbuser = 'root';    $dbpass = '';    $dbname = 'test';    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Gre۫a pri konektovanju na bazu');    mysql_select_db($dbname);        $upit = mysql_query("select nesto from nesto order by id desc;");       if(!$upit) {          echo("<p>" . mysql_error() . "</p>");       } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">    <title>upisi se bre</title> </head> <body> <?    //upis u bazu    if ( isset($_POST['potvrdi']) ) {       $text = trim($_POST['tekst']);       $upis = "insert into nesto (nesto) values ('$text')";       if( mysql_query($upis) ) {          echo("upisano");       }       else {          echo("greka u upisu");       }    } ?> <table align="center" border="0" cellspacing="0" cellpadding="0">    <tr>       <td class="leftm" align="center">IZ BAZE</td>    </tr>    <?       while($red = mysql_fetch_array($upit) ) {          echo("<tr><td>" . $red['nesto'] . "</td></tr>");       }       ?> </table> <form method="post" name="forma" action=""> <table align="center"  border="0" cellpadding="0" cellspacing="0">    <tr>       <td colspan="2" class="leftm" align="center">UPIŠI U BAZU</td>    </tr>    <tr>       <td>tekst: </td>       <td><input type="text" name="tekst"></td>    </tr>    <tr>       <td colspan="2"  align="center"><input type="submit" name="potvrdi" value="Pošalji"></td>    </tr> </table> </form> </body> </html>

Dopuna: 23 Jul 2007 23:27

jel ovo ne valja ?! vidim bilo te na forumu a ne govoris vise nista ?! Smile

Ko je trenutno na forumu
 

Ukupno su 831 korisnika na forumu :: 13 registrovanih, 2 sakrivenih i 816 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, A.R.Chafee.Jr., Dorcolac, Draganeli, drimer, kolle.the.kid, Koridor, Lazarus, ozzy, strelac07, suton, yrraf, 125