Autor | Zpráva | ||
---|---|---|---|
adrian123 Profil |
#1 · Zasláno: 9. 2. 2014, 18:15:26
Zdravím ...
Začínam sa učiť php , ked som už zdolal html a css... no a vytvoril registraciu a prihlasenie cez php + mysql ...všetko funguje..dal som to na stránku do pravého panelu a tiež to funguje :D... Lenže problém mam v cyklickom presmerovaní ...Chcel by som totiž ,aby po tom , čo sa prihlásim sa mi zobrazí na tom istom mieste: Nie prihlasovací formulár ale DB Údaje o uživatelovi... btw...skúšal som to cez podmienky else ... ale mi to nefunguje .. vkuse hádže chybu... Ďakujem vopred za pomoc... |
||
Martin02 Profil |
adrian123:
Chtělo by to více popsat problém - jakou chybu to háže atd. Co něco takového? <?php session_start(); ... if ($uzivatelZadalSpravnaData) { // pokud uživatel zadal správné data při přihlašování (zjistíš z db v řádcích výše)... $_SESSION['uzivatel'] = $IDuzivatele; // přiřaď do session jeho id } ... if (isset($_SESSION['uzivatel']) && !empty($_SESSION['uzivatel'])) { // pokud je uživatel přihlášen... // vypiš informace o uživatelovi } else { // vypiš přihlašovací formulář } ?> |
||
adrian123 Profil |
#3 · Zasláno: 9. 2. 2014, 18:54:16
No skúsil som to takto...ale chybu nehádže ..len som panel vôbec nezobrazuje :D:D
<?php session_start(); if { echo "Vitaj uživateľ <b>".$_GET['login'] ."</b>, zaregistrovaný". $cosi ['regcas']."<br>Posledné prihlasenie: ". $cosi ['regcas']."<br><br>" ; } else { <div align="center"> <form action="index.php?prihlas=1" method="post"> Login: <input type="text" name="login" size="20" maxlength="64"><br> Heslo: <input type="password" name="heslo" size="20" maxlength="64"><br> <input type="submit" value="Prihlás ma"> </form> <a href="/registracia.php"><input type="button" value="Registracia"></a> </div> } ?> |
||
lionel messi Profil |
adrian123:
Ten if je zle: if (/* podmienka */) { echo "20 riadkov kódu"; } else { echo "50 riadkov kódu"; } Resp. takto: <?php session_start(); if ((isset($_SESSION['uzivatel']) && !empty($_SESSION['uzivatel']))) { echo "Vitaj uživateľ <b>".$_GET['login'] ."</b>, zaregistrovaný". $cosi ['regcas']."<br>Posledné prihlasenie: ". $cosi ['regcas']."<br><br>" ; } else { <div align="center"> <form action="index.php?prihlas=1" method="post"> Login: <input type="text" name="login" size="20" maxlength="64"><br> Heslo: <input type="password" name="heslo" size="20" maxlength="64"><br> <input type="submit" value="Prihlás ma"> </form> <a href="/registracia.php"><input type="button" value="Registracia"></a> </div> } ?> |
||
adrian123 Profil |
#5 · Zasláno: 9. 2. 2014, 19:12:33
:) ...no je to teraz správne..zobrazuje sa mi prihlasovací formulár..., ale sa mi nezobrazí zas tie údaje z DB :/ zobrazia sa mi eventuelne na stránke
index.php?prihlas=1 ,,,, no nie v tom panely :/ -... |
||
Kubo2 Profil |
#6 · Zasláno: 9. 2. 2014, 19:13:21
lionel messi, adrian123:
Alebo inak, síce to bude menej prehľadné, ale nebude v tom taký guláš a podporujúce editory budú zvýrazňovať zároveň aj HTML kód: <?php if(podmienka) { ?> 20 riadkov HTML kódu ... <?php } else { ?> 60 riadkov HTML kódu ... ... <?php } adrian123, zapni si na začiatku scriptu vypisovanie chýb, napríklad volaním funkcie error_reporting() :<?php error_reporting(E_ALL); // ... |
||
adrian123 Profil |
#7 · Zasláno: 9. 2. 2014, 19:27:07
Kubo pekný spôsob... prvý krát som to vyskúšal..ale aj hádže chybu ohladom else..
Parse error: syntax error, unexpected T_ELSE in /data/m/e/medihelp.sk/sub/ado/panel.html on line 23 |
||
Kubo2 Profil |
#8 · Zasláno: 9. 2. 2014, 19:42:29 · Upravil/a: Kubo2
lionel messi:
Nádherný kód, končiaci fatal errorom :) adrian123: Ukáž prosím celý kód, obecne to nemá prečo hádzať chybu. |
||
adrian123 Profil |
#9 · Zasláno: 9. 2. 2014, 19:58:02 · Upravil/a: Moderátor (editace znemožněna) 10. 2. 2014, 00:12:32
NO samozrejme:)
<?php error_reporting(E_ALL); session_start(); ?> <?php if((isset($_SESSION['uzivatel']) && !empty($_SESSION['uzivatel']))) echo "Vitaj uživateľ <b>".$_GET['login'] ."</b>, zaregistrovaný". $cosi ['regcas']."<br>Posledné prihlasenie: ". $cosi ['regcas']."<br><br>" ; { ?> <?php } else { <div align="center"> <form action="/cms2/index.php?prihlas=1" method="post"> Login: <input type="text" name="login" size="20" maxlength="64"><br> Heslo: <input type="password" name="heslo" size="20" maxlength="64"><br> <input type="submit" value="Prihlás ma"> </form> <a href="/registracia.php"><input type="button" value="Registracia"></a> </div> } stále to skúšam..no nič :/ |
||
han5vk Profil |
#10 · Zasláno: 9. 2. 2014, 20:26:02
V podmienke máš jedny oblé zátvorky naokolo naviac a chýba ti otváracia zložená.
if(isset($_SESSION['uzivatel']) && !empty($_SESSION['uzivatel'])) { |
||
adrian123 Profil |
#11 · Zasláno: 10. 2. 2014, 15:08:41
No stále nič :/..už som všeličo skúšal...
teraz to mám takto: <?php error_reporting(E_ALL); session_start(); ?> <?php if(isset($_SESSION['uzivatel']) && !empty($_SESSION['uzivatel'])) { echo "Vitaj uživateľ <b>".$_GET['login'] ."</b>, zaregistrovaný". $cosi ['regcas']."<br>Posledné prihlasenie: ". $cosi ['regcas']."<br><br>" ; } else { } ?> <div align="center"> <form action="/cms2/index.php?prihlas=1" method="post"> Login: <input type="text" name="login" size="20" maxlength="64"><br> Heslo: <input type="password" name="heslo" size="20" maxlength="64"><br> <input type="submit" value="Prihlás ma"> </form> <a href="/registracia.php"><input type="button" value="Registracia"></a> </div> No lenže Údaje DB sa mi ukážu na adrese: http://ado.medihelp.sk/cms2/main.php?login=adrian&code=792937 a ten formulár na prihlasovanie sa zobrazuje aj tak po prihlásení :/ ...uz ma s toho boli hlava a riadne :D lebo podla mna to neni tažke spravit len nechapem kde je chyba a to ma vytáča :D.... |
||
adrian123 Profil |
#12 · Zasláno: 10. 2. 2014, 16:23:46
BTW:
skúšam stym už rozne veci ako napr som to dal do samostatneho panelu bez if a else... no ide to tak na polovicu :D... dal som tento kod: <? echo "Vitaj uživateľ <b>".$_GET['user'] ."</b>, zaregistrovaný". $cosi ['regcas']."<br>Posledné prihlasenie: ". $cosi ['regcas']."<br><br>" ; ?> a ukazuje mi akurát toto :D Notice: Undefined index: user in /data/m/e/medihelp.sk/sub/ado/panel.html on line 55 Notice: Undefined variable: cosi in /data/m/e/medihelp.sk/sub/ado/panel.html on line 55 Vitaj uživateľ , zaregistrovaný Posledné prihlasenie: |
||
Kubo2 Profil |
#13 · Zasláno: 10. 2. 2014, 18:08:44
adrian123:
„a ukazuje mi akurát toto :D“ Podľa toho nie je ťažké uhádnuť, že sa pokúšaš použiť parameter user z URL adresy, ktorý si do nej zrejme nepridal, a taktiež sa snažíš použiť premennú/pole $cosi , ktorú si si tiež nikde neinicializoval.
|
||
adrian123 Profil |
#14 · Zasláno: 10. 2. 2014, 20:05:19
no $cosi mam inicializovane lenze user som uz aj menil ako uzivatel alebo login ..lenze stale nic ...hram sa stym uz dlho ale nwm ..na nic som zatial neprisiel. Nevie niekto niekto este pomoct?:)
|
||
Kubo2 Profil |
#15 · Zasláno: 10. 2. 2014, 22:37:03
adrian123:
Kebyže máš $cosi inicializované, nehlási ti to Undefined variable - Nedefinovaná premenná.
|
||
adrian123 Profil |
#16 · Zasláno: 11. 2. 2014, 16:16:25
No inicializoval som ... ako vidite stale mi to hadze chybu :/
<?php $query = "SELECT * FROM users WHERE login=\"".$_GET['login']."\"" ; $cosi = mysql_fetch_array($result); echo "Vitaj uživateľ <b>".$_GET['login'] ."</b>, zaregistrovaný". $cosi ['regcas']."<br>Posledné prihlasenie: ". $cosi ['regcas']."<br><br>" ; ?> Notice: Undefined index: login in /data/m/e/medihelp.sk/sub/ado/panel.html on line 58 Notice: Undefined variable: result in /data/m/e/medihelp.sk/sub/ado/panel.html on line 59 Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /data/m/e/medihelp.sk/sub/ado/panel.html on line 59 Notice: Undefined index: login in /data/m/e/medihelp.sk/sub/ado/panel.html on line 61 Vitaj uživateľ , zaregistrovaný Posledné prihlasenie: |
||
han5vk Profil |
Keby si si preložil tie chyby, pochopil by si, v čom je problém.
-Najprv sa snažíš z GET poľa vytiahnuť index 'login', ktorý neexistuje(zrejme máš vo formulári alebo odkaze zlý názov za '?' resp. '&'). -Následne dávaš mysql_fetch_array do parametru neexistujúcu premennú $result . Zrejme si niekde zabudol riadok $result=mysql_query($query); . Toho sa týka aj ďalšia chyba a to že mysql_fetch_array nedostane resource z DB, ale null ($result nejestvuje).
-Posledná chyba je to isté čo tá prvá. mysql_* funkcie sú deprecated a budú odstránené. Používaj mysqli_* funkcie, teda napr. mysqli_query(). |
||
Časová prodleva: 10 let
|
0