Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sadržaj se ređa jedan ispod drugog..

[es] :: PHP :: PHP za početnike :: Sadržaj se ređa jedan ispod drugog..

[ Pregleda: 3008 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nikola Janković
učenik, gimnazija "Svetozar
Marković"
Jagodina, Srbija

Član broj: 233333
Poruke: 12
178.79.29.*



Profil

icon Sadržaj se ređa jedan ispod drugog..17.02.2011. u 17:22 - pre 160 meseci
Vidite, imam formu za logovanje (slika 1). Ulogujem se, i kliknem na "Dodaj ucenika". Prikaže mi formu za dodavanje učenika, ispod forme za logovanje (slika 2).
Poenta je da forma za dodavanje učenika bude na mestu gde je forma za logovanje, naravno posle uspešnog logovanja.

Slika 1: http://img98.imageshack.us/i/66468063.jpg/

Slika 2: http://img171.imageshack.us/i/57543508.jpg/
Budi pošten, uporan i vredan
i sto posto završićeš bedan.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
..106.109.adsl.dyn.beotel.net.



+18 Profil

icon Re: Sadržaj se ređa jedan ispod drugog..17.02.2011. u 17:42 - pre 160 meseci
Daj nam kod da vidimo kako si radio...ovako mozemo samo da nagadjamo.
 
Odgovor na temu

Nikola Janković
učenik, gimnazija "Svetozar
Marković"
Jagodina, Srbija

Član broj: 233333
Poruke: 12
178.79.29.*



Profil

icon Re: Sadržaj se ređa jedan ispod drugog..17.02.2011. u 20:53 - pre 160 meseci
index.php

Code:

<?php
session_start();
include "config.php";
?>
<title>Skolica</title>
<LINK rel="stylesheet" href="bla.css" type="text/css">

<?php
if (isset($_POST['login'])) {
    
    $username = mysql_real_escape_string($_POST['username']);
    
    $res = mysql_query("SELECT salt FROM user WHERE username = '".$username."'");
    $salt = mysql_fetch_assoc($res);
    $password = mysql_real_escape_string($_POST['password']);
    $password = sha1(sha1($password).sha1($salt['salt']));
    
    $result = mysql_query("SELECT username,userID FROM `user` WHERE `username` = '".$username."' AND password = '".$password."' AND active=1");
    
    if (mysql_num_rows($result) == 1) {
        $row = mysql_fetch_assoc($result);
        $_SESSION['auth_userID'] = $row['userID'];
        $_SESSION['auth_username'] = $username;
    } else {
        ?><table width="100%" height="100%">
                <tr><td align="center" valign="middle"> 
                    <div class="dialog">
                        <b>Elektronski dnevnik</b><p>
                        Pogresno korisnicko ime ili lozinka! Pokusajte ponovo.<br> <a href="index.php">Nazad na prijavljivanje</a>
                    </div>
                </td></tr>
            </table><?php 
    }
}
if (!isset($_SESSION['auth_userID'])) {
    if (!isset($_GET['register'])) { //to register no need to be logged in
        ?>
        <form action="index.php" method="post">
            <table width="100%" height="100%">
                <tr><td align="center" valign="middle"> 
                    <div class="dialog">
                        <b>Elektronski dnevnik</b><p>
                        <a href='index.php'>Pocetna</a> | <a href='index.php?edit'>Izmena</a> | <a href='admin.php'>Admin</a><p>
                        <label>Korisnicko ime: </label><input class="tb_background" type="text" name="username" /><br><br>
                        <label>Lozinka: </label><input class="tb_background" type="password" name="password" /><br><br>
                        <input type=submit value="Prijavi se" name='login'> <input type=reset value="Obrisi polja"> 
                    </div>
                </td></tr>
            </table>
        </form>
        <?php
    }
    die();
}
?>
<form action="index.php" method="post">
    <table width="100%" height="100%">
        <tr><td align="center" valign="middle"> 
            <div class="dialog">
                <b>Elektronski dnevnik</b><p>
                <a href='index.php'>Pocetna</a> | <a href='index.php?edit'>Izmena</a> | <a href='admin.php'>Admin</a><p>
                <p><strong>Prijavljeni ste kao: <?php echo $_SESSION['auth_username'];?></strong> <a href='index.php?logout'>Izadji</a></p> <br />
            </div>
        </td></tr>
    </table>
</form>

<?php
if (isset($_GET['logout'])) {
    unset($_SESSION['auth_userID']);
    unset($_SESSION['auth_username']);
    echo "Uspesno ste se izlogovali!";
}
if (isset($_GET['edit'])) {
    if (isset($_POST['editUser'])) {
        $notRequired = array("password","password2"); //passwords won't be checked, as they are not required
        foreach ($_POST as $k=>$v) {
            if ($v == "" && !in_array($k,$notRequired)) {
                $error[$k] = "<strong>Nista niste uneli.</strong>";
            }
        }
        $username = mysql_real_escape_string($_POST['username']);
        $password = mysql_real_escape_string($_POST['password']);
        $password2 = mysql_real_escape_string($_POST['password2']);
        $oldPassword = mysql_real_escape_string($_POST['oldPassword']);
        $email = mysql_real_escape_string($_POST['email']);
        
        if (!check_email($_POST['email'])) {
            $error['email'] .= " <strong>Email nije ispravan!</strong>";
        }
        $res = mysql_query("SELECT email FROM user WHERE email='".$email."' AND userID != '".$_SESSION['auth_userID']."'");
        if (mysql_num_rows($res) == 1) {
            $error['email'] .= " <strong>Email vec postoji!</strong>";
        }
        $res = mysql_query("SELECT username FROM user WHERE username='".$username."' AND username != '".$username."'");
        if (mysql_num_rows($res) == 1) {
            $error['username'] .= " <strong>Korisnicko ime vec postoji!</strong>";
        }
        if (($password != "" && $password2 != "") && ($password != $password2)) {
            $error['password'] .= " <strong>Lozinke se ne podudaraju!</strong>";
        }
        
        $res = mysql_query("SELECT salt FROM user WHERE userID = '".$_SESSION['auth_userID']."'");
        $salt = mysql_fetch_assoc($res);
        $oldPassword = sha1(sha1($oldPassword).sha1($salt['salt']));
        $res = mysql_query("SELECT password FROM user WHERE userID='".$_SESSION['auth_userID']."' AND password = '".$oldPassword."'");
        if (mysql_num_rows($res) == 0) {
            $error['oldPassword'] .= " <strong>Lozinka nije ispravna!</strong>";
        }
        
        if (count($error) == 0) {
            $query = "UPDATE user SET username='".$username."', email='".$email."'";
            if ($password != "") {
                $salt = rand(100,999);
                $password = sha1(sha1($password).sha1($salt));
                $query .= ", password='".$password."', salt='".$salt."',";
            }
            $query .= " WHERE userID='".$_SESSION['auth_userID']."'";
            $_SESSION['auth_username'] = $username; 
            if (mysql_query($query)) {
                echo "<p><strong>Uspesno ste izmeni nalog.</strong></p>";
            } else {
                echo "<p><strong>Nalog NIJE sacuvan. ".mysql_error()."</strong></p>";
            }
        }
    }
    $rs = mysql_query("SELECT username, email FROM user WHERE userID = ".$_SESSION['auth_userID']." AND active='1'");
    if (mysql_num_rows($rs) == 0) {
        die("Korisnik ne postoji!");
    }
    $row = mysql_fetch_assoc($rs);
    $_POST['username'] = $row['username'];
    $_POST['email'] = $row['email'];
    ?>
    <form action="index.php?edit" method="post">
    <table width="100%" height="100%">
                <tr><td align="center" valign="middle"> 
                    <div class="dialog">
                        <b>Elektronski dnevnik</b><p>
                        <a href='index.php'>Pocetna</a> | <a href='index.php?edit'>Izmena</a> | <a href='admin.php'>Admin</a><p>
                        <p><label>*Korisnicko ime:</label><input type="text" name="username" value='<?php echo $_POST['username'];?>' />
        <?php echo(isset($error['username']))?$error['username']:"";?></p>
        
        <p><label>*Email:</label><input type="text" name="email" value='<?php echo $_POST['email'];?>' />
        <?php echo(isset($error['email']))?$error['email']:"";?></p>
        
        <p><label>*Lozinka:</label><input type="password" name="oldPassword" value='<?php echo $_POST['oldPassword'];?>' />
        <?php echo(isset($error['oldPassword']))?$error['oldPassword']:"";?></p>
        
        <p><label>*Nova lozinka:</label><input type="password" name="password" value='<?php echo $_POST['password'];?>' />
        <?php echo(isset($error['password']))?$error['password']:"";?></p>
        
        <p><label>*Ponovite novu lozinku: </label><input type="password" name="password2" value='<?php echo $_POST['password2'];?>' />
        <?php echo(isset($error['password2']))?$error['password2']:"";?></p>
        
        <input type='submit' name='editUser' value='Izmeni' />
                    </div>
                </td></tr>
            </table>
        
    </form>
    <?php
}

Budi pošten, uporan i vredan
i sto posto završićeš bedan.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
..106.109.adsl.dyn.beotel.net.



+18 Profil

icon Re: Sadržaj se ređa jedan ispod drugog..17.02.2011. u 22:27 - pre 160 meseci
Jel imas neki css?
Meni pada na pamet da, ako se uspesno loguje, stavis display:none za formu.
 
Odgovor na temu

Nikola Janković
učenik, gimnazija "Svetozar
Marković"
Jagodina, Srbija

Član broj: 233333
Poruke: 12
178.79.29.*



Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 06:48 - pre 160 meseci
Imam css, pogledaj slike iz prve poruke. ;)
Budi pošten, uporan i vredan
i sto posto završićeš bedan.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
..106.109.adsl.dyn.beotel.net.



