PHP-Script.hu
Kiemelt hirdetés:
2026. október 17. 01:47 szombat, ma Hedvig névnap van


grafika


Videóbázis


1 | 2Előre
Listázás:  Idő szerint:
Webprogramozás arr PHP info Hogyan?
(#18) user23 válasza erre: (#17) user23 2014.06.28. 20:53

user23
user23
Kezdő

Szép estét!

Rá jöttem.
Itt a megoldásom:
echo (!empty($ertek) ? "<td width='150'>Kérdésem</td><td width='600'>".$ertek."</td>" : "");
Ha nincs adat nem jelenik meg.
Köszönö, hogy olvastad.


Utoljára szerkesztette: user23 2014.06.28. 20:53
(#17) user23 válasza erre: (#16) user23 2014.06.28. 16:59

user23
user23
Kezdő

Sziasztok!

Megszeretném kérdezni, hogy hogyan lehetne azt kivitelezni, hogy ha egy űrlapon nem töltök ki minden mezőt.
Tételezzük fel 3 text mező van, amit ki kell tölteni, egyik sem kötelező!
Ebből csak kettőt töltök ki. A harmadik üresen marad.
Elküldöm, majd a megjelenitő fájlon, szépen megjelenik az első kettő a megnevezésével.
A harmadik mivel üres volt, így annak a sora nem is jelenk meg.

PL.: a megjelenésre:
Neved: Teszt Elek
Kedvenc ételed 1: Palacsinta
Kedvenc italod 1: ---- (Itt nincs adat, mert nem töltötte ki.) Ezért ez a teljes sor ne jelenjen meg. "A kedvenc italod 1" sem.
Azért szeretném megoldnai, mert nem szeretnék üres sorokat látni.
Értelem szerűen, ha egy szerkesztéssel kitölti, akkor majd megjelenik minden abból a sorból.

Ezt hogy lehetne megoldani ?
Köszönöm

szerk:
Nincs szerkesztés gomb ? :S Vagy csak nem látom.

Kimarad, hogy a megjelenés 1 táblázatban történik.
<table><tr><td></td></tr></table>.

és én úgy szeretném, hogy <td>Kérdés</td><td>Válasz</td>
Ez a két sor ne jelenjen meg, ha a válasz értéke semmi, üres, nics benne adat.



(#16) user23 2014.06.28. 13:24

user23
user23
Kezdő

Sziasztok!

Megszeretném kérdezni, hogy hogyan lehetne azt kivitelezni, hogy ha egy űrlapon nem töltök ki minden mezőt.
Tételezzük fel 3 text mező van, amit ki kell tölteni, egyik sem kötelező!
Ebből csak kettőt töltök ki. A harmadik üresen marad.
Elküldöm, majd a megjelenitő fájlon, szépen megjelenik az első kettő a megnevezésével.
A harmadik mivel üres volt, így annak a sora nem is jelenk meg.

PL.: a megjelenésre:
Neved: Teszt Elek
Kedvenc ételed 1: Palacsinta
Kedvenc italod 1: ---- (Itt nincs adat, mert nem töltötte ki.) Ezért ez a teljes sor ne jelenjen meg. "A kedvenc italod 1" sem.
Azért szeretném megoldnai, mert nem szeretnék üres sorokat látni.
Értelem szerűen, ha egy szerkesztéssel kitölti, akkor majd megjelenik minden abból a sorból.

Ezt hogy lehetne megoldani ?
Köszönöm

(#15) Shark1818 2014.02.24. 16:07

Shark1818
Shark1818
Kezdő

Üdv!

Van egy olyan problémám hogy van egy script-em, tökéletesen működik csak az a gond hogy a script a C:wampwwwxyz mappába van és onnan keresi a fájlokat de nekem pl.: a D:xyz mappából akarom le kérdezni a fájlokat csak nem tudom átt irányítani a lekérdezést. Tehát a C:-ből nem bírok ki mászni és átt menni D:-re.

Előre is köszönöm!

(#14) pimi 2014.02.20. 14:30

pimi
pimi
Kezdő

Hogyan lehet megoldani azt, hogy hogy egy PHP forráskód listázásakor egy kódrészlet (pl. szerző adat, link) rejtve maradjon, de a futtatáskor megjelenjen, és azt ne lehessen egyszerűen törölni. Biztosan láttatok már ilyet demo és shareware alkalmazásokban.

(#13) Jedimaster válasza erre: (#12) Jedimaster 2014.02.19. 13:08

Jedimaster
Jedimaster
Kezdő

Bocsi, már megoldottam! :)

(#12) Jedimaster válasza erre: (#11) Jedimaster 2014.02.19. 12:36

Jedimaster
Jedimaster
Kezdő

Idő közben megtaláltam a megoldást, bár nem tetszik:
Az URL -ben csak a vezérlőt küldöm el, mert a metódust (

1
$url_parts[ 1 ]
) már nem képes végrehajtani, így kénytelen vagyok mindenhez új vezérlőket írni, de nem ez lenne a kívánt célom...

(#11) Jedimaster 2014.02.17. 16:43

Jedimaster
Jedimaster
Kezdő

Sziasztok!

Segítsetek, legyetek szívesek, mert én már mindent végiggondoltam és egyszerűen nincs már több ötletem...

Írok egy MVC -t, tutorial alapján.
A baj csak az, hogy az index oldal( IndexController/index() --> automatikusan betöltődik, ha nincs más találat) kivételével semmi más nem töltődik be(ill. a LoginController/index() betöltődik, ami egy bejelentkező felület, de végre már nem hajlandó hajtani a műveletet, tehát a LoginController -> login() funkciója meg sem hívódik...).

Az oldal kódjait is közreadom:

index.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
<?php
    
    // Útvonal - állandó:
    define( "BASE_PATH", dirname( realpath( __FILE__ ) ) . "/" );
    
    // Feltétlen szükséges fájlok beemelése:
    include_once( BASE_PATH . "core/config.php" );
    include_once( BASE_PATH . "core/database.php" );
    
    include_once( BASE_PATH . "controllers/Controller.php" );
    
    $db = new Database( DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_CHARSET );
    
    /**
     * A "$_GET[ "q" ]" tartalma alapján a vezérlő(1.) és metódus(2) neve, valamint a fogadott paraméter(ek) értéke(i):
     */
    $url_parts = array();
    
    if( isset( $_GET[ "q" ] ) && !empty( $_GET[ "q" ] ) ) {
        $url_parts = explode( "/", $_GET[ "q" ] );
        
        foreach( $url_parts as $key => $val ) {
            $value = trim( $val );
            $url_parts[ $key ] = $value;
            
            if( strlen( $value ) == 0 ) {
                unset( $url_parts[ $key ] );
            }
        }
        
        $url_parts = array_values( $url_parts );
    }
    
    // Alapértelmezett vezérlő:
    if( !isset( $url_parts[ 0 ] ) ) {
        $url_parts[ 0 ] = DEFAULT_CONTROLLER;
    }
    
    // Ha nem található a keresett vezérlő nevű fájl:
    if( !is_file( BASE_PATH . "controllers/" . $url_parts[ 0 ] . ".php" ) ) {
        $url_parts[ 0 ] = DEFAULT_CONTROLLER;
    }
    
    // Alapértelmezett metódus:
    if( !isset( $url_parts[ 1 ] ) ) {
        $url_parts[ 1 ] = DEFAULT_METHOD;
    }
    
    // Ha nem található a keresett metódus a megadott osztályban:
    if( !method_exists( $url_parts[ 0 ], $url_parts[ 1 ] ) ) {
        $url_parts[ 1 ] = DEFAULT_METHOD;
    }
    
    /**
     * A paraméterek kinyerése az "$url_parts" tömbből:
     */
    $params = array();
    
    if( count( $url_parts ) > 2 ) {
        for( $i = 2; $i < count( $url_parts ); $i++ ) {
            $params[] = $url_parts[ $i ];
        }
    }
    
    // A vezérlőt tartalmazó fájl beemelése - !!! KONVENCIÓ: A vezérlő neve 'camel-cased', megegyezik a fájlja nevével !!! - és példányosítása:
    include_once( BASE_PATH . "controllers/" . $url_parts[ 0 ] . ".php" );
    
    $controller = new $url_parts[ 0 ]( $params );
    $controller -> $url_parts[ 1 ]();
    
?>
 


core/config.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<?php
    
    // DB - állandók:
    define( "DB_HOST", "localhost" );
    define( "DB_USER", "root" );
    define( "DB_PASS", "" );
    define( "DB_NAME", "anu_mvc" );
    define("DB_CHARSET", "utf8");
    
    // Alapértelmezett vezérlő és metódus - állandók:
    define( "DEFAULT_CONTROLLER", "IndexController" );
    define( "DEFAULT_METHOD", "index" );
    
?>
 


core/database.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
<?php
    
    class Database {
        private $conn;
        
        function __construct( $host, $user, $pass, $db, $charset ) {
            $this -> conn = mysql_connect( $host, $user, $pass ) or die( mysql_error() );
            mysql_set_charset( $charset, $this -> conn );
            mysql_select_db( $db );
        }
        
        public function select( $query ) {
            $result = mysql_query( $query );
            $arr = array();
            
            if( mysql_num_rows( $result ) > 0 ) {
                while( $row = mysql_fetch_assoc( $result ) ) {
                    $arr[] = $row;
                }
                
                return $arr;
            } else {
                return "Nem volt a keresésnek megfelelő elem.";
            }
        }
        
        public function insert( $query ) {
            $result = mysql_query( $query );
            $answer = false;
            
            if( mysql_affected_rows( $result ) > 0 ) {
                $answer = true;
            } else {
                $answer = false;
            }
            
            return $answer;
        }
        
        public function update( $query ) {
            $result = mysql_query( $query );
            $answer = false;
            
            if( mysql_affected_rows( $result ) > 0 ) {
                $answer = true;
            } else {
                $answer = false;
            }
            
            return $answer;
        }
        
        public function delete( $query ) {
            $result = mysql_query( $query );
            $answer = false;
            
            if( mysql_affected_rows( $result ) > 0 ) {
                $answer = true;
            } else {
                $answer = false;
            }
            
            return $answer;
        }
        
        function __destruct() {
            mysql_close( $this -> conn );
        }
    }
    
?>
 


models/Model.php:
1
2
3
4
5
6
7
8
 
<?php
    
    class Model {
    }
    
?>
 


models/LoginModel.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
<?php
    
    include_once( "Model.php" );
    
    class LoginModel extends Model {
        private $user;
        private $pass
        
        protected $arr = array();
        
        public function __construct( $user, $pass ) {
            $this -> user = $user;
            $this -> pass = $pass;
        }
        
        public function check() {
            $query = "SELECT * FROM users WHERE username='" . $this -> user . "' AND password='" . $this -> pass . "' LIMIT 1";
            $this -> arr = $db -> select( $query );
            
            return $this -> arr;
        }
    }
    
?>
 


controllers/ControllerInterface.php:
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php
    
    interface ControllerInterface {
        /**
         * Ez a megjelenítésért felelős, default metódus!
         */
        public function index();
    }
    
?>
 


controllers/Controller.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
<?php
    
    // Kell, mert az "index()" metódust innen örökli (implementálja) - így e metódust minden leszármazottja is megkapja.
    include_once( "ControllerInterface.php" );
    
    /**
     *  Minden vezérlőt ebből kell származtatni!
     */
    abstract class Controller implements ControllerInterface {
        protected $params;
        protected $views;
        protected $v;
        
        public function __construct( $params = null ) {
            // Fogadott paraméter - ha van
            $this -> params = $params;
            
            // Beemelendő nézetfájlokat és a nézetnek átadandó paramétereket tartalmazó tömbök
            $this -> views = array();
            $this -> v = array();
            
            // Mindig belekerül a fejlécet és menüt megvalósító nézet...(*)
            $this -> add_view( "HeaderView" );
            $this -> add_view( "MenuView" );
        }
        
        // A "$views" tömböt feltölti a nézetfájlok nevével
        protected function add_view( $view ) {
            $this -> views[] = BASE_PATH . "views/" . $view . ".php";
        }
        
        // Bejárja a "$views" tömböt és minden egyes elemét (ami az egyes nézetfájlok elérését tartalmazza) beemeli
        protected function render() {
            foreach( $this -> views as $view ) {
                include_once( $view );
            }
        }
        
        // (*)...és a láblécet megvalósító nézet is.
        public function __destruct() {
            $this -> add_view( "FooterView" );
            $this -> render();
        }
    }
    
?>
 


controllers/IndexController.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<?php
    
    class IndexController extends Controller {
        public function index() {
            $this -> v[ "title" ] = "Kezdőlap";
            
            $this -> add_view( "IndexView" );
        }
        
        public function magamrol() {
            $this -> v[ "title" ] = "Magamról";
            
            $this -> add_view( "MagamrolView" );
        }
        
        public function referenciak() {
            $this -> v[ "title" ] = "Referenciák";
            
            $this -> add_view( "ReferenciakView" );
        }
    }
    
?>
 


controllers/LoginController.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
<?php
    
    class LoginController extends Controller {
        
        public function index() {
            $this -> v[ "title" ] = "Bejelentkezés";
            
            $this -> add_view( "LoginView" );
        }
        
        public function login() {
            include_once( BASE_PATH . "models/LoginModel.php" );
            
            if( isset( $_POST[ "username" ] ) && isset( $_POST[ "password" ] ) ) {
                $data = array();
                
                $model = new LoginModel( $_POST[ "username" ], $_POST[ "password" ] );
                
                $data[] = $model -> check();
                
                if( isset( $data ) ) {
                    $this -> v[ "title" ] = "Bejelentkezve, mint " . $this -> data[ "username" ];
                    
                    $_SESSION[ "id" ] = $this -> data[ "id" ];
                    $_SESSION[ "username" ] = $this -> data[ "username" ];
                    $_SESSION[ "full_name" ] = $this -> data[ "full_name" ];
                    $_SESSION[ "role" ] = $this -> data[ "role" ];
                    
                    $this -> add_view( "MainView" );
                } else {
                    $this -> v[ "title" ] = "Bejelentkezési hiba";
                    $this -> v[ "message" ] = "Hibás felhasználói név vagy jelszó!";
                    
                    $this -> add_view( "LoginView" );
                }
            } else {
                $this -> v[ "title" ] = "Bejelentkezési hiba";
                $this -> v[ "message" ] = "Bejelentkezéshez mindkét mező kitöltése kötelező!";
                
                $this -> add_view( "LoginView" );
            }
        }
        
        public function logout() {
            $this -> v[ "title" ] = "Kezdőlap";
            
            if( isset( $_SESSION[ "username" ] ) ) {
                session_destroy();
            }
            
            $this -> add_view( "IndexView" );
        }
    }
    
?>
 


views/HeaderView.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<?php
    
    echo    '<!DOCTYPE html>
            <html lang="hu">
                <head>
                    
                    <meta charset="utf-8">
                    <meta name="author" content="Anubis">';
    
    if( isset( $this -> v[ "css" ] ) ) {
        echo        '<link rel="stylesheet" href="static/css/' . $this -> v[ "css" ] . '.css" type="text/css">';
    } else {
        echo        '<link rel="stylesheet" href="static/css/default.css" type="text/css">';
    }
    
    echo            '<title>' .
                        $this -> v[ "title" ] .
                    '</title>
                </head>
                
                <body>
                
                    <div class="container">
                    
                        <div class="header">
                        </div>';
    
?>
 


views/MenuView.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
<?php
    
    echo            '<div class="menu" align="center">
                        
                        <ul class="menu_ul">';
    
    if( !isset( $_SESSION[ "username" ] ) ) {
            echo            '<li>
                                <a href="index.php?q=IndexController">
                                    Főoldal
                                </a>
                            </li>
                        
                            <li>
                                <a href="index.php?q=IndexController/magamrol">
                                    Magamról
                                </a>
                            </li>   
                        
                            <li>
                                <a href="index.php?q=IndexController/referenciak">
                                    Referenciák
                                </a>
                            </li>   
                        
                            <li>
                                <a href="index.php?q=LoginController">
                                    Belépés
                                </a>
                            </li>';
    } else {
            echo            '<li>
                                <a href="index.php?q=IndexController">
                                    Menü1
                                </a>
                            </li>
                        
                            <li>
                                <a href="index.php?q=IndexController/index">
                                    Menü2
                                </a>
                            </li>   
                        
                            <li>
                                <a href="index.php?q=IndexController/index/paraméter1/paraméter2">
                                    Menü3
                                </a>
                            </li>   
                        
                            <li>
                                <a href="index.php?q=LoginController/logout">
                                    Kilépés
                                </a>
                            </li>';
    }
    
    echo                '</ul>
                        
                    </div>';
    
?>
 


views/IndexView.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<?php
    
    echo    '<div class="content">
                
                <div class="center">
                    
                    <h1>
                        Üdvözöllek az oldalamon!
                    </h1>
                    
                    <p>
                        Itt lesz az oldal tartalma...
                    </p>
                    
                </div>
                
                <div class="left">
                </div>
            
            </div>';
    
?>
 


views/MagamrolView.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
<?php
    
    echo    '<div class="content">
                
                <div class="center">
                    
                    <h1>
                        Magamról
                    </h1>
                    
                    <p>
                        Ide kerül minden leírás rólam:
                    </p>
                    
                    <p>
                        Hol dolgoztam eddig, mivel foglalkozom, stb.
                    </p>
                    
                </div>
                
                <div class="left">
                </div>
            
            </div>';
    
?>
 


views/ReferenciakView.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<?php
    
    echo    '<div class="content">
                
                <div class="center">
                    
                    <h1>
                        Referenciáim
                    </h1>
                    
                    <p>
                        Ide kerülnek azok a linkek, amely oldalakat én fejlesztettem.
                    </p>
                    
                    <hr />
                    
                    <p>
                        Innen lehet majd letölteni az aktuális CV -met...
                    </p>
                    
                </div>
                
                <div class="left">
                </div>
            
            </div>';
    
?>
 


views/LoginView.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
<?php
    
    echo    '<div class="content">
                
                <div class="center">
                    
                    <h1>
                        Bejelentkezés
                    </h1>
                    
                    <form method="post" action="index.php?q=LoginController/login">
                        
                        <table align="center">
                        
                            <tr>
                                <td>
                                    <label>
                                        Felhasználói név:
                                    </label>
                                </td>
                                    
                                <td>
                                    <input type="text" name="username" />
                                </td>
                            </tr>
                            
                            <tr>
                                <td>
                                    <label>
                                        Jelszó:
                                    </label>
                                </td>
                                
                                <td>
                                    <input type="password" name="password" />
                                </td>
                            </tr>
                            
                            <tr>
                                <td colspan="2">
                                    <input class="submit" type="submit" value="Belépek" />
                                </td>
                            </tr>
                            
                        </table>
                        
                    </form>
                    
                    <hr />';
    
    if( isset( $this -> v[ "message" ] ) ) {
        echo        '<p>' . $this -> v[ "message" ] .
                        
                    '</p>';
    }
        
    echo        '</div>
                
                <div class="left">
                </div>
            
            </div>';
    
?>
 


views/FooterView.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<?php
    
    echo                '<div class="footer">
                                
                            <footer>
                                
                                <small>
                                    
                                    &copy; Developed & designed by:
                                    
                                    <b>
                                        <a href="index.php?q=SendController">
                                            Anubis
                                        </a>
                                    </b>
                                    
                                </small>
                                
                            </footer>
                        
                        </div>
                        
                    </div>
                    
                </body>
            </html>';
    
?>
 

(#10) Tamás válasza erre: (#9) anti 2014.01.27. 19:49

Tamás
Tamás
Kezdő

Kedves anti!

Nagyon köszönöm a válaszod! Az utolsó tipp kihúzva, végig próbálom amiket írtál!

Köszönöm még egyszer!

Tamás

(#9) anti válasza erre: (#8) Tamás 2014.01.27. 15:51

anti
anti
Kezdő

Szia!

A problémád úgyszólván elég "általános". Ez azt jelenti, hogy legalább négy féle oka és megoldása lehet.
Ideális az lenne, ha sikerülne konkrét kódrészletre behatárolni a probléma forrását.
Addig is pár tipp:
- A tartalom nem kerül rögzítésre az adminon mentéskor
- A menüpont linkje nem jó, nem egyezik a kívánt tartalom URL-jével
- Megjelenítés során nem jó a lekérdezés, ami a tartalom betöltésére irányul
- A tartalom benne van az oldal forrásában, de CSS-ből el van tüntetve az adott réteg, amiben van.

Listázás:  Idő szerint:
1 | 2Előre


© 2006-2026 PHP-Script.hu, Minden jog fenntartva!
Design: Rácz Gergely, Oldalmotor: Rácz Gergely
Impresszum - Oldaltörténet - Oldalszabályzat