Autor | Zpráva | ||
---|---|---|---|
filda15 Profil * |
#1 · Zasláno: 19. 4. 2012, 18:17:04 · Upravil/a: filda15
Ahoj, mám definovanou proměnou
$_SESSION['jmeno'] a potřebuju jí vypsat zde: $tbl_name="test_jmeno uzivatelel"
Jak na to, aby vše proběhlo jak má? Díky všem za rady. [#1] filda15 místo jmeno uzivatele promenna session jmeno... |
||
Darkry Profil |
#2 · Zasláno: 19. 4. 2012, 18:55:12
$tbl_name = "test_jmeno ".$_SESSION['jmeno']; |
||
filda15 Profil * |
#3 · Zasláno: 19. 4. 2012, 19:01:17
takto mi to nefunguje...:-(
|
||
Again Profil |
#4 · Zasláno: 19. 4. 2012, 19:04:01
filda15:
Děkujeme za vyčerpávající popis problému - máš danou SESSION opravdu zaregistrovanou? Při výpisu proměnné $tbl_name nastane co? |
||
filda15 Profil * |
#5 · Zasláno: 19. 4. 2012, 19:12:47
na stránce mám výpis z databáze, session mi to při zápisu: <?php echo $_SESSION['jmeno'] ?> vypíše. Zobrazuje se mi tam chyba: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in line 73....
<?php while($rows=mysql_fetch_array($result)){ ?> |
||
Again Profil |
#6 · Zasláno: 19. 4. 2012, 19:16:54
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in line 73, značí špatně napsaný dotaz do databáze ...
Pokud ti <?php echo $_SESSION['jmeno'] ?> vypíše dané SESSION, tak jaký je problém vytvořit řetězec a přiřadit ho k proměnné $tbl_name ?
|
||
filda15 Profil * |
#7 · Zasláno: 19. 4. 2012, 19:20:09
to mi zase napíše tohle: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING($tbl_name="test_<?php echo $_SESSION['jmeno'] ?>"; // Table name), ale když zadánm název databáze, tak jak je v mysql, tak to běží bez problémů...
|
||
jenikkozak Profil |
#8 · Zasláno: 19. 4. 2012, 19:34:53
$tbl_name="test_<?php echo $_SESSION['jmeno'] ?>"; // Table name Můžeš sem napsat větší část svého nefunkčního skriptu? (Myšleno od uložení hodnoty do proměnné k jejímu použití.) |
||
filda15 Profil * |
#9 · Zasláno: 19. 4. 2012, 20:04:59
V loginu se to uklada takto:
<?php require_once dirname(__FILE__)."/config.php"; if (!session_is_registered("jmeno")) session_register("jmeno"); if (!session_is_registered("heslo")) session_register("heslo"); if (!session_is_registered("prava")) session_register("prava"); if (isset($_POST['submit'])) { $select = mysql_query("SELECT `jmeno`,`heslo`,`prava` FROM `uzivatele` WHERE `jmeno`='".addslashes($_POST['jmeno'])."' AND `heslo`='".md5(trim($_POST['heslo']))."'") or die (mysql_error()); $udaje = mysql_fetch_assoc($select); if (mysql_num_rows($select)==1) { # pokud je zadano platne jmeno a heslo session_regenerate_id(); # osetreni session stealing $_SESSION['jmeno'] = $_POST['jmeno']; # nastavime sessiony $_SESSION['heslo'] = md5($_POST['heslo']); $_SESSION['prava'] = $udaje['prava']; $_SESSION['email'] = $udaje['email']; header("Location: ./admin/index.php"); } else { # pokud je neco spatne, zasleme chybovy kod header("Location: ./login.php?code=401", 401); } } if (isset($_GET['logout'])) { # odhlasime se unset($_SESSION['jmeno']); unset($_SESSION['heslo']); unset($_SESSION['prava']); session_destroy(); } isset($_GET['code']) && $_GET['code']=="401" ? # pouze titulek $title = "Neautorizovaný přístup (Chyba 401)" : $title = "Přihlášení"; ?> <?php require_once dirname(__FILE__)."/../config.php"; function unauth_header() { # pouze presmerovani header("Location: ../login.php?code=401", 401); die(); } function check_user() { # kontrola uzivatele if ( isset($_SESSION['jmeno']) && isset($_SESSION['heslo']) && isset($_SESSION['prava']) ) { $select = mysql_query("SELECT `id` FROM `uzivatele` WHERE `jmeno`='{$_SESSION['jmeno']}' AND `heslo`='{$_SESSION['heslo']}'") or die (mysql_error()); $udaje = mysql_fetch_assoc($select); if (mysql_num_rows($select)!=1) { unauth_header(); } } else { unauth_header(); } } check_user(); ?> |
||
jenikkozak Profil |
#10 · Zasláno: 19. 4. 2012, 20:37:45
filda15:
A kde je v tom skriptu ten tvůj cyklus while, ve kterém se projevila chyba, kde máš dotaz, do kterého chceš vkládat hodnotu ze sessiony? A proč jsi sem vložil úplně jiný skript, než který jsem žádal? Chci ten, ve kterém máš chybu, kterou právě řešíš. |
||
Časová prodleva: 12 let
|
0