+18 Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 09:08 - pre 160 meseci
Mozes okaciti i njega...Kazem probaj staviti forme u div tag, i podesi display osobinu na block. Kada se uspesno loguje prebaci je na none.
Najbolje bi bilo kada bi mogao postaviti ceo kod.(i bazu)

[Ovu poruku je menjao mish_ns dana 18.02.2011. u 10:19 GMT+1]
 
Odgovor na temu

Nikola Janković
učenik, gimnazija "Svetozar
Marković"
Jagodina, Srbija

Član broj: 233333
Poruke: 12
178.79.29.*



Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 11:25 - pre 160 meseci
Mogu da okačim i ostatak, ali se sve svodi na ovaj kod.
U ostalim kodovima je problem isti.

Dobio sam i predlog da kod razdelim u više fajlova, pa da ih pozivam po potrebi.
Kako to najefikasnije mogu odraditi?

Nije loš ni predlog za div tag.

Moram da dodam i da je sve u eksperminetalnoj fazi, tako da nije sve kompletno.
Budi pošten, uporan i vredan
i sto posto završićeš bedan.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
..106.109.adsl.dyn.beotel.net.



+18 Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 11:44 - pre 160 meseci
Pa mozes i tako...
Recimo mozes razdeliti kod na login_succsess, login_incorrect, logged_in...
Pa npr. umesto:
Code:

