Jump to content
GSForum - Segélyvonal

PHP kérdésem van


Recommended Posts

Posted

Megnéztem a kódot, nem igazán értem, hogy minek komplikálod ennyire túl. Amúgy HTML elemeket teszel be a DTD elé!

 

Csinálj egy login.php-t, ami önmagát hívja meg post-tal, a kód pedig ellenőrízze, hogy van-e ilyen felhasználó, ha igen, akkor a $_SESSION-be tedd be a felhasználónevet.

 

Csinálj még egy logout.php-t, ami meghívja a session_destroy-t.

 

Legyen egy loginellen.php, amiben a session_start van, ezt include-dal tedd be az összes oldal (a login, logout is) elejére. A $_SESSION-ben legyen egy változó, hogy be van-e jelentkezve. Ha igen, akkor hozzászólhat, a név pedig ott van a $_SESSION-ben, ha nem, akkor nem szólhat hozzá, csak vendégként böngészhet.

Posted

Köszönöm a segítséged, tényleg nagyon segítõkész vagy, de ez a fórum, amit írtam, nem egészen így mûködik. De tényleg köszönöm.

Posted

Ez alapján szerintem akkor is menni fog. Hajrá! Ha gond van, itt leszünk.

Posted

Igazából nem értem a problémát.

 

Ha megoldottad azt, hogy ha valaki belép, akkor az n ideig belépve is marad, és mindezt egy cookie-ba lerakott infóból tudod, amit nyilván ellenőrizni kell minden oldalletöltésnél, akkor ugyanebbe a cookie-ba azt is lerakhatod, hogy hogy hívják az illetőt, aki belépett, és meg van oldva a probléma.

Posted

Uh, tényleg. De szerintem az én megoldásom akkor is sokkal egyszerűbb és áttekinthetőbb. Arról nem is beszélve, hogy a sütiket kézzel át lehet írni.

Posted

Egyszerűbb, hogy szedjük szét a meglévő programot x+1 különböző részre csak azért, hogy megjegyeztessük vele a belépő nevét? :huh::P

 

Ha meg attól félünk, hogy valaki nekiáll kézzel cookie-t szerkeszteni, tároljuk el a név mellé a jelszót is, persze jól elkódolva, és akkor egyből megvalósítottuk az "Emlékezz rám" funkciót is, lásd ez a fórum. ;)

Posted

Én biztosan szétszedném. :) Meg szerintem a négy kód együtt is rövidebb, mint amit Õ írt. :)

Posted

Ez mind lehet igaz, de hogy nem egyszerûbb annál, mint hogy két helyen belejavítson a mostani kódjába kb. fél sort, az biztos.

Master_of_Puppets2
Posted

Az elképzelhetõ, hogy szerverprobléma, ha mindegyik echo() vagy print() függvényem meghívása után megjelenik még egy 1-es számjegy is? :S

  • 3 weeks later...
Posted

Az alábbi probléma megoldására kérnék ötleteket.

 

Adatbázisban van egy menu tábla aminek egy aktiv oszlopa, aminek 2 értéke lehet 'i' vagy 'n'.

Na egy while ciklussal iratom ki egy form-ban hogy tudjam az értékét változtatni.

 

<input type=\"radio\" name=\"{$j_tomb['menu_id']}\" value=\"i\">
<input type=\"radio\" name=\"{$j_tomb['menu_id']}\" value=\"n\">

 

Kérdésem a következõ:

Hogyan tudom felvinni az változtatott adatokat, ha a radio gomb name értéke dinamikussan változik.

 

Posted

Készítesz egy másolatot a tömbről, a submit-ban meg összehasonlítod a kapott adatokkal. Vagy valamit rosszul értettem?

Posted

Azt hiszem bénán fogalmaztam.

 

Eddig ha adatot akartam felvinni, módosítani, tudtam azt hogy milyen adatot várok.

 

PL:

$adat1=trim($_POST['adat1']);
$adat2=trim($_POST['adat2']);

Update... oszlop1=$adat1, oszlop2=adat2....

 

Viszont most nem tudom hogy milyen adatokat írok ki mert a kiíratás is feltételekhez kötött. Valamint semmi nem garantálja, hogy minden ID (amire hivatkozok jelen esettben) meglesz. Mivel lehet törölt sor, vagy olyan ami nem felel meg a kiíratási feltételeknek.

Tehát először meg kéne néznem hogy létezik-e az adat, majd ha igen akkor módosítani a táblában...

Posted

