
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
|

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.
|

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
|

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!
|

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.
|

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 ( ) 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...
|

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>
© Developed & designed by:
<b>
<a href="index.php?q=SendController">
Anubis
</a>
</b>
</small>
</footer>
</div>
</div>
</body>
</html>';
?>
|
|

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
|

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.
|
|