if (isset($_POST['login'])) {
    
    $username = mysql_real_escape_string($_POST['username']);
    
    $res = mysql_query("SELECT salt FROM user WHERE username = '".$username."'");
    $salt = mysql_fetch_assoc($res);
    $password = mysql_real_escape_string($_POST['password']);
    $password = sha1(sha1($password).sha1($salt['salt']));
    
    $result = mysql_query("SELECT username,userID FROM `user` WHERE `username` = '".$username."' AND password = '".$password."' AND active=1");
    
    if (mysql_num_rows($result) == 1) {
        $row = mysql_fetch_assoc($result);
        $_SESSION['auth_userID'] = $row['userID'];
        $_SESSION['auth_username'] = $username;
    } else {
        ?><table width="100%" height="100%">
                <tr><td align="center" valign="middle"> 
                    <div class="dialog">
                        <b>Elektronski dnevnik</b><p>
                        Pogresno korisnicko ime ili lozinka! Pokusajte ponovo.<br> <a href="index.php">Nazad na prijavljivanje</a>
                    </div>
                </td></tr>
            </table>
...
}

stavis:
Code:

if (isset($_POST['login'])) {
    
    $username = mysql_real_escape_string($_POST['username']);
    
    $res = mysql_query("SELECT salt FROM user WHERE username = '".$username."'");
    $salt = mysql_fetch_assoc($res);
    $password = mysql_real_escape_string($_POST['password']);
    $password = sha1(sha1($password).sha1($salt['salt']));
    
    $result = mysql_query("SELECT username,userID FROM `user` WHERE `username` = '".$username."' AND password = '".$password."' AND active=1");
    
    if (mysql_num_rows($result) == 1) {
        $row = mysql_fetch_assoc($result);
        $_SESSION['auth_userID'] = $row['userID'];
        $_SESSION['auth_username'] = $username;
    } else {  

include("login_incorrect.php");} 
        ?>
...
}
 
Odgovor na temu

Nikola Janković
učenik, gimnazija "Svetozar
Marković"
Jagodina, Srbija

Član broj: 233333
Poruke: 12
178.79.29.*



Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 11:54 - pre 160 meseci
Ok, kapiram ja to sa include, ali ne kapiram na koje celine smem da podelim.

Možeš li da mi "izdeliš" ovu index stranu, da ja vidim na primeru?
Budi pošten, uporan i vredan
i sto posto završićeš bedan.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
..106.109.adsl.dyn.beotel.net.



+18 Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 12:03 - pre 160 meseci
Pa te delove gde su ti forme, tj. tabele...to nek ti budu celine. Pogledaj sta koja radi i tako ih nazovi...
Najlakse ti je da napravis kopiju celog sajta pa da experimentises...Ili zapakuj ceo kod pa ga postavi ovde+baza, pa da vidimo.
 
Odgovor na temu

Nikola Janković
učenik, gimnazija "Svetozar
Marković"
Jagodina, Srbija

Član broj: 233333
Poruke: 12
178.79.29.*



Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 12:06 - pre 160 meseci
Ok, probaću u toku dana, pa javljam šta sam uradio. :D

Hvala, na odgovorima.
Budi pošten, uporan i vredan
i sto posto završićeš bedan.
 
Odgovor na temu

3way

Član broj: 241428
Poruke: 1425



+2403 Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 12:15 - pre 160 meseci
Ne znam kakve veze baza i css ima sa ovim...
Ako sam dobro shvatio, hoces da prikazes ili jedno ili drugo.

Znaci greska ti je u proveri sesije ili u nekom uslovu.
Uprosti kod, ostavi samo ono najbitnije, skloni sve nepotrebne linije (npr, umesto forme za dodavanje napisi jedan <p></p>) i otkrij gde je greska.
Sedam sutlijasa,
za sedam samuraja,
za sedam tramvaja.
 
Odgovor na temu

Nikola Janković
učenik, gimnazija "Svetozar
Marković"
Jagodina, Srbija

Član broj: 233333
Poruke: 12
178.79.29.*



Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 12:45 - pre 160 meseci
Citat:
3way: Ne znam kakve veze baza i css ima sa ovim...
Ako sam dobro shvatio, hoces da prikazes ili jedno ili drugo.

Znaci greska ti je u proveri sesije ili u nekom uslovu.
Uprosti kod, ostavi samo ono najbitnije, skloni sve nepotrebne linije (npr, umesto forme za dodavanje napisi jedan <p></p>) i otkrij gde je greska.


Nemaju nikakve veze, zato ih i nisam okačio.

Nisi dobro shvatio, neću da prikažem oba.

Objasniću opet:
želim da se pojavi samo forma za logovanje. Kada se korisnik loguje, da ta forma "nestane" a prikaže se sledeća (u ovom slučaju za unos podataka).
Budi pošten, uporan i vredan
i sto posto završićeš bedan.
 
Odgovor na temu

3way

Član broj: 241428
Poruke: 1425



+2403 Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 12:49 - pre 160 meseci
Citat:
hoces da prikazes ili jedno ili drugo.


:)