Szerintem a legegyszerûbb az lenne, ha egy for each ciklussal végigszabnál a _POST tömbön és a változók nevébõl kiszednéd, hogy mit kaptál.

Posted

Na akkor most azt nem tudom, hogy mit írjak a for each ciklusba a post tömbnek. Mivel a neve is változó.

 

Form:

<input type=\"radio\" name=\"{$j_tomb['menu_id']}\" value=\"i\">
<input type=\"radio\" name=\"{$j_tomb['menu_id']}\" value=\"n\">

 

Feldolgozás:

foreach ($_POST['naidemitírjak'] as $x){
            Update.... adat1=$x .....
        }

Posted
foreach ($_POST as $neve => $erteke) {
    echo "\$_POST[$neve] => $erteke.\n";
}

Posted

Ez nem annyira tûnik célravezetõnek, ha több rádiógombos tömb is érkezik $_POST-ban! ;)

Posted

Mert? Kóddal generálja a vezérlõk neveit, nehogymár ne ismerje az algoritmust, ami a neveket készíti. Abból meg vissza lehet fejteni, hogy az mi is az adatbázisban.

Posted

Konkrétan tökéletes lett. :)

 

Köszönöm.

 

és így:

    if(isset($_POST['jog_mod'])){
        
            foreach ( $_POST  as $kulcs => $ertek){
            
                $sql=dbQuery("UPDATE menu_jog SET engedely='".db_up($ertek)."' WHERE menu_id='".db_up($kulcs)."' AND admin_id='".$_POST['user_id']."' ");    
            }

        }

Master_of_Puppets2
Posted

Van ez a cukker PHP kódom:

 
<?php 
   switch ($_GET['s']) {
   
    case '1': 
              switch ($_GET['sp']) {
              
               case '1': $f11=include_once("writings1.php");
                         print($f11);
                         break;
    
                default: $w_def=include_once("writings.php");
                         print($w_def);
            }
             
    case '2': $f2=include_once("critique.php");
             print($f2);
             break;
             
    case '3': $f3=include_once("gallery.php");
             print($f3);
             break;
             
    case '4': $f4=include_once("news/display.php");
             print($f4);
             break;
             
    case '5': $f5=include_once("security.php");
             print($f5);
             break;
            
    case '6': $f6=include_once("beers.php");
             print($f6);
             break;
             
    case '7': $f7=include_once("useful.php");
             print($f7);
             break;
             
    case '8': $f7=include_once("contact.php");
             print($f8);
             break;
             
    default: $def=include_once("default.php");
              print($def);
              
    }
?>

 

A bajom csak annyi vele, hogy amikor a ../?s=1&sp=1 URL-el meghívom a writings1.php nevû oldalt, akkor annak tartalmához hozzáveszi a critique.php-ban lévõt is. :pislog: Hibaüzenetet nem ad, mûködik minden de miért adja még azt is hozzá? Mit hagytam le?

Posted

A breaket a külső case '1': végéről?

 

Az megvan, hogy ha a switch-case szerkezetben nem raksz breaket a case feltétel1 végére, akkor a végrehajtás automatikusan folytatódik a case feltétel2-n, akkor is, ha a switchben levő változó értéke nem felel meg feltétel2-nek?

 

---

 

@arpsoft: ja, nem ez volt a problémám. Azt hittem, hogy a $_POST['akarmi'] értéke esetleg egy tömb lesz, azt meg nehéz echózni.

Master_of_Puppets2
Posted

:hátpersze:

 

A break a belsõ switch lefutása után megoldott mindent. :)

Posted

Helló!

 

Olyan kódot keresek, amivel egy fájlban megkeres egy bizonyos részt és azt kitörli. Tehát el szeretném érni, hogy például egy div 3 napig bent legyen egy forrásban, aztán kitörlődjön a forrásból.

Remélem van ilyen, bármilyen ötlet érdekel.

Posted

Bocs, hogy csak most válaszolok, de azt hittem, hogy majd valaki hozzáértõbb tudja a (legjobb) megoldást.

 

Én egy egyszerû include()-dal csinálnám, ami egy megadott idõpontig include-ol egy fájlt, utána meg nem. A fájl tartalma meg semmi más ne legyen, csak az az adott DIV. Szerintem nem túl bonyolult, de elképzelhetõ, hogy van még ennél egyszerûbb út is.

 

(Tehát, a forrás eredetileg ne tartalmazza a DIV-et! Csak hívja meg, amíg szükség van rá.)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...