Dakle, predlog ostaje, uprosti sve do maksimuma i lakse ces pronaci gresku.
Sedam sutlijasa,
za sedam samuraja,
za sedam tramvaja.
 
Odgovor na temu

Nikola Janković
učenik, gimnazija "Svetozar
Marković"
Jagodina, Srbija

Član broj: 233333
Poruke: 12
178.79.29.*



Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 13:08 - pre 160 meseci
Citat:
3way: :)

Dakle, predlog ostaje, uprosti sve do maksimuma i lakse ces pronaci gresku.


Moja je greška, nisam lepo pročitao. :D

Elem, to što si predložio, već sam uradio.
Jer, kad sam kucao kod, nisam imao "dizajn", tek kasnije sam dodao.

A, i, ako "sklonim" dizajn, neu znati da li je box "preklopljen" drugim...
Budi pošten, uporan i vredan
i sto posto završićeš bedan.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
..106.109.adsl.dyn.beotel.net.



+18 Profil

icon Re: Sadržaj se ređa jedan ispod drugog..18.02.2011. u 13:18 - pre 160 meseci
Za ovakvo stanje kakvo jeste...kako css nema veze sa ovim?
ako stavi za svaku formu display osobinu...moze da resi problem.

Evo jednostavan primer.
Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<link rel="stylesheet" type="text/css" href="forma.css">
</head>
<body>
<form id="forma1" name="form1" method="post" action="checklogin.php">
User:<input name="myusername" type="text" id="myusername"><br/>
Pass:<input name="mypassword" type="text" id="mypassword"><br/>
<input type="submit" name="Submit" value="Login">
</form>

<form id="forma2" name="form1" method="post" action="checklogin.php">
User:<input name="myusername" type="text" id="myusername"><br/> 
Pass:<input name="mypassword" type="text" id="mypassword"><br/> 
<input type="submit" name="Submit" value="Login">
</form>
</body>
</html>

forma.css
Code:

#forma1 {
display:none;
border: solid 3px;

#forma2 {
    display: block;
}


Ako probas kod videces da prve forme nema...a druga se uredno pokazuje...

Isto tako moze i za njegov kod...prikaze login formu, ako su podaci ispravni skriva tu login formu i prikazuje drugu..

Jeste budzenje :) al ce da radi 100%.
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Sadržaj se ređa jedan ispod drugog..

[ Pregleda: 3008 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.