webszerkesztés és photoshop fórum - WebPillangó

WebPillangó => Programozás => A témát indította: Tupacko - 2007. 09. 07. - 22:35:32



Cím: PHP
Írta: Tupacko - 2007. 09. 07. - 22:35:32
Bármi, ami PHPval kapcsolatos!


Cím: PHP
Írta: nemo - 2007. 10. 20. - 18:45:16
Kezdő PHP-s vagyok. Eddig nem nagyon foglalkoztam ezzel a programnyelvvel, amig nem futottam össze az R. E. loginnal. Lenne egy kérésem, aki tud segítsen:
Szeretnék készíteni egy mappából fájlkiolvasot, amely tartalmát egy oldalon elhelyezett táblázatban jeleniti meg, és x időn belül frissití magát. A táblázat legyen mondjuk 3 oszlopos és kommentezni is lehessen. A kommentezés nem életbevágó. Ahogy írtam kezdő vagyok, így ezt a program jelen állapota "0".

Segítségeteket előre is köszönöm: Nemo


Cím: Szerver oldali böngésző
Írta: Tupacko - 2007. 10. 20. - 21:41:41
Szia!
Nem ajánlott dolog a szerver oldali fájlokat kilistázni, még ha azok letölthetőek sem! Én azt javasolnám, hogy inkább csak egy adatbázisban tárold a neveket, de fizikailag ne létezzenek, azon a néven, az állományok.
Ha félreértettelek és csak valami olyasmi kell, ahol számon tudod tartani az X mappában felgyűlt fájlokat, ami időnként frissűl, akkor arra is fog válaszolni valaki, csak gondoltam, hogy ez a részlet is számít a döntésben :)


Cím: Re: PHP
Írta: nemo - 2007. 10. 21. - 04:31:42
Én igazság szeint egy képfájl kiolvasot szeretnék készíteni. Tudom, hogy az internet teli van free gallery-kal, de azok mind teli vannak különböző logokkal, meg egyébb dolgokkal, ami nem biztos, hogy illik mondjuk egy szolid honlapra.
Ha valaki tud segíteni megköszönném.


Cím: PHP galéria
Írta: Tupacko - 2007. 10. 21. - 12:48:27
Szerintem a gond az lehet, hogy nem néztél eléggé szét, mivel rengeteg jó galéria van:
http://gallery.menalto.com/
http://www.dynamicdrive.com/dynamicindex4/lightbox2/index.htm
http://jquery.com/demo/thickbox/

Ha egyik sem tetszik, amit valahogy kétlek :) akkor:
Kód:
<?php
$konyvtar 
"/valami/valami2/";

if (
is_dir($konyvtar)) { //megnezem, ha letezik a konyvtar
    
if ($resource opendir($konyvtar)) { //ha megtudtam nyitani
        
while (($fajl readdir($resource)) !== false) { //szedem ki a fajlokat
            
echo "fájlnév: ".$fajl." \n"//irom ki a fajlokat
        
}
        
closedir($resource); //bezarom
    
}
}
?>


Cím: Re: PHP
Írta: ColdFly - 2007. 10. 22. - 22:56:22
Üdv Tupacko!

Lenne itt egy hír kiíró scriptem, s szeretném megoldani, hogy legyen lapozás :)
ha tudsz segíteni, kérlek bővítsd ki a kódot! :) Köszi :P

íme a kódrészlet:
Kód:

}else{

$parancs="SELECT * FROM hirek order by datum desc limit 10";
$eredmeny= mysql_query($parancs, $kapcsolat);
echo '';
echo('<p align="center"><table border="0" style="valign: middle" class="hir" width="500" cellspacing="0"  cellpadding="0">');
while ($egy_sor = mysql_fetch_object($eredmeny))
{
$_cim = $egy_sor->cim;
$_datum = $egy_sor->datum;
$_bevezeto = $egy_sor->bevezeto;

echo '<tr><td align="justify" style="font-family:verdana; font-size:11;  background-repeat: repeat-x; "><b>'.$_cim.'</b><br/><font color="#000000">'.$_datum.'</font></td></tr>';
echo '<tr><td colspan="3" align="left" class="newsmain">'.$_bevezeto.'</td>';
echo '</tr><tr><td><a href="index.php?page=news&amp;cikkid='.$egy_sor->id.'">Tovább>></a><br/><br/></td></tr>';

}
echo "</table>";
}



Cím: Oldal lapozás
Írta: Tupacko - 2007. 10. 23. - 10:41:12
Nem átírtam a kódod, hanem megmutatom hogyan kell. Ha én írom át, abból te nem tanulsz  :)
Előszöris lekérem, hogy mi a lapszám. Ha nincs, vagy nem szám, akkor az első lapról indulok. Ha túl nagy a szám, akkor mysql alapból nem ad vissza egy eredményt sem, de hiba nem történik.

Kód:
<?php

if ( isset($_GET["offset"]) && is_numeric($_GET["offset"]) ){
  
$_nrPost $_GET["offset"];
}else{
  
$_nrPost 0;
}

$parancs="SELECT * FROM hirek order by datum desc limit ".$_nrPost.", 10";

?>

Itt van egy szimpla lapszám kiírás. Az {osszpost} helyére kérd le a mysqlből, hogy hány darab üzenet van összesen.

Kód:
<?php
  
for ( $i=0$i ceil({osszpost}/10); $i++ ){
    echo 
"<a href=\"index.php?offset=".($i*10)."\">".($i+1)."</a> ";
  }
?>

Ha valami nem működik, írjál és átnézem még. Előfordulhat, mert csak megírtam notepadba, mert most nem áll egyéb a rendelkezésemre.


Cím: Re: PHP
Írta: TreamX - 2007. 10. 25. - 12:54:57
Üdv.  Igazából az a gondom, hogy az indexemet php-vá akarom "tenni" de már minden meg van benne irva, és ha php kén mentem el, sok dolog megváltozik. ebben kérnék segitséget.
Pl hiába irtam be cssbe hogy color: #000000; ,ha felé viszem az egeret, mégis sárga lesz :(

itt: http://treamx.extra.hu/index.php


Cím: Semmi koze
Írta: Tupacko - 2007. 10. 25. - 15:15:42
Semmi koze, hogy a kiterjesztes html, htm, vagy php. A php szerveren fut. A generalt adat html lesz. Valamit elirtal esetleg, az lehet a gond. Nem tudja befolyasolni a kiterjesztes a weboldal tartalmat.


Cím: Re: PHP
Írta: TreamX - 2007. 10. 25. - 19:39:42
Töltöttem le egy php login rendszert, kaptam is hozzá segítséget naggyából működik. Csak miután bejelentkezel, egy teljesen új, designtelen oldalra lép. azt kéne valahogy megoldani, hogy ha bejelentkeztél a bejelentkezés helyén legyenek
Üdvözöllek treamx a tagok részlegben
Kijelentkezés. | Összes tag! | Profilod.
ezek, és ha ezek közül menüre kattintok, akkor az meg a hírek helyén jelenjen meg.


Cím: Látatlanban nem lehet segíteni
Írta: Tupacko - 2007. 10. 25. - 21:14:24
Sajnos, ha nem vagy konkrétabb, akkor nagyob segítséget nem tudok nyújtani, mint hogy:
ha be van jelentkezve, akkor írd ki a dolgokat. Gondlom sessionben menti a dolgokat, szóval könnyű ellenőrizni, hogy be van jelentkezve.


Cím: Re: PHP
Írta: TreamX - 2007. 10. 25. - 21:21:49
Szóval akkor itt lenne az alap oldal: http://treamx.extra.hu/
Ha bejelentkezel akkor meg ez jön ki: http://treamx.extra.hu/php/login/
(mármint ha regelve vagy)
És ezt a részt kéne berakni
http://treamx.extra.hu/ - bejelentkezés helyére, ha pedig rákattint
Kijelentkezés. | Összes tag! | Profilod.
Valamelyikre akkor az a
http://treamx.extra.hu/ hírek helyén jelenjen meg


Cím: PHP szerver oldalon fut
Írta: Tupacko - 2007. 10. 25. - 22:26:46
Csak arra nem gondoltál, hogy PHP szerver oldalon fut. A linkekkel semmit nem segítettél. :( Esetleg, ha megadnád, honnan töltötted le a beléptetőt.
A megoldást abban látom, hogy megkeresed az oldalt, ami a belépés után jön be, és beírod, amit meg szeretnél jeleníteni.


Cím: Re: PHP
Írta: TreamX - 2007. 10. 26. - 09:22:10
http://php-script.hu/index.php?old=phpscript.php&katid=10&id=92 innen töltöttem le.

Ebben van alapból admin menü, és arra gondoltam h majd egyszer kikéne ezt ugy fejleszteni h ebből az adimnból már lehessen a hírt irni stb...


Cím: Re: PHP
Írta: Tupacko - 2007. 10. 26. - 11:00:55
Sajnos nincs időm más munkáját átírni és nem is nagyon szeretem, nem szép dolog. Én azt tanácsolom, hogy keresd meg a megfelelő helyet és oda írd be amit szeretnél, vagy töltsél le valamilyen CMSt vagy blogot és inkább annak készíts egy sablont, ha még nem tudod elég jól a PHPt, hogy eldöntsd, mit hova kell beszúrni.


Cím: Re: PHP
Írta: TreamX - 2007. 10. 26. - 11:30:36
persze, nem is gondoltam rá, hogy Te ird át vagy csináld meg!


Cím: Re: PHP
Írta: Csiga - 2007. 10. 29. - 22:20:19
Kód:
if($_POST[kuldes]){
$query = "UPDATE hirek SET bekuldo =".$bekuldo.", hircim = ".$hircim.", hirszoveg = ".$hirszoveg.",  WHERE hirek.id = ".$id." LIMIT 1 ";
mysql_query($query);
}

Volna egy ilyen kódom, de valamiért nem akarja updatelni az adatbázist. Hol lehet a hiba?
Valaki tud segíteni?


Cím: MySQL update PHPból
Írta: Tupacko - 2007. 10. 29. - 22:31:04
Sajnos több hiba is akad:
1. így döntsd el, hogy van vagy nincs igény az updatere:
Kód:
if ( isset($_POST["kuldes"]) ) ...
Ha nem azt nézed, hogy van-e megfelelő változó, abban az esetben, ha nincs ilyen változó, akkor hibát ad, illetve ha nem True, akkor megint csak nem fog belépni (igaz, beállítás függő, van, hogy csak a 0 és a false az az érték, amire nem lépik be az if-be).
2. a tömbben a kulcsot, ha szöveg, akkor tedd vagy aposztrófok közé vagy idézőjelek közé
3. ez mar nem szintakszis, de jo volna levedni az adatbazisba beirt ertekeket strip_tags-szel vagy htmlentities-szel


Cím: Re: PHP
Írta: Csiga - 2007. 10. 29. - 22:44:27
Az általad leírt módon sem megy sajna :(


Cím: Re: PHP
Írta: Tupacko - 2007. 10. 29. - 22:53:41
Meg van a hiba, ami fölött átcsúszott a figyelmem. Nem kell vesző a végére:
Kód:
hirszoveg = ".$hirszoveg.",


Cím: Re: PHP
Írta: Totya - 2007. 10. 30. - 23:51:01
Töltöttem le egy php login rendszert, kaptam is hozzá segítséget naggyából működik. Csak miután bejelentkezel, egy teljesen új, designtelen oldalra lép. azt kéne valahogy megoldani, hogy ha bejelentkeztél a bejelentkezés helyén legyenek
Üdvözöllek treamx a tagok részlegben
Kijelentkezés. | Összes tag! | Profilod.
ezek, és ha ezek közül menüre kattintok, akkor az meg a hírek helyén jelenjen meg.

Szvsz szedd külön a bejelentkezést és a regisztrációt.
Az oldal tartalma legyen div-ben, get-el pedig linkben add át, mit akarsz benne megjeleníteni.

A kérdéses div-et így tudod feltölteni:

Kód:
if (isset($_GET['id']) and $_GET['id'] != '')
{
if (is_file($_GET["id"].".php"))
{
include($_GET["id"].".php");
}
else
{
include("error.php");
}
}
else
{
include ("default.php");
}

Ezután így hivatkozol pl: a regisztrációs oldalra, ha az reg.php: index.php?id=reg
és így szépen megjelenik az adott div-ben.
De így betöltheted a menük alatti részeket is az adott div-be, pl: index.php?id=munkaim

--

De látom, még nem megy a reg :)
Akkor nem késő szólnom, hogy minden bejövő adatot ellenőrizz le.
e-mail-hez sem csak annyit írunk, hogy valós címet adj meg, hanem megnézzük, az-e :)

Kód:
if (eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$",$email))

Ha nem, visszadobjuk, újra próbálkozhat.

Szerk. (Tupacko): nem írunk két hozzaszólást egymás után, van szerkesztés gomb, vagy gondoljuk meg mit írunk és írjuk le azt egyszerre :) Fórum szabályzat  ;)


Cím: Re: PHP
Írta: Totya - 2007. 10. 31. - 17:46:33
OFF: nem hinném, hogy ez egy ilyen "aktív" fórum esetében olyan hatalmas nagy gond lett volna, főleg, hogy a segítő szándék dominált.
Ha mégis, akkor köszönöm a lehetőséget, viszlát :)


Cím: Ne essen sértődés
Írta: Tupacko - 2007. 10. 31. - 18:18:22
Ne essen sértődés, nem leszólás volt. Tudom, nem a legakítvabb a fórum, de majd kialakul, legalábbis remélem. Azért szóltam, mert másoknak is szóltam és az elkövetkezőkben is szólni fogok, mivel ha valakinek nem szólok, akkor a többiek megmondják, hogy bezzeg XYZvel kivételt teszek. Egyszerü kis fórum szépségápolás.
Sajnálom, ha megsértettelek.  :-\


Cím: Tudom,hülye vagyok :)
Írta: Balou - 2008. 01. 10. - 20:41:11
Sziasztok!

Lenne egy eléggé fontos kérdésem...de előre leszögezem, IQ negatív vagyok a PHP-hez,és sajna asszem ez jódarabig így is fog maradni :( (Ezzel azt akarom mondani,hogy kicsit szájbarágós válaszra lesz tán szükség :D )

Szóval...van egy bolt weboldala..határozottan nem webshop! Viszont ki vannak rakva a termékek..most épp egy táblázattal,de így baromi nagy,stb..és azt szeretném kérdezni,hogy hogyan lenne a legegyszerűbb megoldani egy php-s admin feladatkört ehhez?
Azt már megszültem,hogy valószínűleg az alábbi mezőkre lesz biztos szükség az adattáblámban: termeknev,ar,kategoria.És gondolom kell egy id és kulcsnak meg indexnek..
És itt elakadtam..gondolom egy sima csatlakozás kell,meg egy form aztán jóéjszakát...aham,viszont letöltöttem egy csomó leírást iylen téren,és bármelyik kódjait néztem,localhoston nem műköldtek :S (easyphp 1.7 ill 1.8 alatt)


Cím: Re: PHP
Írta: Tupacko - 2008. 01. 10. - 23:00:27
Húú, én azt tanácsolnám, hogy amíg nincs egy jó PHP/MySQL alapod, addig ne nagyon vágd a vejszéd ekkora dologba. Egy webshop nagy munkával jár. Inkább elszőször kisseb dolgokat próbálj megvalósítani, aztán jöhet a nehezebb fele is a dolgoknak. Ne érts félre, nem lebeszélni akarlak csak, ha nem értesz a PHPhoz és a MySQLhez, akkor sajnos nem megvalósítható.
Jó tanulást!


Cím: Re: PHP
Írta: Balou - 2008. 01. 11. - 00:28:24
Szia!

Ez az,hogy én kezdeném alapabb dolgokkat is,csak perpill 1 időpont van,amiokr tudok gyakorolni: a meló ideje :D Mert kevés melónk van,van szabad időm bent..viszont a net behalt,valszeg egy jóideig nem is kapjuk vissza...és localhoston valahogy nem szokott stimmelni a php-zás :S
És ez nem konkrét webshop..csak egy adatbázisra épülő terméklista...szal nem lehetne online rendelni,meg ilyenek..( az íjászat valahogy nem az az ág,ahol nagy kereslet lenne webshopra :D )


Cím: Re: PHP
Írta: Tupacko - 2008. 01. 11. - 09:28:39
Ha jol ertem, akkor csak ki akarod listazni egy adatbazis tartalmat, amit majd a kello keppen formalssz XHTML es CSS segitsegevel. A megoldas a kovetkezo:
1. csatlakozol az adatbazsihoz
2. kivalasztod az adatbazist
3. letrehozod a lekerest (sql tudas szukseges, alapok lekeres az ilyen: SELECT oszlop_nev{[, oszlop_nev2]} FROM tabla_nev{[, tabla_nev2]} )
4. kiiratod HTMLbe
5. lezarod a kapcsolatot

Ha nem tudod, hogy is van ez, itt talalsz utbaigazitast: http://webpillango.org/kategoria/adatbazis-kezeles/mysql/

A localhostos dolog tobb ok miatt is nem mukodhet jol, pl. nem jok a php/apache/mysql beallitasaid vagy csak egyszeruen nem jol hivatkozol. Pontosan miben jelentkezik a gond?


Cím: Re: PHP
Írta: sure - 2008. 01. 11. - 13:50:02
Sziasztok!

Letöltöttem egy PHP-kódot, ami a látogatókat számolja IP-cím alapján. Minden oké, de csak odáig jut el vele, hogy az IP-címet beleírja a fájlba, de azt már nem írja ki, hogy mégis hányan látogattak!. Íme a kód:
Kód:
<?
/* Just put this code into your index page, and put $unique_ip wherever you want the counter number.  Be careful because the ip list file must be world changeable.
  this is just a quick and dirty.  If you feel that you want to flame me for this, don't bother,I know it sux.
  Thanx,

  joe

*/




//-------------------------------------------------------------------begin ip_filter
 function ip_filter($ip_array, $ip_number)
 {
  //This function checks if $ip_number is in an array of IP addresses
  //parameters = an array of ip addresses and an IP address
  //returns the ip address if the address is not already in the array
  //returns 999 if the ip address is in the array
  $ip_add=0;
  for($n=0;$n<count($ip_array);$n++)
    {
      if($ip_add != 999 and $n > 0)
          {
          if(strcmp(trim($ip_array[$n]), $ip_number) == 0)
            {
              $ip_add=999;
            }
          else{$ip_add = $ip_number;}
         }
    }
   global $unique_ip;
   $unique_ip=count($ip_array);
   return($ip_add);
 }
 //-------------------------------------------------------------------end of ip_filter



 //------------------------------------------------------------------begin ip_list_read
 function ip_list_read($read_file)
 {

  if($counter_file = fopen($read_file, "r+"))
  {

    $p=0;
    while(!feof($counter_file))
    {
      $p++;
      $counter_file_field[$p] = fgets($counter_file, 1024);

    }
  }

  fclose($counter_file);
  return($counter_file_field);
  }
  //------------------------------------------------------------------end of ip_list_read


  //-------------------------------------------------------------------begin ip_array_write
  function ip_list_write($file_name, $ip_number)
  {
  //
  //
  //
  //           as of now the file that keeps the ip list must be created, but
  //            it would be easy to change the switch on the fopen() function.
  //
  //
  //

    if($counter_file = fopen($file_name, "a"))
    {
      if($ip_number != 999)
      {
        fwrite($counter_file, $ip_number . "\n");
      }
    }

    fclose($counter_file);
  }
  //------------------------------------------------------------------end of ip_list_write


$z=ip_list_read("counter.txt");
$ip_address=$REMOTE_ADDR;
$y=ip_filter($z,$ip_address);
ip_list_write("counter.txt",$y);



//------------------------------------------------------------------------------------------end of counter code---------------------------------------------
?>

Ha valaki tud, segítsen! Annyira nagyon nem értek a PHP-hez :) A kód szerintem jóképű, eddig nem angyon találtam olyat, ami IP alapján megy és működne. Van egy másik is, az ki is írja, de örökké egyest ír ki, bárki nézi is meg az oldalt. Ha meg a számlálófájlba beírok egy konkrét számot, akkor naná hogy az nem fog változni. Előre is kösz a segítséget!


Cím: Re: PHP
Írta: Tupacko - 2008. 01. 11. - 15:16:01
Azt írja a kód elején található leírás, hogy tedd oda a $unique_ip változót, ahol megszeretnéd jeleníteni az online látogatók számát. Ezt PHPval a következő képpen írathatod ki:
Kód:
<?php echo $unique_ip?>
vagy
Kód:
<?= $unique_ip ?>
Más módszer is van, de ezek a leghasználotasabbak és ezek biztosra müködnek.
Sok sikert!


Cím: Re: PHP
Írta: Balou - 2008. 01. 11. - 15:45:45
Ha jol ertem, akkor csak ki akarod listazni egy adatbazis tartalmat, amit majd a kello keppen formalssz XHTML es CSS segitsegevel. A megoldas a kovetkezo:
1. csatlakozol az adatbazsihoz
2. kivalasztod az adatbazist
3. letrehozod a lekerest (sql tudas szukseges, alapok lekeres az ilyen: SELECT oszlop_nev{[, oszlop_nev2]} FROM tabla_nev{[, tabla_nev2]} )
4. kiiratod HTMLbe
5. lezarod a kapcsolatot

Ha nem tudod, hogy is van ez, itt talalsz utbaigazitast: http://webpillango.org/kategoria/adatbazis-kezeles/mysql/

A localhostos dolog tobb ok miatt is nem mukodhet jol, pl. nem jok a php/apache/mysql beallitasaid vagy csak egyszeruen nem jol hivatkozol. Pontosan miben jelentkezik a gond?

Egen,ez a része stimt is,nekem az "adatbevitel" része az,ami kérdéses kicsit,de gondolom ez csak azért,mert szar a localhost..ami azt a hibát csinálja,hogy mindig kiírogatja,hoyg nincs ilyen változó beállítva..és ezt csak az űrlapos kódoknál..tehát csinálok pl egy tök egyszerű formot,1 mezővel,meg egy submittal,úgy,hogy ha rányomok a submitra,akkor a FORM actionjében megadott feldolgoz.php kiíratja a beírt szöveget..ehelyett kiírja,hogy nincs ilyen változó,pedig megnéztem,nem gépeltem el...és minden ilyennel ezt csinálja..


Cím: Re: PHP
Írta: sure - 2008. 01. 11. - 18:31:42
na, köszi!  ;) műxik is, de az első 3 frissítésnél beleszámolja az én ipmet, de utána már nem. Az vajon mér van


Cím: Re: PHP
Írta: Tupacko - 2008. 01. 11. - 18:52:47
Balou: a localhost nem szar, csak nem nem vettel figyelembe egy aprosagot, megpedig azt, hogy alapbol nem veszi at (biztonsagi okok miatt) $ez-postban-jott, $ez-getben-jott es hasonlo valtozokat, hanem a kovetkezo keppen kell hivatkozz ra: $_POST['ez-postban-jott'], $_GET['ez-getben-jott']
sure: te is latogato vagy, bar az furcsa, hogy csak harom frissitesig


Cím: Re: PHP
Írta: Balou - 2008. 01. 12. - 00:22:40
Aham..:) Értem..de akkor miért nem találtam sehol se említést erről 5 php tanulmányban sem? :( Nem értem... De most akkor egy hülye kérdés..csak localhoston van ez így,vagy élesben is?


Cím: Re: PHP
Írta: Tupacko - 2008. 01. 12. - 12:53:24
Balou ... localhost is normal server ... szoval, ahol olyan a beallitas ugy van, ahogyan azt mondtam. Van ahol lehet direkt valtozot is kerni, van ahol csak a tombokbol lehet kiszedni. Mindenkeppen ajanlom, a tombbol kiszedos modszert. Hogy miert nem irta sok leirasban, azert mert ez eleg nyilvanos dolgonak szamit. Vegulis mukodik, ahogyan irtam?


Cím: Re: Programozási alapelvek
Írta: TreamX - 2008. 02. 13. - 16:14:58
Sziasztok. Elég nagy kéréssel/kérdéssel fordulok hozzátok. Kezdő php-s vagyok, de az oldalamra kéne vmi login rendszer. A regisztráció már megvan, azt félig "letöltöttem" de átis alakitottam néhány dolgot, van benne 1 hiba. Leginkább a login része kéne. Nem azt kérem, hogy egy kész kódot írjatok le, csak hogy naggyából mit/hogy kéne csinálnom.

Fúú, ezt nem ide akartam, kérlek tegye át vki a PHP topicba  :-X


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 13. - 16:51:36
Ez talán segítségedre lesz: http://www.tutorial.hu/login-rendszer-honlapra/


Cím: Re: PHP
Írta: TreamX - 2008. 02. 13. - 17:06:36
Hát igazából, nemtudtam megcsinálni :(

Egy elképzelésem van, csak megvalósítani nemtom, meg lehet hogy nemjó, de azé leírom.

Szóval ugye, az lenne az első, hogy kiolvassa a nick táblából, a regisztrált tagokat.
Ha valaki belép, akkor megnézi hogy szerepel e a táblába, ha igen akkor ugye továbbmegy.
Ha nem, akkor vagy a jelszó, vagy a felhasználónév nem egyezik, vagy nincs.
Aztán ha bejelentkezett akkor pedig kiirja a lehetőségeket (Profil, Privát üzenetek, stb..)


Cím: Re: PHP
Írta: TreamX - 2008. 02. 13. - 17:52:00
Megpróbáltam csinálni egy "Elfelejtetted a jelszavad?" részt...
szerintetek  ez a kód jó? Bocsi ha nagy hibák vannak benne, kezdő vagyok :)
Kód:
<?php 
print "<form method=post action='index.php?page=kuld'>";
print 
"<ul class='ulreg'>Felhasználóneved: <input type=text name='nick'></ul>";
print 
"<ul class='ulreg'>E-mail címed: <input type=password name='mail'></ul>";
print 
"<ul class='ulreg'><input type=submit name='mehet'></form>";
?>

<?php
include ("config.php");
$table mysql_query("SELECT * FROM nick (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nev varchar(20), msn varchar(20), weboldala varchar(30), jelszo varchar(50), mail varchar(40))");  
$ellenoriz mysql_query("select nev from nick where nev = '$nick'");  
$ellenoriz2 mysql_query("select mail from nick where mail = '$mail'");  
$szam mysql_num_rows($ellenoriz);  
$szam2 mysql_num_rows($ellenoriz2);
if ( 
$nick == "" && $mail == "" )
{
print 
"A jelszót sikeresen kiküldtük!";
}
else
{
if ( 
$nick != "" && $mail != "" );
{
print 
"A felhasználónév és az email cím nem egyezik!";
}
{
if ( 
$nick == "" && $mail != "" );
{
print 
"Az e-mail cím nem jó!";
}
{
if ( 
$nick != "" && $mail == "");
{
print 
"A felhasználónév nem jó!";
}
}
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 13. - 18:26:31
Az az érzésem, hogy egyszer azt kellene meggondold, hogy is müködik az egész. Szóval, a te szkriptedben minden képpen lefut a form kiírás is, az ellenörzés is és a kiküldés is. Semmi feltétel nics, hogy mi kellene lefusson :( Az SQL sm helyes (egy része). Újraírni nem szeretném, mert abból nem tanulsz annyit, mintha te írnád újra, de leírom, én hogyan gondolkodnék:

1. megnézem, ha van valami adat küldve ( isset($_POST['valami']) )
2. ha nincs, kiírom az ürlapot
3. ha van, feldolgozom:

a. megnézem, ha van felhasználó az adott email címmel
b. ha nincs, hibát adok
c. ha van, elküldök egy linket, ahol majd meg tudja adni az új jelszavat

SQL példa:

SELECT `nev`, `email` FROM `felhasznalo` WHERE `nev` = 'a_bekuldott_nev' AND `email` = 'a_bekuldott_email' LIMIT 1

Jó szórakozást :)


Cím: Re: PHP
Írta: TreamX - 2008. 02. 13. - 19:09:21
Az a baj, az SQL -hez annyira sem értek, mint a phphez :(


Cím: Re: PHP
Írta: TreamX - 2008. 02. 13. - 19:24:23
Most itt tartok. Eddig jó úton haladok?
Kód:
<style>
@import url(css/header.css);
@import url(css/left.css);
@import url(css/news.css);
@import url(css/right.css);
@import url(css/footer.css);
</style>

<div id="news">
<div id="bannerh">
<div id="banner">
<a href="http://vtpc.extra.hu" class="bl"><img src="banners/gif/vtpc.gif" /></a>
</div>
</div>
<div id="newsheader">
<p class="newssz">Elfelejtetted a jelszavad?</p>
</div>
<div id="newst">
<p class="ntt">

<?php 
print "<form method=post action='index.php?page=kuld'>";
print 
"<ul class='ulreg'>Felhasználóneved: <input type=text name='nick'></ul>";
print 
"<ul class='ulreg'>E-mail címed: <input type=password name='mail'></ul>";
print 
"<ul class='ulreg'><input type=submit name='mehet'></form>";
?>

<?php
include ("config.php");
$table mysql_query("SELECT `nev`, `mail` FROM `felhasznalo` WHERE `nev` = '$nick' AND `email` = '$mail' LIMIT 1");  
$ellenoriz mysql_query("select nev from nick where nev = '$nick'");  
$ellenoriz2 mysql_query("select mail from nick where mail = '$mail'");  
$szam mysql_num_rows($ellenoriz);  
$szam2 mysql_num_rows($ellenoriz2);
if ( isset(
$_POST['adat']))
{
if ( 
$nick == "" && $mail == "" )
{
print 
"A jelszót sikeresen kiküldtük!";
}
else
{
if ( 
$nick != "" && $mail != "" );
{
print 
"A felhasználónév és az email cím nem egyezik!";
}
{
if ( 
$nick == "" && $mail != "" );
{
print 
"Az e-mail cím nem jó!";
}
{
if ( 
$nick != "" && $mail == "");
{
print 
"A felhasználónév nem jó!";
}
}
}
?>

</p>
</div>
</div>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 13. - 20:17:49
Nem. Meg mindig nem dontod el, ahogy irtam, hogy mikor kell ellenorizd a bekuldott adatot es mikor nem. Te minden esetben probalod ellenorizni.
Masik dolog, nem helyes igy atvenni valtozot POSTbol vagy GETbol, hogy $valtozo, hanem igy kell (sok helyen nem is mukodik direkt modon a $valtozo): $GET['valtozo'], $_POST['valtozo'] ...
Hajra!


Cím: Re: PHP
Írta: TreamX - 2008. 02. 13. - 20:23:00
Az a baj, tesztelni sem tudom.
Kiír valami hibát, de nemtom mért.
http://www.vtpc.extra.hu/index.php?module=newpass


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 13. - 20:24:19
Nem zartad be a PHP reszt? ( a file vegen van "?>" ??)


Cím: Re: PHP
Írta: TreamX - 2008. 02. 13. - 20:38:41
Van. Megpróbáltam egy új kódot irni, nagyjából magamtól. Lehet hogy nagyon nagy hülyeség.

Kód:
<?php 
print "<form method=post action='index.php?page=kuld'>";
print 
"<ul class='ulreg'>Felhasználóneved: <input type=text name='nick'></ul>";
print 
"<ul class='ulreg'>E-mail címed: <input type=password name='mail'></ul>";
print 
"<ul class='ulreg'><input type=submit name='mehet'></form>";
?>

<?php
include ("config.php");
$sql="SELECT * FROM nick WHERE nick='$nick' and mail='$mail' and pass='$password";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if(
$count==1)
{
$selectnick=$_GET['nick'];
$selectmail=$_GET['mail'];
if ( 
$_POST != "" ) {
mail($selectmail "Elfelejtett jelszó" "Próba" );
}
else
{
echo 
"Nem sikerült elküldeni az üzenetet";
}
}

?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 13. - 20:55:56
Az SQLben nem zartad be az utolso karakterlancot: $sql="SELECT * FROM nick WHERE nick='$nick' and mail='$mail' and pass='$password'";
Miert zarod be a PHPt es nyitod ujra a config beolvasasa elott? Semmi ertelme.


Cím: Re: PHP
Írta: TreamX - 2008. 02. 13. - 21:09:31
Ezeket kijavítottam, de még most is ír hibát.
http://www.vtpc.extra.hu/index.php?module=newpass


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 13. - 21:47:26
Nincs olyan tabla/oszlop, hogy "nick". Adatbazist kivalasztottad valahol? Csatlakoztal a MySQL szerverre? [a kdoban nem, de gondolom a config.phpban, ami viszon nem jo otlet ... konfiguracios fileban csatalakozni :-S ]


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 09:40:50
értem. dde ha meg itt kapcsolódok, oda is kell jelszó, akkor már simán feltörik. nem?


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 09:55:44
Nos. Sikerült annyit csinálnom, hogy lehet már regelni, meg belépni. De azt hogy tudom megcsinálni, hogy ha belépett, akkor pl védett oldalakat is lásson, és a belépés helyén pedig legyenek a lehetőségei (Admin, Kilépés, Profil stb..)

Kód:
<?php
include ("config.php");
?>

<div id="alap">
<div id="header">
<div id="login"><br />
<?php
if ($_GET[csinal] == kilep){
session_unset();
session_destroy();
}


if ( isset(
$_POST["nick"]) ){
include(
"config.php");
$nev htmlspecialchars($_POST[nick]);
$jelszo md5($_POST["pass"]);
$jelszo substr($jelszo0,20);
$lekerdezes mysql_query("SELECT * FROM tag where nev = '$nev' and jelszo = '$jelszo'");
$vanelekerdezes mysql_num_rows($lekerdezes);
if (
$vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros
{
session_register"nick" );
$time time();
$frissitmysql_query("UPDATE tag SET utlog = '$time' where nev = '$_POST[nick]'");
header("Location: index.php");
}else{
print 
'Rossz felhasználónév vagy jelszó!';
print 
'<ul class="ulreg"><form action="#" method="post">Név:<input type="text" name="nev" class="inputlogin"></ul>';
print 
'<ul class="ulreg">Jelszó:<input type=password name="jelszo" class="inputlogin"></ul>';
print 
'<ul class="ulreg"><input type="submit" value="Belépés"></ul></form>';
}

}else if (
session_is_registered(nev)){
print 
"Üdvözöllek ".$_SESSION["nick"]."<a href=index.php?csinal=kilep>Kilépés</a>";
}else {
print 
'<ul class="ulreg"><form action="index.php?module=belepve" method="post">Név:<input type="text" name="nev" class="inputlogin"></ul>';
print 
'<ul class="ulreg">Jelszó:<input type=password name="jelszo" class="inputlogin"></ul>';
print 
'<ul class="ulreg"><input type="submit" value="Belépés"></ul></form>';
print 
'<ul class="ulreg"><a href="index.php?module=reg">Regisztráció</a></ul>';
print 
'<ul class="ulreg"><a href="index.php?module=newpass">Elfelejtetted a jelszavad?</a></ul>';
}


ob_end_flush();
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 13:13:10
Elméletileg kellene müködjön, bár a session függvények elvaultak. Használd ezeket:

Kód:
<?php
  
if ( isset($_SESSION['valtozo']) ){
    echo 
"vedett";
  }

  
//session_register helyett siman:

  
$_SESSION['valtozo'] = "a valtozo erteke";
?>



Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 14:10:06
Bocsi, ezt nem nagyon értem.  :-[


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 14:43:31
Melyik reszet nem erted? :( Munkamenet kezelesrol az oldalon is van egy leiras, olvasd at, hatha segit. Tovabba meg innen is kiindulhatsz: http://www.php.net/session_register


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 15:22:33
egy magyar oldalon épp előbb olvastam át, naggyából értem miről van szó.
de megcsinálni még mindig nem tudnám. Szóval ha nembaj még kérdeznék párat. Az elképzelésem a következő:
Kód:
<?php
session_start
()
$lekerdezes mysql_query(" SELECT * FROM nick WHERE 'nick' and 'jelszo'"); //Lekerdezi a nevet es jelszot
$halekerdezi mysql_num_rows($lekerdezes"); //ez nemtom mit csinal..
if (
$halekerdezi==1) //ha a nev es a jelszo megegyezik
//itt kene valahogy tovabbkuldeni az uj oldalra, ahol mar a lehetosegei vannak kiirva, de nemtom hogy
}
else {
echo "
Rossz felhasználónévvagy jelszó"
}
session_write_close()
?>


Bár szerintem ez egy bejelentkezésnek elég kevés


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 16:13:05
Szerintem amit tenned kellene az, hogy az elolvasott anyagokat felhasználva nekiállj és próbálj írni egyszerü dolgokat, pl. elküldesz egy űrlapot egy másik oldalnak, az elmenti a munkamenetbe az adatokat és átirányít egy másik oldalra, ott kiszeded a munkamenetből. Ha ez megvan, akkor tudod kezelni a munkamenetet, és nekiállhatsz az SQL részének, hogy ott tárold az adataidat.
Semmi képpen ne tedd azt, amit úgy látok, hogy teszel: fejetlenűl, sietve, próbálsz megtanulni mindent. Nem lehet, nem vezet sehova. Rendszerezd magadban a dolgokat. Ma megtanulom ezt a részt. Ha megvan pihenek egyet. Esetleg másnap még átnézed, s megpróbálsz megtanulni mégvalamit. Egyszerre nem fog menni, vagy csak kínkeserves úton. Nem éri meg.

U.i.: már többször is figyelmeztettelek, hogy a fórum az nem chat. Légyszíves és offtopicot írj az offtopicba, használd a szerkeszt gombot és gondold át, amit írni szeretnél és csak aztkövetően írj.
Köszönöm.


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 16:32:22
Megpróbálom megcsinálni amit mondtál.
Csináltam egy index.php-t. Eddig ez jó?
Kód:
print ("<form action=lekerdez.php method=$_POST>Név: <input type=text name='nick'>");
print ("Jelszó: <input type=password name='pass'>");
print ("E-mail cím: <input type=text name='mail'>");
print ("Weboldalad: <input type=text name='oldalad'>");
print ("<input type=submit name='kuld'></form>");
$nev = $_POST['nick'];
$jelszo = $_POST['pass'];
$email = $_POST['mail'];
$website = $_POST['oldalad'];
$adatok = ("$nev" , "$jelszo" , "$email" , "$website");
if ( isset($adatok) )
{
session_register("$adatok");
}
else {
echo "Nem töltöttél ki mindden mezőt";
}
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 16:41:51
Kezdjük az elején. HTML. a form tag method attributumába nem $_POST-ot írunk, hanem simán "post"-ot.
Ne printtel írasd ki a HTML részeket, fölösleges terhelés. Írjad simán, HTMLként, és csak oda tegyél PHP tragokat, ahol tényelges feldolgozás történik.
Már írtam, mégegyszer írom. Ne használj fölösleges munkamenet függvényeket. Használd egyszerűen a szuperglobális $_SESSION[] tömböt.

Az adatok ellenörzését te nem végezted el, csak beleraktad egy tömbbe. Ne feledd, semmi is bele lehet tenni (üreshalmaz). Így lehet megnézni, egy módszer, hogy van értéke, vagy sem az adott mezőnek:

Kód:
<?php
  
if ( isset($_POST['nev']) ){ // ha van deklaralva
  
}

  if ( 
strlen($_POST['nev']) > ){ // ha valoban van benne valami
  
}

  if ( 
is_numeric($_POST['szam_mezo']) ){ // amennyiben szamot varsz
  
}
?>



Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 17:03:50
Hát nemtudom, nem sokat értettem meg belőle, a $_SESSION-ba hogy lehet többet beleirni?

Kód:
<body>
<form action=lekerdez.php method=post>Név: <input type=text name='nick'>
Jelszó: <input type=password name='pass'>
E-mail cím: <input type=text name='mail'>
Weboldalad: <input type=text name='oldalad'>
<input type=submit name='kuld'></form>
<?php
$_SESSION
['nick']=1;
$_SESSION['pass']=1;
$_SESSION['mail']=1;
if ( isset(
$_POST['nick']) && isset($_POST['pass']) && isset($_POST['mail']) )
{
if ( 
strlen($_POST['nick'] ) > && strlen($_POST['pass']) > && strlen($_POST['mail'])  > )
{
session_register();
}
else {
session_unregister();
echo 
"Nem töltöttél ki mindden mezőt";
}
}
session_write_close()
?>

</body>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 18:31:52
Ilnyenekre nincs szükség: session_write_close() ... fölösleges, ha egy szimpla tömbként kezeled a munkamenetet. Hogy írsz bele többet? Úgy, ahogy azt (ezek szerint nem tudatosan) eddig is tetted:

Kód:
$_SESSION['nick'] = 1;
$_SESSION['pass'] = 1;
$_SESSION['mail'] = 1;

//pl

$_SESSION['elsoValtozo'] = 234.34;
$_SESSION["egyeb"] = "Mas valtozo, a munkamenet tombjen belol";

$_SESSION['tomb'] = array("valami", 1, 4, 5);


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 18:38:40
Értem. viszont van valami gond a kódban, közbe át is irtam néhány dolgot benne:
Kód:
<body>
<form action=lekerdez.php method=post>Név: <input type=text name='nick'>
Jelszó: <input type=password name='pass'>
E-mail cím: <input type=text name='mail'>
Weboldalad: <input type=text name='oldalad'>
<input type=submit name='kuld'></form>
<?php
session_start
();
$_SESSION['nick']= $_POST['nick'] ;
$_SESSION['pass']= $_POST['pass'] ;
$_SESSION['mail']= $_POST['mail'] ;
$_SESSION['oldalad']= $_POST['oldalad'] ;
if ( 
$_POST['nick'] = "" && $_POST['pass'] = "" && $_POST['mail'] = "" )
{
if ( 
strlen($_POST['nick'] ) > && strlen($_POST['pass']) > && strlen($_POST['mail'])  > )
{
session_register();
}
else {
echo 
"Nem töltöttél ki minden mezőt";
}
}
?>


Nem értem, hogy ha nem irok valamelyik mezőbe, akkor mért nem irja ki hogy Nem töltöttél ki minden mezőt.
És ha már itt tartunk, hogy ne irjak kétszer, amit ide megadott adatokat, azt a (jelen esetben lekerdez.php)-ben ugy kéne kiiratni hogy:
Kód:
<?php
echo $_SESSION['nick'];
?>

De valamiért nem műküdik :(


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 18:48:29
A kiíratásnál, mielőtt ki akarsz iratni a munkamenetből, elindítottad azt session_start()-tal? Most látom, hogy a megadott kódnál is későn van a munkamenet indítás. Ha egy HTMLben munkamenetet használsz, ajánlatos azt elindítani a HTML elején, vagyis legelső sorként:

Kód:
<?php session_start(); ?>

Ebben az ifben:

Kód:
if ( $_POST['nick'] = "" && $_POST['pass'] = "" && $_POST['mail'] = "" )

te ÉSeket raktál. Na már most, ha valamelyik is nem egy üres karakterlánc, akkor nem megy be a program azon ágába. Ennek egyenes következménye, hogy nem jut el addig, ahol megnézi, ha valaminek zérus a hossza. Nézd át újból, amít régebb írtam, volt egy isset() függvény. Egyszer azt ellenörzöd, hogy létezik a változó vagy sem. Ha valami nem OK, akkor írod is a hibaüzenetet. Ha OK, akkor ellenörzöd tovább és így tovább...


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 19:11:30
úgy tudom, így kéne használni az "isset" et, de valami http://vtpc.extra.hu/teszt/ (http://vtpc.extra.hu/teszt/) mégsem jó
Kód:
<?php 
session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Teszt</title>
</head>

<body>
<form action=lekerdez.php method=post><font color="#D9090E">*</font>Név: <input type=text name='nick'>
<font color="#D9090E">*</font>Jelszó: <input type=password name='pass'>
<font color="#D9090E">*</font>E-mail cím: <input type=text name='mail'>
Weboldalad: <input type=text name='oldalad'>
<input type=submit name='kuld'></form>
<?php
$_SESSION
['nick']= $_POST['nick'];
$_SESSION['pass']= $_POST['pass'];
$_SESSION['mail']= $_POST['mail'];
$_SESSION['oldalad']= $_POST['oldalad'];
if (isset(
$_POST['nick']) && isset($_POST['pass']) && isset($_POST['mail']))
{
session_register();
}
else {
echo 
"Hiba";
}
if ( 
strlen($_POST['nick'] ) > && strlen($_POST['pass']) > && strlen($_POST['mail'])  > )
{
session_register();
}
else {
echo 
"Nem töltöttél ki minden mezőt";
}
?>

</body>
</html>
Javítva.


Cím: Re: PHP
Írta: schumika - 2008. 02. 14. - 19:50:41
Az isset-ek közé is kellene &&.


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 19:52:37
értem. így már behozza az oldalt, de most ezekután hogy lehetn megcsinálni, hogy a hibát ne irja ki csak ha már ráment a küldésre, és akkor hibás?


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 19:53:24
A session_start() még mindig nincs az állomány legelején. Nem lehet előtte semmi ... egy space sem ... nem hogy egy egész szöveg, HTML tag, stb.

Úgy ahogyan azt már írtam ... van egy olyan érzésem, hogy átfutsz a válaszon, és nem olvasod el alaposan ... a megoldás:

Megnézed, hogy volt-e ürlap elküldés isset-tel egy POSTolt változon. Ha nem volt, kiírod az ürlapot .... ha volt, akkor ellenörzöd, hogy minden mező ki volt-e töltve.


Cím: Re: PHP
Írta: schumika - 2008. 02. 14. - 20:28:02
Szóval, kb így lenne helyesen:

Kód:
<?php 
session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Teszt</title>
</head>

<body>
<?php
$_SESSION
['nick']= $_POST['nick'];
$_SESSION['pass']= $_POST['pass'];
$_SESSION['mail']= $_POST['mail'];
$_SESSION['oldalad']= $_POST['oldalad'];

if (isset(
$_POST['nick']) && isset($_POST['pass']) && isset($_POST['mail']))
{
     if ( 
strlen($_POST['nick'] ) > && strlen($_POST['pass']) > && strlen($_POST['mail'])  > )
     {
          
session_register();
     }
     else 
     {
          echo 
"Nem töltöttél ki minden mezőt<br />";
     }
}

echo 
'<form action="lekerdez.php" method="post"><font color="#D9090E">*</font>Név: <input type="text" name="nick" value="'$_POST['nick'] .'">
<font color="#D9090E">*</font>Jelszó: <input type="password" name="pass" value="'
$_POST['pass'] .'">
<font color="#D9090E">*</font>E-mail cím: <input type=text name="mail" value="'
$_POST['mail'] .'">
Weboldalad: <input type="text" name="oldalad" value="'
$_POST['oldalad'] .'">
<input type="submit" name="kuld"></form>'
;

?>

</body>
</html>

Az echot teheted máshová is, attól függ mikor akarod kiiratni.


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 20:39:57
Miért berakni a munkamenetbe az adatokat, amíg azokat nem ellenőrízted. Az adatok bemásolása a session_register(); helyére kell, a session_register(); meghívás meg nem kell.
Amúgy igen, kb. erre gondolhatot TreamX.


Cím: Re: PHP
Írta: schumika - 2008. 02. 14. - 20:52:19
Nem tudtam mi akar lenni az a session_register, inkább ott hagytam. Amúgy igazad van, ezt elnéztem :P


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 20:55:07
Köszi a kódot. Átolvasom majd jobban, és megpróbálom értelmezni hogy mért így :)
akkor a session_register(); nem is kell ebbe az oldalba?


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 20:58:50
Nem igazán :) Jó tanulmányozást.


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 21:17:16
Na áttanulmányoztam, bár ha nem írok valamelyik inputba szöveget, akkor is ugyanúgy továbbmegy, de majd megoldom. Viszont azt nemtudom, már kipróbáltam jónéhány féle képpen(?), hogy ugye továbbmeny a lekerdez.php-re, és kiirattam veled az adatokat,
de mivel echo $_POST['nick']; van, se elé nem lehet irni szöveget, vagy sortörést csinálni:
Kód:
<?php
session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Lekérdezi</title>
</head>

<body>
<?php
echo "Adataid:<br>";
echo 
$_POST['nick'];
echo 
$_POST['mail'];
echo 
$_POST['oldalad'];
?>

</body>
</html>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 21:34:18
De lehet:

Kód:
echo "amit akarsz ".$_SESSION['valami']." tovabb ...".$valtozo."egyeb ....";

// vagy siman

echo "amit akarsz ", $_SESSION['valami'], " tovabb ...", $valtozo, "egyeb ....";

OFF: ez érdekes sor, gondlkodj mielőtt írsz :)
Idézet
de mivel echo $_POST['nick']; van, se elé nem lehet irni szöveget, vagy sortörést csinálni:


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 21:53:58
A kérdésem az lenne, hogy php-ben, vagy html-ben van e olyan kód, mint ha pl WORD ben nyomnál egy Tabulátor gombot. Szóval a lényeg, hogy kiírom pl azt hogy Neved: valami és alá hogy E-mail címed: valami, akkor a "valami"-k egymás alá kerüljenek, ne "össze vissza"
Konkrét példa:
Kód:
<?php
echo "Adataid:<br>";
echo 
"Neved: $_SESSION["nick"] , "<br>";
echo 
"E-mail címed: $_POST['mail'] , "<br>";
echo 
"Weboldalad: $_POST['oldalad'] , "<br>";
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 22:06:58
Ezt nem tabbal tudod megodlani, hanem CSS-HTML kombóval. Egyszerű változat, ha táblzatba rakod a dolgokat, a neccesebb változat ha clean formokat használsz:
http://www.websiteoptimization.com/speed/tweak/forms/


Cím: Re: PHP
Írta: TreamX - 2008. 02. 14. - 22:17:41
Értem, köszönöm. Még 1 kérdés, és mára ennyi  :P :-[
Szóval az index.php kódja:
Kód:
<?php 
session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Teszt</title>
</head>

<body>
<?php
$_SESSION
['nick']= $_POST["nick"];
$_SESSION['pass']= $_POST["pass"];
$_SESSION['mail']= $_POST["mail"];
$_SESSION['oldalad']= $_POST['oldalad'];

if (isset(
$_POST['nick']) && isset($_POST['pass']) && isset($_POST['mail']))
{
     if ( 
strlen($_POST['nick'] ) > && strlen($_POST['pass']) > && strlen($_POST['mail'])  > )
     {
     }
     else 
     {
          echo 
"Nem töltöttél ki minden mezőt<br />";
     }
}

echo 
'<form action="lekerdez.php" method="post"><font color="#D9090E">*</font>Név: <input type="text" name="nick" value="'$_SESSION['nick'] .'">
<font color="#D9090E">*</font>Jelszó: <input type="password" name="pass" value="'
$_SESSION['pass'] .'">
<font color="#D9090E">*</font>E-mail cím: <input type=text name="mail" value="'
$_SESSION['mail'] .'">
Weboldalad: <input type="text" name="oldalad" value="'
$_SESSION['oldalad'] .'">
<input type="submit" name="kuld"></form>'
;

?>

</body>
</html>

És a lekerdez.php kódja:
Kód:
<?php
session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Lekérdezi</title>
</head>

<body>
<?php
echo "Adataid:<br>";
echo 
"Neved: $_SESSION['nick'] , "<br>";
echo 
"E-mail címed: $_SESSION['mail'] , "<br>";
echo 
"Weboldalad: $_SESSION['oldalad'] , "<br>";
?>

</body>
</html>

Valamiért ha $_SESSION-nal akarom kiiratni, nem sikerül, csak ha $_POST-al iratom ki :( Mért van ez?


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 14. - 22:25:24
Azért, mert ahogy az schumikának is írtam, a sessionba való érték berakás nem jó helyt van ... oda kell tedd, ahol már leellenőrízted, hogy volt adat küldve, és az jó is.

Kód:
<?php
if (isset($_POST['nick']) && isset($_POST['pass']) && isset($_POST['mail']))
{
     if ( 
strlen($_POST['nick'] ) > && strlen($_POST['pass']) > && strlen($_POST['mail'])  > )
     {
        
$_SESSION['nick']= $_POST["nick"];
        
$_SESSION['pass']= $_POST["pass"];
        
$_SESSION['mail']= $_POST["mail"];
        
$_SESSION['oldalad']= $_POST['oldalad'];
     }
     else 
     {
          echo 
"Nem töltöttél ki minden mezőt<br />";
     }
}

echo 
'<form action="lekerdez.php" method="post"><font color="#D9090E">*</font>Név: <input type="text" name="nick" value="'$_SESSION['nick'] .'">
<font color="#D9090E">*</font>Jelszó: <input type="password" name="pass" value="'
$_SESSION['pass'] .'">
<font color="#D9090E">*</font>E-mail cím: <input type=text name="mail" value="'
$_SESSION['mail'] .'">
Weboldalad: <input type="text" name="oldalad" value="'
$_SESSION['oldalad'] .'">
<input type="submit" name="kuld"></form>'
;

?>



Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 08:31:26
Lehet, hogy én vagyok nagyon kuka hozzá,de most sem jó.
Kód:
<?php 
session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Teszt</title>
</head>

<body>
<?php
if (isset($_POST['nick']) && isset($_POST['pass']) && isset($_POST['mail']))
{
     if ( 
strlen($_POST['nick'] ) > && strlen($_POST['pass']) > && strlen($_POST['mail'])  > )
     {
 $_SESSION['neved']= $_POST['nick'];
 $_SESSION['jelszavad']= md5($_POST['pass']);
 $_SESSION['email']= $_POST['mail'];
 $_SESSION['website']= $_POST['oldalad'];
     }
     else 
     {
          
echo "Nem töltöttél ki minden mezőt<br />";
     }
}

echo 
'<form action="lekerdez.php" method="post"><font color="#D9090E">*</font>Név: <input type="text" name="nick" value="'$_POST['nick'] .'">
<font color="#D9090E">*</font>Jelszó: <input type="password" name="pass" value="'
$_POST['pass'] .'">
<font color="#D9090E">*</font>E-mail cím: <input type=text name="mail" value="'
$_POST['mail'] .'">
Weboldalad: <input type="text" name="oldalad" value="'
$_POST['oldalad'] .'">
<input type="submit" name="kuld"></form>'
;

?>

</body>
</html>

Kód:
<?php
session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Lekérdezi</title>
</head>

<body>
<?php
echo "Adataid:<br>";
echo 
"Neved: $_SESSION['nick'] . "<br>";
echo 
"E-mail címed: $_SESSION['mail'] . "<br>";
echo 
"Weboldalad: $_SESSION['oldalad'] . "<br>";
?>

</body>
</html>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 15. - 11:37:59
Nem vagy kuka, csak nem figyelsz oda, amit irsz:
beirod a munkamenetbe, hogy $_SESSION['neved'] .. s ki akarod iratni a masik odalon a $_SESSION['nick']-et ...


Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 11:59:28
őőő. most sem jó  >:( :'(


Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 12:44:16
Na most egy komolyabb kérdésem lenne. Ha regisztrál valaki, akkor megkéne oldani, hogy mindenkinek kiosszon egy "ID"-t. Szóval ha én regelek először, akkor enyém az id1 a következőé id2 stb... És ha valahol kivan irva a nevem az oldalon, akkor a hivatkozás ilyen legyen: users.php?id=1 . Hogy lehetne ezt megoldani?


Cím: Re: PHP
Írta: schumika - 2008. 02. 15. - 13:46:06
Ezt már az adatbázis generálja, kinek milyen ID-t oszt le. Van egy olyan, hogy auto_increment, phpMyAdmin-ban megtalálod. Mikor beteszed az adatbázisba, a mysql generál egy ID-t, amit közvetlenül a mentés után ezzel szedhetsz ki:
Kód:
$id = mysql_insert_id($eredmeny);
Így a $id változóba benne lesz az elmentett elem ID-ja.

A továbbiakban pedig simán lekéred az ID-ját a felhasználónév és a jelszó alapján. Remélem érthető voltam.


Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 13:50:05
És akkor a kódót
Kód:
$id = mysql_insert_id($rezultat);
a regisztráció végére tegyem?  :-[
phpmyadminba pedig erre gondoltál?      id     int(11)              Nem         auto_increment

Szóval így a reg.php kódja?
Kód:
<?php
include ("config.php");
if (isset(
$_POST[nick])){
if (
$_POST[pass] != $_POST[pass1] ){
print 
"Nem egyezik meg a két jelszó!";
}else{
$nev htmlspecialchars($_POST[nick]);
$mail htmlspecialchars($_POST[mail]);
$nevegyez mysql_query("select * from tag where nev = '$nev'");
$mailegyez mysql_query("select * from tag where mail = '$mail'");
$szam mysql_num_rows($nevegyez);
$szam2 mysql_num_rows($mailegyez);
if (
$szam == ){
if (
$szam2 == ){

if ( 
$_POST[pass] != "" && $_POST[mail] != "" && $_POST[nick] != "" ){
$jelszo md5($_POST[pass]);
$jelszo substr($jelszo0,20);
$reg time();
$msn htmlspecialchars($_POST[msn]);
$yourweb htmlspecialchars($_POST[yourweb]);
$parancs mysql_query("insert into tag values ('', '$nev', '$jelszo', '$reg', '$mail' , '$msn' , '$yourweb')");
print 
"Sikeres regisztráció!";
$id mysql_insert_id($rezultat);

}else{
print 
"Nem töltöttél ki minden mezőt!";
}

}else{
print 
"Foglalt e-mail cím!";
}
}
else
{
print 
"Foglalt név!";
}
}
}
?>

<?php 
print "<form method=post action='index.php?module=reg'>";
print 
"<ul class='ulreg'><font color=#ff3d3d>A *-al jelölt mezők kitöltése kötelező!</font></ul>";
print 
"<ul class='ulreg'><font color=#ff3d3d>*</font>Név: <input type=text name='nick' value=" $_POST['nick'] ."></ul>";
print 
"<ul class='ulreg'><font color=#ff3d3d>*</font>Jelszó: <input type=password name='pass' value=" $_POST['pass']."></ul>";
print 
"<ul class='ulreg'><font color=#ff3d3d>*</font>Jelszó mégegyszer: <input type=password name='pass1' value=".$_POST['pass1'] ."></ul>";
print 
"<ul class='ulreg'><font color=#ff3d3d>*</font>E-mail cím: <input type=text name='mail' value=".$_POST['mail']."></ul>";
print 
"<ul class='ulreg'>MSN cím: <input type=text name='msn' value=".$_POST['msn']."></ul>";
print 
"<ul class='ulreg'>Weboldalad címe: <input type=text name='yourweb' value=".$_POST['yourweb']."></ul>";
print 
"<ul class='ulreg'><input type=submit name='regisztral'></form>";
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 15. - 14:03:53
Az SQLbe szólnék bele. A te kódod minden IDhez üres karakterláncot akar írni. Ez így nem jó. Az IDt automatikusan generálja az SQL. Így kellene:

Kód:
insert into tag(nev, jelszo, reg, mail, msn, weboldal) values ('$nev', '$jelszo', '$reg', '$mail' , '$msn' , '$yourweb')


Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 14:30:12
Értem, kijavítottam. Viszont mikor regisztrálok, akkor kiirja hogy ha jó, de akkor valami hibát jelez:
Notice:

mysql_query(): MySQL error: Unknown column 'reg' in 'field list' in /nfs/extra/v/vt/vtpc/wwwroot/index.php: include on line 139
in /nfs/extra/prepend/prepend.php(159) : system created function on line 36

(http://vtpc.extra.hu/index.php?module=reg)


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 15. - 15:43:38
Igen, mivel nem létezik az adott oszlop (reg) ... én nem tudom a te táblaszerkezeted, csupán egy példát adtam, hogyan kell helyesen feltölteni :)


Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 15:45:24
értem, közben már rájöttem, viszont phpmyadmin hoz nem nagyon értek, szal hogy tudnék ott hozzátenni ilyen oszlopot? :$

Megoldottam, köszi! :)

Megpróbáltam egy olyan oldalt is csinálni, ami kiirja a tagokat sorba.

Kód:
<?php
include ("config.php");
$nevek = ($_POST['nick']);
$id = ($_POST['id']);
$_SESSION['nevek'] = $_POST['nick'];
$lekerdez mysql_query("SELECT * FROM tag where nev = '$nevek' and id = '$id'");
if (isset(
$_POST['nick']) && isset($id)) {
echo 
"<tr><td>" $_POST['id'] . "<tr><td>" $_POST['nick'] . "<br>";
}
else {
echo 
"Nem talalom az tagokat! <a href=index.php?module=mail>Hiba jelentese</a>";
}
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 15. - 16:05:06
Első sorban is, örülök, hogy használod a szerkesztés gombot :)
A szktripted logikája nem épp a legjobb. Minek az SQL lekérdezés, ha úgysem írod ki? Próbáld meg hasonlóra átírni:

1. megnélzem, ha be van jelentkezve (vizsgálom a munkamenetben a bejelentkezés jeleit mutató változót)
2. ha nincs bejelentkezve, akkor kiírom, hogy csak regisztrált tagok láthatják a taglistát
3. ha be van jelentkezve, akkor lekérem az összes regisztrált tagot
4. kiíratom azokat

Kód:
<?php
  
// lekerdezes:
  // ...
  
$result mysql_query("select `id`, `nev` from `tag` order by `nev` asc");
  
// ...

  // a kiiras
  
while ( $row mysql_fetch_assoc($result) ){
    echo 
"A tag neve: "$row['nev'], " es sorszama: "$row['id'];
  }

  
mysql_free_result($result);
?>



Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 16:27:04
Na, annyit sikerült csinálnom, hogy sorba egymás alá kiirja a neveket, és ID-t.
Viszont szerintem még a bejelentkezés nem jó, úgyhogy addig ezt se tudom megcsinálni :(
Ennyi eddig a belépés:
Kód:
<?php
if ($_GET[csinal] == kilep){
session_unset();
session_destroy();
if (isset(
$_COOKIE[session_name()])) {
setcookie(session_name(), ''time()-86400'/');

}


if ( isset(
$_POST["nick"]) ){
$nev htmlspecialchars($_POST[nick]);
$jelszo md5($_POST["pass"]);
$jelszo substr($jelszo0,20);
$lekerdezes mysql_query("SELECT * FROM tag where nev = '$nev' and jelszo = '$jelszo'");
$vanelekerdezes mysql_num_rows($lekerdezes);
if (
$vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros
{
session_register"nick" );
$time time();
$frissitmysql_query("UPDATE tag SET utlog = '$time' where nev = '$_POST[nick]'");
header("Location: index.php");
}else{
print 
'Rossz felhasználónév vagy jelszó!';
print 
'<ul class="ulreg"><form action="#" method="post">Név:<input type="text" name="nev" class="inputlogin"></ul>';
print 
'<ul class="ulreg">Jelszó:<input type=password name="jelszo" class="inputlogin"></ul>';
print 
'<ul class="ulreg"><input type="submit" value="Belépés"></ul></form>';
}

}else if (
session_is_registered(nev)){
$_SESSION['belepve'] = 1;
print 
"Üdvözöllek ".$_SESSION["nick"]."<a href=index.php?csinal=kilep>Kilépés</a>";
}else {
print 
'<ul class="ulreg"><form action="index.php?module=belepve" method="post">Név:<input type="text" name="nev" class="inputlogin"></ul>';
print 
'<ul class="ulreg">Jelszó:<input type=password name="jelszo" class="inputlogin"></ul>';
print 
'<ul class="ulreg"><input type="submit" value="Belépés"></ul></form>';
print 
'<ul class="ulreg"><a href="index.php?module=reg">Regisztráció</a></ul>';
print 
'<ul class="ulreg"><a href="index.php?module=newpass">Elfelejtetted a jelszavad?</a></ul>';
}


ob_end_flush();
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 15. - 16:32:39
Szerinted nem jó, vagy hibát ad? Azért, mert gyorsan átolvastam a kódot és a már említett hibákon kívül nem akadtam másra. Tegnap mondtam a hasonló kód kapcsán valami, olvasd át  ;)


Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 16:47:23
hibát nem ad, de miután belépek, akkor sem mutat semmit csak visszadob a kezdőlapra, vagyis helyesebben ide ("index.php?module=belepve") ,de ez nincs beállitva modulnak az index.php-be mert pár dolgot nem értek ezzel kapcsolatban.
Az index.php tartalmazza az összes modult, meg az oldal fejlécét, menüit stb..
Az index.php kódja:
Kód:
<?php
session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Virtual Tuning Photocars</title>
<link rel="stylesheet" href="css/style.css" media="all" />

<style>
@import url(css/header.css);
@import url(css/left.css);
@import url(css/news.css);
@import url(css/right.css);
@import url(css/footer.css);
</style>

</head>
<body>

<?php
include ("config.php");
?>

<div id="alap">
<div id="header">
<div id="login"><br />
<?php
if ($_GET[csinal] == kilep){
session_unset();
session_destroy();
if (isset(
$_COOKIE[session_name()])) {
setcookie(session_name(), ''time()-86400'/');

}


if ( isset(
$_POST["nick"]) ){
$nev htmlspecialchars($_POST[nick]);
$jelszo md5($_POST["pass"]);
$jelszo substr($jelszo0,20);
$lekerdezes mysql_query("SELECT * FROM tag where nev = '$nev' and jelszo = '$jelszo'");
$vanelekerdezes mysql_num_rows($lekerdezes);
if (
$vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros
{
session_register"nick" );
$time time();
$frissitmysql_query("UPDATE tag SET utlog = '$time' where nev = '$_POST[nick]'");
header("Location: index.php");
}else{
print 
'Rossz felhasználónév vagy jelszó!';
print 
'<ul class="ulreg"><form action="#" method="post">Név:<input type="text" name="nev" class="inputlogin"></ul>';
print 
'<ul class="ulreg">Jelszó:<input type=password name="jelszo" class="inputlogin"></ul>';
print 
'<ul class="ulreg"><input type="submit" value="Belépés"></ul></form>';
}

}else if (
session_is_registered(nev)){
$_SESSION['belepve'] = 1;
print 
"Üdvözöllek ".$_SESSION["nick"]."<a href=index.php?csinal=kilep>Kilépés</a>";
}else {
print 
'<ul class="ulreg"><form action="index.php?module=belepve" method="post">Név:<input type="text" name="nev" class="inputlogin"></ul>';
print 
'<ul class="ulreg">Jelszó:<input type=password name="jelszo" class="inputlogin"></ul>';
print 
'<ul class="ulreg"><input type="submit" value="Belépés"></ul></form>';
print 
'<ul class="ulreg"><a href="index.php?module=reg">Regisztráció</a></ul>';
print 
'<ul class="ulreg"><a href="index.php?module=newpass">Elfelejtetted a jelszavad?</a></ul>';
}


ob_end_flush();
?>

</p>
</div>
</div>

<div id="left">
<div id="fm">
<p class="fmsz">Navigáció</p>
</div>
<ul class="ul1">- <a href="index.php?module=main">Kezdőlap</a></ul>
<ul class="ul1">- <a href="index.php?module=garage">Garázs</a></ul>
<ul class="ul1">- <a href="index.php?module=upload">Feltöltés</a></ul>
<ul class="ul1">- <a href="index.php?module=tagok">Tagok</a></ul>
<ul class="ul1">- <a href="index.php?module=tutorial">Tutorial</a></ul>
<ul class="ul1">- <a href="index.php?module=forum">Fórum</a></ul>
<ul class="ul1">- <a href="index.php?module=donors">Donorok</a></ul>
<ul class="ul1">- <a href="index.php?module=verseny">Versenyek</a></ul>
<ul class="ul1">- <a href="index.php?module=szabalyzat" >Szabályzat!</a></ul>

<div id="fm">
<p class="fmsz">Aktuális verseny</p>
</div>
<ul class="ul1k"><a href="#">Honda Accord</a></ul>
<a href="http://images.leftlanenews.com/content/2-2008-honda-accord-coupe-concept.jpg"><img src="http://images.leftlanenews.com/content/2-2008-honda-accord-coupe-concept.jpg" class="smallpics" /></a>

<div id="fm">
<p class="fmsz">Friss!</p>
</div>
<ul class="ul1">- <a href="friss/index.php">Friss hírek</a></ul>
<ul class="ul1">- <a href="friss/tuning.php">Friss tuningok</a></ul>
<ul class="ul1">- <a href="friss/tema.php">Friss fórumtémák</a></ul>
<ul class="ul1">- <a href="friss/tutorial.php">Friss tutorialok</a></ul>
</div>


<?php
$modules
["index"] = "main.php";
$modules["garage"] = "garage.php";
$modules["upload"] = "upload.php";
$modules["tagok"] = "users.php";
$modules["tutorial"] = "tutorial.php";
$modules["forum"] = "forum/index.php";
$modules["donors"] = "donors.php";
$modules["verseny"] = "verseny.php";
$modules["szabalyzat"] = "rules.php";
$modules["reg"] = "reg.php";
$modules["impresszum"] = "impresszum.php";
$modules["copyright"] = "copy.php";
$modules["media"] = "media.php";
$modules["mail"] = "mail.php";
$modules["newpass"] = "moduls/newpass.php";
$modules["hibaoldal"] = "hibaoldal.php";

 
$act "main.php"//az alap betoltes, ha nincs megadva a module valtozo
 
if ( !isset($_GET["module"]) ){
  
$get_mod "";
}
else 
$get_mod strip_tags(htmlentities($_GET["module"]));
 
foreach(
$modules as $mod => $act_m){
  if( 
strcmp($mod,$get_mod) == ){
    
$act $act_m;
    break;
  }
}
 
if ( 
file_exists($act) ){
  include 
$act;
}
else{
 include (
"hibaoldal.php");
 
  
/**
   * vagy beolvashatsz egy sajat hibaoldalt is, ha azt irod, hogy
   * inlude "hibaoldal.php";
   *
   */
}?>


<div id="right">
<div id="rightm">
<p class="rmt">Statisztika</p>
</div>
<p class="statics">
<ul class="ulreg"><a href="http://www.mystat.hu/query.php?id=76626" target="_blank"><script language="JavaScript" type="text/javascript" src="http://stat.mystat.hu/stat.php?h=2&amp;id=76626"></script></a><noscript><a href="http://www.mystat.hu/query.php?id=76626" target="_blank"><img src="http://stat.mystat.hu/collect.php?id=76626&amp;h=2" alt="mystat" border="0"></img></a></noscript>
<br /><br />
</ul>
</p>
</div>

<div class="clear">
</div>
</div>
<div id="footer">
<p class="ft"><a href="index.php?module=impresszum">Impresszum</a> | <a href="index.php?module=media">Médiaajánlat</a> | <a href="index.php?module=copyright">Copyright</a> | <a href="index.php?module=mail">Elérhetőség</a></p>

</div>

</body>
</html>

A próbléma, hogy ebben az index.php-ben van a belépés rész is, úgyhogy annak lennie kell a module=belepve résznél is, de ugy hogy ott már azt irja h (admin, kilépés stb..), viszont ekkor szétcsúszik az oldal, meg egyéb dolgok.  :-\ ::)

Remélem érthető voltam  :-\


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 15. - 17:07:04
Nem nagyon értem, de próbálom kiköbözni. Annyi biztos, hogy a PHP motornak és a belépési résznek az ég egy adta földön semmi köze, külön müködnek. Mivel a fejlécben van a belépés és egyebek, azt a weboldalmotor, ami beolvas a középső részbe nem zavarja. Hogy miért csúszik szét az oldal nem tudom, de az biztos, hogy HTML-CSS kombó és semmi köze a PHPhoz. Tanulmányozd a széttolt oldal forráskódját és megfogod találni a hibát.


Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 17:18:47
Megpróbálom elmagyarázni.
Szóval az index.php ben van a fejléc(+login) is, az oldalsó menük és, meg a lábléc is.
Csak a hír része van "üresen", mer ugye ha ráklikelek vmi menüre, az ott jön be.
De a fejléc az nem üres, és ha én ráklikkelek a belépésre, és sikeres, akkor nekem a fejlécbe a login helyén kell kiiratni hogy sikeres belépés, bla bla bla. de ha én ezt kiiratom az uj fájlba, az eredetibe is van fejléc, meg az újba is, így megismétli azt, felül lesz az eredeti fejléc, ami az index.php be van, alatta meg a modosított fejléc, ami már a belépés után van.


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 15. - 18:13:52
Nos a megoldás nem túl komplikált. Beteszel a fejléc részbe egy eldöntő szkriptet, hogy be van jelentkezve a látogató, vagy sem. Ha nincs, akkor kiíratod a login részt, ha be van, akkor amit akarsz. pl.

Kód:
<div id="fejlec">
allando elemek ....

<?php
  
if ( isset($_SESSION['belepve']) ){
    
// belepes utan a kiiras
  
}else{
    
// belepesi urlap
  
}
?>


allando elemek ....
</div>

Ennél jobban nem tudom, hogyan magyarázhatnám el.


Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 18:37:38
Őőő. Asszem működik, de vannak még gondok :)
Az index.php kódja:
Kód:
<?php
session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Virtual Tuning Photocars</title>
<link rel="stylesheet" href="css/style.css" media="all" />

<style>
@import url(css/header.css);
@import url(css/left.css);
@import url(css/news.css);
@import url(css/right.css);
@import url(css/footer.css);
</style>

</head>
<body>

<?php
include ("config.php");
?>

<div id="alap">
<div id="header">
<div id="login"><br />
<?php
$_SESSION
['nick'] = ($_POST['nick']);
$_SESSION['belepve'] = ($_vanelekerdezes==1);
if (isset($_SESSION['belepve'])) {
echo "Üdvözöllek" $_SESSION['nick'] . "!";
echo "<br><a href='index.php?module=profil?id=1'>Profilod</a>";
echo "<br><a href=index.php?csinal=kilep>Kilépés</a>";
}
else {
if (
$_GET[csinal] == kilep){
session_unset();
session_destroy();
if (isset(
$_COOKIE[session_name()])) {
setcookie(session_name(), ''time()-86400'/');

}


if ( isset(
$_POST["nick"]) ){
$nev htmlspecialchars($_POST[nick]);
$jelszo md5($_POST["pass"]);
$jelszo substr($jelszo0,20);
$lekerdezes mysql_query("SELECT * FROM tag where nev = '$nev' and jelszo = '$jelszo'");
$vanelekerdezes mysql_num_rows($lekerdezes);
if (
$vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros
{
session_register"nick" );
$time time();
$frissitmysql_query("UPDATE tag SET utlog = '$time' where nev = '$_POST[nick]'");
header("Location: index.php");
}else{
print 
'Rossz felhasználónév vagy jelszó!';
print 
'<ul class="ulreg"><form action="#" method="post">Név:<input type="text" name="nev" class="inputlogin"></ul>';
print 
'<ul class="ulreg">Jelszó:<input type=password name="jelszo" class="inputlogin"></ul>';
print 
'<ul class="ulreg"><input type="submit" value="Belépés"></ul></form>';
}

}else if (
session_is_registered(nev)){
$_SESSION['belepve'] = 1;
print 
"Üdvözöllek ".$_SESSION["nick"]."<a href=index.php?csinal=kilep>Kilépés</a>";
}else {
print 
'<ul class="ulreg"><form action="index.php?module=belepve" method="post">Név:<input type="text" name="nev" class="inputlogin"></ul>';
print 
'<ul class="ulreg">Jelszó:<input type=password name="jelszo" class="inputlogin"></ul>';
print 
'<ul class="ulreg"><input type="submit" value="Belépés"></ul></form>';
print 
'<ul class="ulreg"><a href="index.php?module=reg">Regisztráció</a></ul>';
print 
'<ul class="ulreg"><a href="index.php?module=newpass">Elfelejtetted a jelszavad?</a></ul>';
}
}


ob_end_flush();
?>

</p>
</div>
</div>

<div id="left">
<div id="fm">
<p class="fmsz">Navigáció</p>
</div>
<ul class="ul1">- <a href="index.php?module=main">Kezdőlap</a></ul>
<ul class="ul1">- <a href="index.php?module=garage">Garázs</a></ul>
<ul class="ul1">- <a href="index.php?module=upload">Feltöltés</a></ul>
<ul class="ul1">- <a href="index.php?module=tutorial">Tutorial</a></ul>
<ul class="ul1">- <a href="index.php?module=forum">Fórum</a></ul>
<ul class="ul1">- <a href="index.php?module=donors">Donorok</a></ul>
<ul class="ul1">- <a href="index.php?module=verseny">Versenyek</a></ul>
<ul class="ul1">- <a href="index.php?module=szabalyzat" >Szabályzat!</a></ul>

<div id="fm">
<p class="fmsz">Aktuális verseny</p>
</div>
<ul class="ul1k"><a href="#">Honda Accord</a></ul>
<a href="http://images.leftlanenews.com/content/2-2008-honda-accord-coupe-concept.jpg"><img src="http://images.leftlanenews.com/content/2-2008-honda-accord-coupe-concept.jpg" class="smallpics" /></a>

<div id="fm">
<p class="fmsz">Friss!</p>
</div>
<ul class="ul1">- <a href="friss/index.php">Friss hírek</a></ul>
<ul class="ul1">- <a href="friss/tuning.php">Friss tuningok</a></ul>
<ul class="ul1">- <a href="friss/tema.php">Friss fórumtémák</a></ul>
<ul class="ul1">- <a href="friss/tutorial.php">Friss tutorialok</a></ul>
</div>


<?php
$modules
["index"] = "main.php";
$modules["garage"] = "garage.php";
$modules["upload"] = "upload.php";
$modules["tutorial"] = "tutorial.php";
$modules["forum"] = "forum/index.php";
$modules["donors"] = "donors.php";
$modules["verseny"] = "verseny.php";
$modules["szabalyzat"] = "rules.php";
$modules["reg"] = "reg.php";
$modules["impresszum"] = "impresszum.php";
$modules["copyright"] = "copy.php";
$modules["media"] = "media.php";
$modules["mail"] = "mail.php";
$modules["newpass"] = "moduls/newpass.php";
$modules["hibaoldal"] = "hibaoldal.php";
 
$act "main.php"//az alap betoltes, ha nincs megadva a module valtozo
 
if ( !isset($_GET["module"]) ){
  
$get_mod "";
}
else 
$get_mod strip_tags(htmlentities($_GET["module"]));
 
foreach(
$modules as $mod => $act_m){
  if( 
strcmp($mod,$get_mod) == ){
    
$act $act_m;
    break;
  }
}
 
if ( 
file_exists($act) ){
  include 
$act;
}
else{
 include (
"hibaoldal.php");
 
  
/**
   * vagy beolvashatsz egy sajat hibaoldalt is, ha azt irod, hogy
   * inlude "hibaoldal.php";
   *
   */
}?>


<div id="right">
<div id="rightm">
<p class="rmt">Statisztika</p>
</div>
<p class="statics">
<ul class="ulreg"><a href="http://www.mystat.hu/query.php?id=76626" target="_blank"><script language="JavaScript" type="text/javascript" src="http://stat.mystat.hu/stat.php?h=2&amp;id=76626"></script></a><noscript><a href="http://www.mystat.hu/query.php?id=76626" target="_blank"><img src="http://stat.mystat.hu/collect.php?id=76626&amp;h=2" alt="mystat" border="0"></img></a></noscript>
<br /><br />
</ul>
</p>
</div>

<div class="clear">
</div>
</div>
<div id="footer">
<p class="ft"><a href="index.php?module=impresszum">Impresszum</a> | <a href="index.php?module=media">Médiaajánlat</a> | <a href="index.php?module=copyright">Copyright</a> | <a href="index.php?module=mail">Elérhetőség</a></p>

</div>

</body>
</html>

Szóval, nézd már meg ha felmész az oldalra (www.vtpc.extra.hu) Neked a bejelentkezést hozza, vagy azt h Üdvözöllek!
A másik gond, hogy az üdvözöllek utána kikéne irni a nevet, de valamiért nem csinálja.
A harmadik, nem lehet kijelentkezni.  :-X


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 15. - 19:45:38
Ez így nem jó:
Kód:
http://www.vtpc.extra.hu/index.php?module=profil?id=1
helyette ez kell:
Kód:
http://www.vtpc.extra.hu/index.php?module=profil&id=1
Ha több paramétert adsz át, akkor azt már és jellel kötöd össze.
A kilépés azért nem jó, mert rosszúl ellenörzöd, hogy ki akar lépni az illető, vagy sem:
Kód:
if ($_GET[csinal] == kilep){ // hibás
if ( strcmp($_GET['csinal'], "kilep") == 0 ){ // így kell karakterláncot összehasonlítani


Cím: Re: PHP
Írta: TreamX - 2008. 02. 15. - 20:06:10
Köszönöm, mindjárt kipróbálom, csak most épp ujraírtam az egészet, és nézem a hibákat  :'(
Szóval az új kódom:
Kód:
<?php
if (isset($_SESSION['belepve'])) {
session_is_registered(nev);
session_is_registered(jelszo);
echo "<ul>Üdvözöllek" $_SESSION['nev'] . "!</ul>";
echo "<ul><a href=index.php?module=adataid>Adataid</a></ul>";
echo "<ul><a href=moduls/admin/index.php>Admin</a></ul>";
echo "<ul><a href=moduls/pm/index.php>Privát üzenet</ul>";
echo "<ul><a href=index.php?csinal=kilep>Kijelentkezés</a></ul>";
session_write_close();
}
else {
if (isset($_POST['nev']) && isset($_POST['jelszo'])) {
$nev$_POST['nev'];
$jelszomd5($_POST['jelszo']);
$request mysql_query("SELECTED * FROM tag where nev = '$nev' and jelszo = '$jelszo' ");
$van_request mysql_num_rows($request);
if ($van_request == ) {
session_register("nev");
session_register("jelszo");
header("Location: index.php");
}
else {
print "<ul class=ulreg>Rossz felhasználónév, vagy jelszó</ul>";
print "<ul class=ulreg><form method=post action=index.php></ul>";
print "<ul class=ulreg>Név: <input type=text name='nev' value="$_POST['nev']." ></ul>";
print "<ul class=ulreg>Jelszó: <input type=password name='jelszo' value=" $_POST['jelszo']."></ul>";
print "<ul class=ulreg><input type=submit name='mehet' value=Mehet></form></ul>";
}
}
}
print 
"<ul class=ulreg>Rossz felhasználónév, vagy jelszó</ul>";
print 
"<ul class=ulreg><form method=post action=index.php></ul>";
print 
"<ul class=ulreg>Név: <input type=text name='nev' value="$_POST['nev']." ></ul>";
print 
"<ul class=ulreg>Jelszó: <input type=password name='jelszo' value=" $_POST['jelszo']."></ul>";
print 
"<ul class=ulreg><input type=submit name='mehet' value=Mehet></form></ul>";

if ( 
strcmp($_GET['csinal'], "kilep") == ){
session_unset();
session_destroy();
}

?>


Cím: Re: PHP
Írta: TreamX - 2008. 02. 16. - 08:59:03
Szóval itt tartok most. A gond, hogy  miután belépek, behozza az eredeti logint is, meg már kiirja azt is h adataid stb... :(
Kód:
<?php
print "<ul class=ulreg><form method=post action=index.php></ul>";
print 
"<ul class=ulreg>Név: <input type=text name='nev' value="$_POST['nev']." ></ul>";
print 
"<ul class=ulreg>Jelszó: <input type=password name='jelszo' value=" $_POST['jelszo']."></ul>";
print 
"<ul class=ulreg><input type=submit name='mehet' value=Mehet></form></ul>";
?>

<?php
$_SESSION
['belepve'] = ($vanelekerdezes==1);
if (isset(
$_SESSION['belepve'])) {
session_is_registered(nev);
echo "<ul>Üdvözöllek" $_SESSION['nev'] . "!</ul>";
echo "<ul><a href=index.php?module=adataid>Adataid</a></ul>";
echo "<ul><a href=moduls/admin/index.php>Admin</a></ul>";
echo "<ul><a href=moduls/pm/index.php>Privát üzenet</ul>";
echo "<ul><a href=index.php?csinal=kilep>Kijelentkezés</a></ul>";
}
elseif ($_POST['nev'] > && $_POST['jelszo'] > 0) {
echo "<ul class=ulreg>Nem töltöttél ki minden mezőt!</ul>";
}

if (isset($_POST['nev']) && isset($_POST['jelszo'])) {
$nevhtmlspecialchars($_POST['nev']);
$jelszomd5($_POST['jelszo']);
$jelszo substr($jelszo0,20); 
$lekerdezes mysql_query("SELECT * FROM tag where nev = '$nev' and jelszo = '$jelszo'");
$vanelekerdezes mysql_num_rows($lekerdezes);
if ($vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros 
 {
session_register("nev");
header("Location: index.php"); 
}
elseif ($_POST['nev'] != && $_POST['jelszo'] != 1) {
print "<ul class=ulreg>Rossz felhasználónév, vagy jelszó</ul>";
print "<ul class=ulreg><form method=post action=index.php></ul>";
print "<ul class=ulreg>Név: <input type=text name='nev' value="$_POST['nev']." ></ul>";
print "<ul class=ulreg>Jelszó: <input type=password name='jelszo' value=" $_POST['jelszo']."></ul>";
print "<ul class=ulreg><input type=submit name='mehet' value=Mehet></form></ul>";
}
}

if ( 
strcmp($_GET['csinal'], "kilep") == ){
session_unset();
session_destroy();
}

?>

Szeretnék pár alap dolgot "átvenni":

Ellenőrzi h létezik e a 'valami' mező:
Kód:
if (isset($_POST['valami']) {

Ellenőrzi, hogy van e beleirva valami:
Kód:
if ($_POST['valami'] > 0){

Mysql-ből "kiolvasni" így kell:
Kód:
$valami = mysql_query("SELECT * FROM valami WHERE 'ize' and 'bigyo'");

Mysqlbe írni:
Kód:
$valami = mysql_query("insert into valami values('$izeke' , '$bigyoka')")

Ha valamelyik  nemjó, légyszi szóljatok :)


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 16. - 10:27:50
A hibás sorok. Az elsőnél megettél egy záró irányú kerek zárójelt. A másodiknál nem az értél hosszát nézed, hanem az értéket hasonlítod, strlen()-be kell tenni azt, aminek a hosszát akarod nézni. Az SQL az elméletileg nem fut le, mert mi van, ha izé és bigyó egy egy karakterlánc? Mihez hasonlítsa szegény? Vagy ha  leftut, mert azt mondja SQL barátunk, hogy OK, legyen két karakterlánc, akkor az összes sort kihozza, mivel globális igazságot tételezel fel. Az utolsó jó, amennyiben csak két oszlopa van a táblának.

A kódod azért nem megy, mert édes mindegy, hogy egy változóba nullát vagy egyet írsz bele, vagy truet vagy falseot ... attól a változót létrehozod, ezért írja ki az Üdv... szöveget.


Cím: Re: PHP
Írta: TreamX - 2008. 02. 16. - 10:30:47
és akkor ezt hogy tudnáám megoldani? :S
Most itt tart a kódom:
Kód:
<?php
$_SESSION
['belepve'] = ($vanelekerdezes==1);
if (
$_SESSION['belepve']!=0) {
session_is_registered("nev");
echo "<ul>Üdvözöllek " $_SESSION['nev'] . "!</ul>";
echo "<ul><a href=index.php?module=adataid>Adataid</a></ul>";
echo "<ul><a href=moduls/admin/index.php>Admin</a></ul>";
echo "<ul><a href=moduls/pm/index.php>Privát üzenet</ul>";
echo "<ul><a href=index.php?csinal=kilep>Kijelentkezés</a></ul>";
}
elseif (strlen($_POST['nev'] != "") or strlen($_POST['jelszo'] != "")) {
echo "<font color=red>Nem töltöttél ki minden mezőt!</font>";
}

if (isset($_POST['nev']) && isset($_POST['jelszo'])) {
$nevhtmlspecialchars($_POST['nev']);
$jelszomd5($_POST['jelszo']);
$jelszo substr($jelszo0,20); 
$lekerdezes mysql_query("SELECT * FROM tag where nev = '$nev' and jelszo = '$jelszo'");
$vanelekerdezes mysql_num_rows($lekerdezes);
if ($vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros 
 {
session_register("nev");
header("Location: index.php"); 
}
elseif ($_POST['nev'] != && $_POST['jelszo'] != 0) {
print "<font color=red>Rossz felhasználónév, vagy jelszó</font><br>";
print "<form method=post action=index.php>";
print "Név: <input type=text name='nev' value="$_POST['nev']." ><br>";
print "Jelszó: <input type=password name='jelszo' value=" $_POST['jelszo']."><br>";
print "<input type=submit name='mehet' value=Mehet></form><br>";
print "<a href=index.php?module=reg>Regisztráció</a><br>";
print "<a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a>";
}
}
print 
"<form method=post action=index.php>";
print 
"Név: <input type=text name='nev' value="$_POST['nev']." ><br>";
print 
"Jelszó: <input type=password name='jelszo' value=" $_POST['jelszo']."><br>";
print 
"<input type=submit name='mehet' value=Mehet></form>";
print 
"<a href=index.php?module=reg>Regisztráció</a><br>";
print 
"<a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a>";

if ( 
strcmp($_GET['csinal'], "kilep") == ){
session_unset($_SESSION['belepve']);
}

?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 16. - 11:12:20
A logikáddal van gond. Hasonlóan kellene legyen a logikai felépítés:

már írtam:
Idézet
1. megnélzem, ha be van jelentkezve (vizsgálom a munkamenetben a bejelentkezés jeleit mutató változót)
2. ha nincs bejelentkezve, akkor kiírom, hogy csak regisztrált tagok láthatják a taglistát
3. ha be van jelentkezve, akkor lekérem az összes regisztrált tagot
4. kiíratom azokat

Ha jól látom nálad az a gond, hogy nem tudod, hogy tárolod a munkamenetben, ha valaki be van jelentkezve. Semmi képpen nem minden oldallekérdezésnlé, hanem amikor sikeresen belép, akkor létrehozod a munkamenet változot. Amikor kilép, törlöd a munkamenetet, így megszünik a belépett felhasználó státus. Egy snippet:

Kód:
<?php
  
//belépési vizsgálás ...
  
$_SESSION['fehlasznaloBelepve'] = true;
  
// egyéb muveletek
?>



Cím: Re: PHP
Írta: TreamX - 2008. 02. 16. - 11:33:44
őőőhm ja.. bár nem nagyon értem. Ennél a kódnál a sorrend:
1. Ha bevan lépve...
2. Ha nincs belépve
3. Ha rossz a név / jelszó
4. Ha nem töltött ki minden mezőt
5. Ha nincs belépve //:
Kód:
<?php
$_SESSION
['belepve'] = ($vanelekerdezes==1);
$_SESSION['admintag'] = ($vanelekerdezes1==1);

if (
$_SESSION['belepve']!=1) {
session_is_registered("nev");
echo "<ul>Üdvözöllek " $_SESSION['nev'] . "!</ul>";
echo "<ul><a href=index.php?module=adataid>Adataid</a></ul>";
if ($_SESSION['admintag']!=0) {
session_is_registered("admintag");
echo "<ul><a href=moduls/admin/index.php>Admin</a></ul>";
}
echo "<ul><a href=moduls/pm/index.php>Privát üzenet</ul>";
echo "<ul><a href=index.php?csinal=kilep>Kijelentkezés</a></ul>";
}

if (isset($_POST['nev']) && isset($_POST['jelszo'])) {
$nevhtmlspecialchars($_POST['nev']);
$jelszomd5($_POST['jelszo']);
$jelszo substr($jelszo0,20); 
$admintag htmlspecialchars($_POST['admintag']);
$lekerdezes mysql_query("SELECT * FROM tag where nev = '$nev' and jelszo = '$jelszo'");
$vanelekerdezes mysql_num_rows($lekerdezes);
if ($vanelekerdezes==1)//Ha van ilyen felhasználónév, jelszó páros 
 {
session_register("nev");
header("Location: index.php"); 
}
$admine mysql_query("SELECT *FROM admin where admintag = '$admintag'");
$vanelekerdezes1 mysql_num_rows($admine);
if ($vanelekerdezes1==1)//Ha admin
{
session_register("admintag");
header("Location: index.php");
}
elseif ($_POST['nev'] != && $_POST['jelszo'] != 0) {
print "<font color=red>Rossz felhasználónév, vagy jelszó</font><br>";
print "<form method=post action=index.php>";
print "Név: <input type=text name='nev' value="$_POST['nev']." ><br>";
print "Jelszó: <input type=password name='jelszo' value=" $_POST['jelszo']."><br>";
print "<input type=submit name='mehet' value=Mehet></form><br>";
print "<a href=index.php?module=reg>Regisztráció</a><br>";
print "<a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a>";
}
elseif (strlen($_POST['nev'] != "") or strlen($_POST['jelszo'] != "")) {
echo "<font color=red>Nem töltöttél ki minden mezőt!</font>";
}
}
if ($_SESSION['belepve'] = false) {
print 
"<form method=post action=index.php>";
print 
"Név: <input type=text name='nev' value="$_POST['nev']." ><br>";
print 
"Jelszó: <input type=password name='jelszo' value=" $_POST['jelszo']."><br>";
print 
"<input type=submit name='mehet' value=Mehet></form>";
print 
"<a href=index.php?module=reg>Regisztráció</a><br>";
print 
"<a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a>";
}

if ( 
strcmp($_GET['csinal'], "kilep") == ){
session_unset($_SESSION['belepve']);
session_unset($_SESSION['admintag']);
}

?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 16. - 13:04:28
Nézd át a kódot, mert nem úgy működik, ahogy te leírtad. Ezek meg nem tudom mik akarnak lenni:

Kód:
$_SESSION['belepve'] = ($vanelekerdezes==1);
$_SESSION['admintag'] = ($vanelekerdezes1==1);

Ha megfogadod a tanácsom, veszel egy tiszta dokumentumot, és újra írod, újból megpróbálod felépíteni a leírt logikával a szkriptet, mert utólag rájönni a rossz részre nehezebb, több időt igényel Ne ragaszkodj annyira a már megírt kódodhoz, mert nem fogsz előrehaladni. Próbáld újra.


Cím: Re: PHP
Írta: TreamX - 2008. 02. 16. - 13:11:16
$_SESSION['belepve'] = ($vanelekerdezes==1);

Ez az lenne, hogy a ['belepve']az azt jelenti, hogy $vanelekerdezes==1 azaz, hogy a jelszó és nick megegyezik
Újraírom, de az meginn elfogja venni az egész napomat  :o  :(

ŐŐm hát ja.. hiba: kiirja azt is mintha már beléptél volna, meg a bejelentkezést is... :
Kód:
<?php
if ($_SESSION['belepve']!= 0) {
echo "<ul>Üdvözöllek" $_SESSION['nick'] . "!</ul>";
    echo 
"<ul><a href=index.php?module=profile&id=1>Profil</a></ul>";
    echo 
"<ul><a href=moduls/admin/index.php?id=1>Admin</a></ul>";
    echo 
"<ul><a href=moduls/logout.php>Kilépés</a></ul>";
    }
    
if (isset($_POST['nick']) && isset($_POST['jelszo'])) {
        
$nev htmlspecialchars($_POST['nev']);
        
$jelszo md5($_POST['jelszo']);
       
$csatlakozas mysql_query("SELECT * FROM tag WHERE nev ='$nev' and jelszo='$jelszo'");
       
$ellenoriz mysql_num_rows($csatlakozas);
       
 if ($ellenoriz == 1) {
        
session_register('nev');
      
    }
       
}
        
elseif ($_POST['nev'] = false or $_POST['jelszo'] = false) {
        
echo "Rossz felhasználónév vagy jelszó!";
        
session_unset('nev');
        
}
        
        
if (strlen($_POST['nev'] = "") or strlen($_POST['jelszo'] = "")) {
        
echo "<ul>Nem töltöttél ki minden mezőt!";
       
echo "<form method=post action=index.php>";
        
echo "<ul>Név: <input type=text name='nev' value=" $_POST['nev'] . "></ul>";
        
echo "<ul>Jelszó: <input type=password name='jelszo' value=" .$_POST['jelszo'] . "></ul>";
        
echo "<ul><a href=index.php?module=reg>Regisztráció</a></ul>";
        
echo "<ul><a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a></ul>";
        
echo "</form>";
     
    }
                
       
echo "<form method=post action=index.php>";
        
echo "<ul>Név: <input type=text name='nev' value=" $_POST['nev'] . "></ul>";
        
echo "<ul>Jelszó: <input type=password name='jelszo' value=" .$_POST['jelszo'] . "></ul>";
        
echo "<ul><a href=index.php?module=reg>Regisztráció</a></ul>";
        
echo "<ul><a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a></ul>";
        
echo "</form>"
?>


Cím: Re: PHP
Írta: TreamX - 2008. 02. 16. - 14:20:42
Mikor felmek az oldalra, alapból azt hozza be mintha már beléptem volna :S
Kód:
<?php
if ($_SESSION['belepve'] = true) {  //ha bevan lepve
echo "<ul>Üdvözöllek " $_SESSION['nev'] . "!</ul>";
    echo 
"<ul><a href=index.php?module=profile&id=1>Profil</a></ul>";
    echo 
"<ul><a href=moduls/admin/index.php?id=1>Admin</a></ul>";
    echo 
"<ul><a href=index.php?csinal=kilep>Kilépés</a></ul>";
    }
    
if (isset($_POST['nev']) && isset($_POST['jelszo'])) { //ha letezik a nev es jelszo mezo
        
$nev htmlspecialchars($_POST['nev']);
        
$jelszo md5($_POST['jelszo']);
$jelszo substr($jelszo0,20);
       
$csatlakozas mysql_query("SELECT * FROM tag WHERE nev ='$nev' and jelszo='$jelszo'");
       
$ellenoriz mysql_num_rows($csatlakozas);
       
 if ($ellenoriz == 1) { //ha a felh.nev meg a jelszo egybetartozik
        
session_register('nev');  //tarolja a nevet
      
    }
       
}
        
elseif (isset($_POST['nev']) && isset($_POST['jelszo'])) { //ha letezik nev es jelszo mezo
$nev htmlspecialchars($_POST['nev']);
        
$jelszo md5($_POST['jelszo']);
$jelszo substr($jelszo0,20);
       
$csatlakozas1 mysql_query("SELECT * FROM tag WHERE nev ='$nev' and jelszo='$jelszo'");
       
$ellenoriz1 mysql_num_rows($csatlakozas);
       
 if ($ellenoriz1 == 0) { //ha a felh.nev meg a jelszo nem tartozik egybe
        
echo "Rossz felhasználónév vagy jelszó";
        
}
}
        
        
if (strlen($_POST['nev'] = "") or strlen($_POST['jelszo'] = "")) {
        
echo "<ul>Nem töltöttél ki minden mezőt!";
       
echo "<form method=post action=index.php>";
        
echo "<ul>Név: <input type=text name='nev' value=" $_POST['nev'] . "></ul>";
        
echo "<ul>Jelszó: <input type=password name='jelszo' value=" .$_POST['jelszo'] . "></ul>";
echo "<ul><input type=submit name=mehet value=Mehet></form></ul>";
        
echo "<ul><a href=index.php?module=reg>Regisztráció</a></ul>";
        
echo "<ul><a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a></ul>";
        

     
    }
             if (
$_SESSION['belepve'] = FALSE) {
       
echo "<form method=post action=index.php>";
        
echo "<ul>Név: <input type=text name='nev' value=" $_POST['nev'] . "></ul>";
        
echo "<ul>Jelszó: <input type=password name='jelszo' value=" .$_POST['jelszo'] . "></ul>";
echo "<ul><input type=submit name=mehet value=Mehet></form></ul>";
        
echo "<ul><a href=index.php?module=reg>Regisztráció</a></ul>";
        
echo "<ul><a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a></ul>";
}

if ( 
strcmp($_GET['csinal'], "kilep") == ){
session_unset($_SESSION['belepve']);
}
?>



Cím: Re: PHP
Írta: Tupacko - 2008. 02. 16. - 14:50:01
Miben valosul meg az, hogy nem mukodik? Amugy torold az egesz munkamenetet kilepeskor, es ne csak az adott valtozot ;)


Cím: Re: PHP
Írta: TreamX - 2008. 02. 16. - 15:03:21
megkértem 1 embert, h menjen fel az oldalra, nézze meg h rossz névvel v jelszóval megy e, és már alapból az jön be mintha beléptél volna :(
Kód:
<?php
if ($_SESSION['belepve'] = TRUE) {  //ha bevan lepve
echo "<ul>Üdvözöllek " $_SESSION['nev'] . "!</ul>";
    echo 
"<ul><a href=index.php?module=profile&id=1>Profil</a></ul>";
    echo 
"<ul><a href=moduls/admin/index.php?id=1>Admin</a></ul>";
    echo 
"<ul><a href=index.php?csinal=kilep>Kilépés</a></ul>";
    }
    
if (isset($_POST['nev']) && isset($_POST['jelszo'])) { //ha letezik a nev es jelszo mezo
        
$nev htmlspecialchars($_POST['nev']);
        
$jelszo md5($_POST['jelszo']);
$jelszo substr($jelszo0,20);
       
$csatlakozas mysql_query("SELECT * FROM tag WHERE nev ='$nev' and jelszo='$jelszo'");
       
$ellenoriz mysql_num_rows($csatlakozas);
       
 if ($ellenoriz == 1) { //ha a felh.nev meg a jelszo egybetartozik
        
session_register('nev');  //tarolja a nevet
      
    }
       
}
        
elseif (isset($_POST['nev']) && isset($_POST['jelszo'])) { //ha letezik nev es jelszo mezo
$nev htmlspecialchars($_POST['nev']);
        
$jelszo md5($_POST['jelszo']);
$jelszo substr($jelszo0,20);
       
$csatlakozas1 mysql_query("SELECT * FROM tag WHERE nev ='$nev' and jelszo='$jelszo'");
       
$ellenoriz1 mysql_num_rows($csatlakozas);
       
 if ($ellenoriz1 == 0) { //ha a felh.nev meg a jelszo nem tartozik egybe
        
echo "Rossz felhasználónév vagy jelszó";
        
}
}
        
        
if (strlen($_POST['nev'] = "") or strlen($_POST['jelszo'] = "")) { //ha nem toltott ki minden mezot
        
echo "<ul>Nem töltöttél ki minden mezőt!";
       
echo "<form method=post action=index.php>";
        
echo "<ul>Név: <input type=text name='nev' value=" $_POST['nev'] . "></ul>";
        
echo "<ul>Jelszó: <input type=password name='jelszo' value=" .$_POST['jelszo'] . "></ul>";
echo "<ul><input type=submit name=mehet value=Mehet></form></ul>";
        
echo "<ul><a href=index.php?module=reg>Regisztráció</a></ul>";
        
echo "<ul><a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a></ul>";
        

     
    }
             if (
$_SESSION['belepve'] = FALSE) { //ha nincs belepve
       
echo "<form method=post action=index.php>";
        
echo "<ul>Név: <input type=text name='nev' value=" $_POST['nev'] . "></ul>";
        
echo "<ul>Jelszó: <input type=password name='jelszo' value=" .$_POST['jelszo'] . "></ul>";
echo "<ul><input type=submit name=mehet value=Mehet></form></ul>";
        
echo "<ul><a href=index.php?module=reg>Regisztráció</a></ul>";
        
echo "<ul><a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a></ul>";
}

if ( 
strcmp($_GET['csinal'], "kilep") == ){
session_unset();
}
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 16. - 17:16:20
En is felmentem az oldalra. Nem is kellet belepjek...ugy ismert fel, minhta alapbol be lennek lepve ... szepen behozta az udvozlo szoveget, az admin menut, a kilepes linket stb.
Nem tudom, ha csak en nem latom, de te valahol ellenorzod, ha letezik a $_SESSION['belepve'] az isset() fugvennyel? Masik dolog, mindent, ami akkor tortenik, ha be van lepve a felhasznalo abba az agaba kell tegyel az ifnek, ahol $_SESSION['belepve'] = true
Miert van ketszer ez:
Kód:
if (isset($_POST['nev']) && isset($_POST['jelszo'])) { //ha letezik a nev es jelszo mezo .......... ###ELSO
// ...
elseif (isset($_POST['nev']) && isset($_POST['jelszo'])) { //ha letezik nev es jelszo mezo ........ ### masodik

Mindig az elsobe megy be, vagy a masodikba sem ... mivel ugyan az az IF belepesi feltetle.

Sok gond van meg ezzel a koddal :( Probald meg rendszerezetteben irni: valaszd kulon a nem egybe tartozo reszeket ENTERekkel, hasznald helyesen a TABot, figyelj a specialis karakterekre (aposztrofok, idezojelek, stb...).


Cím: Re: PHP
Írta: TreamX - 2008. 02. 17. - 09:54:12
Kijavítottam ezeket, de még most se jó :( Megkérhetenélek, hogy írd le a menetét? de ne a védett oldalnak, hanem a loginnak, mert szerintem azzal van a gond :(
Mellékelve mellettük a kóddal hogy pl. isset() el kell vagy strlen()-el. Pls


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 17. - 11:23:44
Ez lenne a váz:

Kód:
<?php
  
// login.php
  
  
session_start();
  
  if ( isset(
$_POST['name'])  && isset($_POST['pass']) ){
    
$_SESSION['loggedIn'] = true;
    
$_SESSION['name'] = $_POST['name'];
    
$_SESSION['pass'] = $_SESSION['pass'];
    
    
// ...
    
  
}else{
    
header("Location: index.php.php?loginError");
    die();
  }
?>


<?php
  
// index.php
  // ...
  
  
if ( isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true ){
    
// a vedett tartalom
  
}else{
    
// az urlap, amelyben a form action="login.php"
    
if ( isset($_GET['loginError']) ){
      
// mi tortenik, mit ir ki, ha belepesi gond
    
}
    
    if ( isset(
$_GET['loggedOut']) ){
      
// mi tortenik, mit ir ki, ha sikeresen kilepet
    
}
  }
  
  
// ...
?>


<?php
  
// logout.php
  
session_start();
  
  if ( isset(
$_SESSION['loggedIn']) ){
    
session_destroy();
    
header("Location: index.php?loggedOut");
  }
?>


Cím: Re: PHP
Írta: TreamX - 2008. 02. 17. - 11:26:26
 ??? :-X ezt majd később áttanulmányozok, most tanulok. köszi  ;)  :)


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 17. - 11:31:27
Szívesen. Remélem, hogy ezzel sikerül tisznáznod egy két dolgot :)


Cím: Re: PHP
Írta: TreamX - 2008. 02. 17. - 13:02:21
Szóval, nemtom sikerült e, miután belép ugye átmegy a login.php oldalra. onnan hogy tudnám visszairányitani az előző oldalra?


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 17. - 20:17:59
header("Location: HOVA_KELL_IRANYITANI");


Cím: Re: PHP
Írta: TreamX - 2008. 02. 20. - 08:16:21
a belépés már naggyából télleg jó, majd még 7végén megpróbálom megcsinálni, csak most suli :(
A tag lista kiirásában viszont valami nemjó
Kód:
<style>
@import url(css/header.css);
@import url(css/left.css);
@import url(css/news.css);
@import url(css/right.css);
@import url(css/footer.css);
</style>

<div id="news">
<div id="bannerh">
<div id="banner">
<a href="http://vtpc.extra.hu" class="bl"><img src="banners/gif/vtpc.gif" /></a>
</div>
</div>
<div id="newsheader">
<p class="newssz">Garázs</p>
</div>
<div id="newst">
<p class="ntt">
<?php
include ("config.php");
$nevek = ($_POST['nev']);
$id = ($_POST['id']);
$_SESSION['nevek'] = $_POST['nev'];
$result mysql_query("select `id`, `nev`, `msn`, `weboldal`, `mail`  from `tag` order by `nev` asc");
while ( 
$row mysql_fetch_assoc($result) ){
echo 
$row['id'] , "."$row['nev'] , "<br>" ;
}
mysql_free_result($result);
?>

</div>
</div>

És nekem az kéne hogy sorba egymás után irja ki:
1.
2.
3.
stb...
ehelyett:

1.anatre
9.Contendente
8.karcsi65
2.Kriszke


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 22. - 09:18:42
Szerencsetlen PHP/SQL azt csinalja amit te neki mondasz. Nev szerint novekvo sorrendbe irja ki a taglistat. Ha a szamozast akarod, hogy sorrendbe legyen, akkor egy segedvaltozoban kell azt megjegyezd es nem az SQL sorszamat kiirasd (hanem nem lesz ABC sorrendben a nev szerint).

Kód:
<?php
include ("config.php");
$nevek = ($_POST['nev']);
$id = ($_POST['id']);
$_SESSION['nevek'] = $_POST['nev'];
$result mysql_query("select `id`, `nev`, `msn`, `weboldal`, `mail`  from `tag` order by `nev` asc");

$index 1;

while ( 
$row mysql_fetch_assoc($result) ){
echo 
$index "."$row['nev'] , "<br>" ;
$index++;
}
mysql_free_result($result);
?>


Cím: Re: PHP
Írta: TreamX - 2008. 02. 23. - 09:34:44
Nah így már jó, köszi  ;)
A bejelentkezéshez visszatérve, ha valaki úgy jelentkezik be, hogy nincs regelve, akkor ez jön be:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

Aztán mikor visszalép a jó oldalra, neki is kiirja hogy Üdvözöllek valaki stb...
index.php
Kód:
<?php
if ( isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true ){
    echo 
"<ul>Üdvözöllek" .$_SESSION['nev']. "!</ul>";
echo "<ul><a href=logout.php>Kilépés</a></ul>";// a vedett tartalom
  
}else{
  
echo "<form action=login.php method=post>";
echo "<ul>Név: <input type=text name='nev'</ul>";
echo "<ul>Jelszó: <input type=password name='jelszo'</ul>";
echo "<ul><input type=submit name=mehet></form></ul>";
echo "<ul><a href=index.php?module=reg>Regisztráció</a></ul>";
echo "<ul><a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a></ul>";
    
// az urlap, amelyben a form action="login.php"
    
if ( isset($_GET['loginError']) ){
echo "valami gond van";
     
// mi tortenik, mit ir ki, ha belepesi gond
    
}
    
    if ( isset(
$_GET['loggedOut']) ){
header("Location: index.php");
      
// mi tortenik, mit ir ki, ha sikeresen kilepet
    
}
  }
?>
login.php
Kód:
<?php
//login.php
include("config.php");
  
session_start();
  
  if ( isset(
$_POST['nev'])  && isset($_POST['jelszo']) ){
    
$_SESSION['loggedIn'] = true;
    
$_SESSION['nev'] = $_POST['nev'];
    
$_SESSION['jelszo'] = $_SESSION['jelszo'];
    
$nev htmlspecialchars($_POST['nev']);
    
$jelszo md5($_POST['jelszo']);
$jelszo substr($jelszo0,20);
    
$csatlakozas mysql_query("SELECT * FROM tag WHERE nev ='$nev' and jelszo='$jelszo'");
    
$ellenoriz mysql_num_rows($csatlakozas);
    if (
$ellenoriz == 1) { //ha a felh.nev meg a jelszo egybetartozik
    
session_register('nev');  //tarolja a nevet
header("Location: index.php");
}
    
  }else{
    
header("Location: index.php?loginError");
    die();
  }
?>



Cím: Re: PHP
Írta: Csiga - 2008. 02. 23. - 22:12:24
Ezt valószínű azért csinálja, mert ahogy látszik a kódban, ha küldött nevet és passt akkor egyből megcsinálja a loggedin sessiont és ha frissít a session meglesz, de igazából érvényes nev/jelszo párosa meg nincs.
Nem vok nagy php-s de sztem itt a baki


Cím: Re: PHP
Írta: ColdFly - 2008. 02. 23. - 22:54:24
Üdv!

Kellene némi segítség a regisztrációhoz. Jelenleg úgy van megoldva, hogy egymás után írja ki a lehetséges hibaüzeneteket, de úgy szeretném megvalósítani, hogy mindent írjon ki egyszerre (például nincs név beírva, nincs e-mail, e-mail nem egyezik...)

Valami ötlet, javaslat?

Kód:

<?php
function register(){
$parancs="SELECT * FROM beallitasok"
$eredmeny mysql_query($parancs);

while(
$tomb mysql_fetch_array($eredmeny)){
$reg=$tomb['reg'];
}

if(
$reg == '1'){
if(
$_POST['func'] == "adduser") { // Itt választod ki hogy csakk akkor fusson le ha van Postolt func változó, melynek értéke "adduser"
  
if ( $_POST[password] != "" && $_POST[password2] != "" && $_POST[email] != "" && $_POST[email1] != "" && $_POST[username] != "" ){
     
     if((
$_POST["email"] == $_POST["email1"]) && ($_POST['password'] == $_POST['password2'])){
  if(
mysql_query("INSERT INTO `juzerek` (`id`,`username`,`password`,`email`,`jogosultsag`,`telnev`,`megye`,`varos`,`szulev`,`foglalkozas`,`webcim`,`msn`,`skype`) VALUES ('','".$_POST["username"]."','".md5($_POST['password'])."','".$_POST["email"]."','".$_POST["jogosultsag"]."','".$_POST["telnev"]."','".$_POST["megye"]."','".$_POST["varos"]."','".$_POST["szulev"]."','".$_POST["foglalkozas"]."','".$_POST["webcim"]."','".$_POST["msn"]."','".$_POST["skype"]."')")){ echo 'Sikeresen regisztráltál!'; } else { echo 'A regisztráció folyamán ismeretlen probléma lépett fel. Kérlek ellenőrizd, hogy minden adatot helyesen adtál-e meg!'; }


  }elseif(
$_POST["password"] != $_POST["password2"]){
      echo 
"Sajnálom, de nem egyeznek meg a beírt jelszavak :(";
  }elseif((
$_POST["email"]) != ($_POST["email1"])){
      echo 
"Sajnálom, de nem egyeznek az e-mail címek:(";
   }
 
  
}else{
print 
"Nem töltöttél ki minden mezőt!";
}
}

 
?>



<table summary="" cellpadding="0" cellspacing="0" width="500" border="0">
<tr>
<td height="20" style="padding-left: 3px; padding-right: 5px; padding-top: 5px;" align="center"><b>Regisztráció</b><br /><br /></td>
</tr>
<tr>
<td style="padding-left: 3px; padding-right: 5px; padding-top: 5px; text-align: justify" align="center">

<form method="post" action="">
<input type="hidden" name="func" value="adduser"/>
<table width="500" align="center" border="0" cellspacing="1" cellpadding="0">
<tr>
  <td align="right"><b>Felhasználói név:&nbsp;</b></td>
  <td><input type="text" name="username" size="30" maxlength="50"/></td>
 </tr>
 <tr>
  <td align="right"><b>Jelszó:&nbsp;</b></td>
  <td><input type="password" name="password" size="30" maxlength="50"/></td>
 </tr>
 <tr>
  <td align="right"><b>Jelszó ismét:&nbsp;</b></td>
  <td><input type="password" name="password2" size="30" maxlength="50"/></td>
 </tr>

 <tr>
  <td align="right"><b>e-mail:&nbsp;</b></td>
  <td><input type="text" name="email" size="30" maxlength="50"/><input type="hidden" name="jogosultsag" value="1"></td>
 </tr>
<tr>
  <td align="right"><b>e-mail ismét:&nbsp;</b></td>
  <td><input type="text" name="email1" size="30" maxlength="50"/></td>
 </tr>

  <tr>
  <td align="center" colspan="2"><b><br><br>Személyes adatok:&nbsp;<br /><br /></b></td>
  </tr>
<tr>
  <td align="right"><b>Teljes név:&nbsp;</b></td>
  <td><input type="text" name="telnev" size="30" maxlength="50" /></td>
 </tr>
  <tr>
  <td align="right"><b>Megye:&nbsp;</b></td>
  <td><input type="text" name="megye" size="30" maxlength="50" /></td>
 </tr>
  <tr>
  <td align="right"><b>Település:&nbsp;</b></td>
  <td><input type="text" name="varos" size="30" maxlength="50" /></td>
 </tr>
    <tr>
  <td align="right"><b>Születési dátum:&nbsp;</b></td>
  <td><input type="text" name="szulev" size="30" maxlength="50" /></td>
 </tr>
    <tr>
  <td align="right"><b>Foglalkozás:&nbsp;</b></td>
  <td><input type="text" name="foglalkozas" size="30" maxlength="50" /></td>
 </tr>
   <tr>
  <td align="right"><b>Weboldalad címe:&nbsp;</b></td>
  <td><input type="text" name="webcim" size="30" maxlength="50" /></td>
 </tr>
   <tr>
  <td align="right"><b>MSN:&nbsp;</b></td>
  <td><input type="text" name="msn" size="30" maxlength="50" /></td>
 </tr>
   <tr>
  <td align="right"><b>Skype:&nbsp;</b></td>
  <td><input type="text" name="skype" size="30" maxlength="50"  /></td>
 </tr>
 <tr>
  <td align="center" colspan="2"><br /><input type="submit" value="Mehet!" /><br /></td>
  </tr>
 

</table>




    </form>
    </td>
</tr>
<tr>
<td height="25"></td>
</tr>
</table>


<?php
}else{

 print 
"Sajna jelenleg nincs regisztráció. Kérlek nézz vissza később!";
}
?>


<br>
<!-- USER REG VEGE -->

  <?php
}
<?

Ezt a részt egy adminisztrációs fájl tartalmazza :) Elnézést kérek a rendezetlenségért, ezt ugymond tesztként irogattam. :)


Cím: Re: PHP
Írta: Laller - 2008. 02. 24. - 13:34:38
Üdv!

Kellene némi segítség a regisztrációhoz. Jelenleg úgy van megoldva, hogy egymás után írja ki a lehetséges hibaüzeneteket, de úgy szeretném megvalósítani, hogy mindent írjon ki egyszerre (például nincs név beírva, nincs e-mail, e-mail nem egyezik...)

Valami ötlet, javaslat?

én csinálnék egy $hiba tömböt, echo helyett abba pakolnám a hibaüzeneteket.
elseif helyet mindegyik feltételen sima if-el mennék végig, hogy tutira meg legyenek nézve. Ha bibi van, hozzácsapni az üzenetet a tömbhöz.

Insert az egésznek a végén, de csak akkor, ha a $hiba nem létezik, vagy nem tartalmaz elemet.
Ha tartalmaz elemet, akkor szépen végig kell menni a tömbön és ki echo-zni ami benne van.


Cím: Re: PHP
Írta: Tupacko - 2008. 02. 24. - 20:41:49
TreamX: nezd meg, hogy ne legyen olyan eseted, hogy letezen olyan globalis valtozod, ami a munkamenetben is van, pl.:

Kód:
<?php
  $_SESSION
['valami'] = "qwerty";
  
//es
  
$valami "asdfg";
?>


ColdFly, egyetertek Laller valaszaval.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 02. - 16:13:17
Ezt nemhiszem el már.. egész 7végén ezt a sz.rt csináltam és még mostsem jó :@
index.php
Kód:
<?php
if ( isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true ){
    echo 
"<ul><font color=#cccccc>Üdvözöllek " .$_SESSION['nev']. "!</font></ul>";
echo "<ul><a href=index.php?module=profil&id=1>Profil </ul>";
echo "<ul><a href=logout.php>Kilépés</a></ul>";// a vedett tartalom
  
}else{
echo "<table><tr width=270px><td width=30px><form action=login.php method=post><ul><font color=#cccccc>Név:</td><td width=240px> <input type=text name='nev'</font></ul></td></tr>";
echo "<tr width=270px><td width=30px><ul><font color=#cccccc>Jelszó: </td><td width=240px><input type=password name='jelszo'></font></ul></td></tr></table>";
echo "<ul><input type=submit name=mehet></form></ul>";
echo "<ul><a href=index.php?module=reg>Regisztráció</a></ul>";
echo "<ul><a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a></ul>";
    
// az urlap, amelyben a form action="login.php"
}


    
    if ( isset(
$_GET['loggedOut']) ){
header("Location: index.php");
session_destroy();
      
// mi tortenik, mit ir ki, ha sikeresen kilepet
    
}

if (isset($_GET['hiba']) ){
echo "Rossz felhasználónév vagy jelszó!";
}

  
?>


login.php
Kód:
<?php
//login.php
include("config.php");
  
session_start();

 
if ( isset($_POST['nev'])  && isset($_POST['jelszo']) ){
    
$_SESSION['loggedIn'] = true;
    
$_SESSION['nev'] = $_POST['nev'];
    
$_SESSION['jelszo'] = $_SESSION['jelszo'];
    
$nick htmlspecialchars($_POST['nev']);
    
$pwd md5($_POST['jelszo']);
$pwd substr($jelszo0,20);
    
$csatlakozas mysql_query("SELECT * FROM tag WHERE nev ='$nick' and jelszo='$pwd'");
    
$ellenoriz mysql_num_rows$csatlakozas );
    
if ($ellenoriz == 1) { //ha a felh.nev meg a jelszo egybetartozik
   
session_register('nev');  //tarolja a nevet
header("Location: index.php");
}
    
 
}
elseif (isset($_POST['nev']) && isset($_POST['jelszo']) && strlen($_POST['nev']) != "" || strlen($_POST['jelszo']) != ""){
   
header("Location: index.php?hiba");
 
}
?>

Van egy feltöltésem is... az sem a legtökéletesebb.. összevissza irja ki ha nincs kitöltve minden mező, vagy nem jó a fájltipus..
Kód:
<?php
include("config.php");
if ( isset(
$_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true 
{

print "<p class=ntt>";
print "<ul class='ulreg'><form name='upload' method=POST action=index.php?module=upload enctype='multipart/form-data'></ul>";
print "<ul class='ulreg'>Autó neve: <input type=text name='autoneve' /></ul>";
print "<ul class='ulreg'>Leírás: <input type=text name='leiras' /></ul>";
print "<ul class='ulreg'>Eredeti kép: <input type=text name='eredeti' /></ul>";
print "<ul class='ulreg'>Fájl: <input type=file name='file'></ul>";
print "<ul class='ulreg'><input type=submit name='submit' value=Mehet></form></ul>";
print "</p>";


if(isset($_POST['submit']) && $_POST['submit'] == true) {

//ha elküldtük az űrlapot
if ( $HTTP_POST_FILES["file"]["type"] == "image/jpeg" )

//ezzel tudjuk ellenőrizni milyen típusú fájlt lehet feltölteni

move_uploaded_file($_FILES["file"]["tmp_name"],"upload/images/".$_FILES["file"]["name"]);
//ez maga a feltöltés
echo "<ul class='ulreg'>Sikeres feltöltés. Köszönjük!</ul>";
}
elseif( strlen($_POST['autoneve']) != "" || strlen($_POST['leiras']) != "" || strlen($_POST['file']) != "") {
echo "<ul class='ulreg'>Nem töltöttél ki minden mezőt</ul>";
}
else if( $HTTP_POST_FILES["file"]["type"] != "image/jpeg" ) {
echo "<ul class='ulreg'>Nem megfelelő a fájltípus!</ul>";
}
}



}


else {
echo 
"Az oldal megtekintéséhez be kell jelentkezned. Amennyiben nem vagy regisztrálva, <a href=index.php?module=reg>itt</a> megteheted!";
}
?>


Cím: Re: PHP
Írta: ColdFly - 2008. 03. 05. - 20:06:51
Azon gondolkozom, hogy olyan tutorial kellene, ami template kezeléssel fogalkozik
(beleértve mysqlben változtatható kinézet)
pl /themes/themeneve/theme.kiterjesztes
a themefilet csak csak megírom, az index.php tartalmával vannak gondjaim.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 06. - 16:15:33
azon gondolkodom, hogyan lehetne egy lapozót csinálni, ha így hivják. szóval hogy egy oldalon csak 20 tag jelenjen meg, ha ez megvan automatikusan kreáljon egy újabb lapot..


Cím: Re: MySQL
Írta: AAron - 2008. 03. 06. - 19:39:41
Egy sorompóba ütköztem a mysql terén.
Készítettem kínszevedések árán egy profil űrlapot, ahol a tagok tölthetik fel/változtathatják adataikat.
Kitaláltam, hogy egy user képet is töltsön fel magáról.
A képet miután feltöltötte, egy előre beállított méretre kicsinyítse le.
A célom ezzel nem az, hogy minél több képet töltsön fel a user, hanem inkább mint egy avatar, legyen megjelenítve.
Tehát a feltöltéssel van gondom, és a lekérdezésével.
Ha bárki tudna nekem ebben segíteni azt megköszönném.


Cím: Re: PHP
Írta: ColdFly - 2008. 03. 06. - 20:27:33
Az nekem is jól jönne: listáznom kell a cikkeket, a vendégkönyv postokat, a kommenteket, szal... :)


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 07. - 00:45:43
AAron, a beérkezett adatok kezeléséről egy kódrészleted van?
Hasznos linkek a témában:
http://www.w3schools.com/php/php_file_upload.asp
http://us3.php.net/features.file-upload
http://www.tizag.com/phpT/fileupload.php


Cím: Re: PHP
Írta: TreamX - 2008. 03. 07. - 20:25:02
szóval most van 1 feltöltésem, és azt akarom hogy minden adatot (auto neve , leírás, stb..) tárolja mysql-be, meg a feltöltő nevét is.
eddig itt tartok:

Kód:
<?php
include("config.php");
if ( isset(
$_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true 
{

print "<p class=ntt>";
print "<ul class='ulreg'><form name='upload' method=POST action=index.php?module=upload enctype='multipart/form-data'></ul>";
print "<ul class='ulreg'>Autó neve: <input type=text name='autoneve' /></ul>";
print "<ul class='ulreg'>Leírás: <input type=text name='leiras' /></ul>";
print "<ul class='ulreg'>Eredeti kép: <input type=text name='eredeti' /></ul>";
print "<ul class='ulreg'>Fájl: <input type=file name='file'></ul>";
print "<ul class='ulreg'><input type=submit name='submit' value=Mehet></form></ul>";
print "</p>";
$autoneve $_POST['autoneve'];
$leiras $_POST['leiras'];
$eredeti $_POST['eredeti'];
$file $_POST['file'];

if(isset($_POST['submit']) && $_POST['submit'] == true) {
$elkuld mysql_query("insert into upload ('autoneve' , 'leiras' , 'eredeti' , 'file') VALUES ('$autoneve' , '$leiras' , '$eredeti' , '$file')"); 
//ha elküldtük az űrlapot
if ( $HTTP_POST_FILES["file"]["type"] == "image/jpeg" )

//ezzel tudjuk ellenőrizni milyen típusú fájlt lehet feltölteni

move_uploaded_file($_FILES["file"]["tmp_name"],"upload/images/".$_FILES["file"]["name"]);
//ez maga a feltöltés
echo "<ul class='ulreg'>Sikeres feltöltés. Köszönjük!</ul>";
}
elseif( strlen($_POST['autoneve']) != "" || strlen($_POST['leiras']) != "" || strlen($_POST['file']) != "") {
echo "<ul class='ulreg'>Nem töltöttél ki minden mezőt</ul>";
}
else if( $HTTP_POST_FILES["file"]["type"] != "image/jpeg" ) {
echo "<ul class='ulreg'>Nem megfelelő a fájltípus!</ul>";
}
}



}


else {
echo 
"Az oldal megtekintéséhez be kell jelentkezned. Amennyiben nem vagy regisztrálva, <a href=index.php?module=reg>itt</a> megteheted!";
}
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 07. - 21:12:58
Ameddig nem ellenőrzöd, ha valóban van értéke a változónak, addig nem érdemes tovább futtatni a kódot:

Kód:
// ellenőrzés?

$autoneve = $_POST['autoneve'];
$leiras = $_POST['leiras'];
$eredeti = $_POST['eredeti'];
$file = $_POST['file'];


Cím: Re: PHP
Írta: TreamX - 2008. 03. 07. - 21:36:43
hmmm. ellenőrizni így?...
if (!empty ($_POST['vmi']) && !empty($_POST['vmi1']) ...) {

//?


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 08. - 00:20:53
Példáúl :) Nem egyéb, másként nem tudod, hogyha fel kell dolgozz valami adatot vagy sem.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 08. - 00:36:59
ááá, már aztse tudom mi hogy van, tele van mindnen iffel, mindig csak hiba hiba után :(
most pl.:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /nfs/extra/v/vt/vtpc/wwwroot/upload.php on line 45

akkor ez se jó neki sose:
Kód:
$elkuld = mysql_query("INSERT INTO upload ( autoneve, leiras, eredeti, file ) VALUES ( $_POST['autoneve'],

$_POST['leiras'], $_POST['eredeti'], $_POST['file'])");


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 08. - 00:52:52
Nyugodj meg, hagyd abba egy kicsit, aztán próbáld újra. Mindenkinek vannak nehezebb és könnyebb napjai. Az SQLed nem helyes, azért nem jó neki :) A filet nem tárolnám SQLben, mert sok idő kezelni őket, inkább egy könyvtárba tárolnám. A maradék adatot így illeszd a táblába (figyelj, hogy ha szöveg, akkor azt aposztrófok közt ad át):

Kód:
$elkuld = mysql_query("INSERT INTO `upload` (`autoneve`, `leiras`, `eredeti`) VALUES ( '".$_POST['autoneve']."', '".$_POST['leiras']."', '".$_POST['eredeti']."')");


Cím: Re: PHP
Írta: TreamX - 2008. 03. 08. - 00:57:07
jah, így már jó köszi :)
szóval én nem a filet akarom tartani az sql-be, hanem hogy majd ha lesz az admin menü, ott kilistázza nekem a feltöltött cuccokat, és ne ftp-n kelljen nekem keresgélnem hogy akkor most meik hova tartozik, mi a linkje, hanem sql-be tárolja azt hogy ki töltötte fel, autó neevét.. file nevét és elérési útját.
# de ahogy elnézem ez semmit nem tárol..  :'(


Cím: Re: PHP
Írta: TreamX - 2008. 03. 08. - 10:17:24
közbe elkezdtem csinálni az admin menüt..
de van 1 kis gond, és nemtom hogy az e amire én gondolok.
Szóval ugye az admin csak ugy lehet megnézni ha bejelentkezel, és admin vagy.
nekem a bejelentkezésem a "főmappában" van, az admin menü pedig a moduls/ mappában van, és oda hogy lehet átvinni azt amit regisztrált sessiont? vagyis azt, hogy az illető bejelentkezett. Szerintem ez a gond. Admin.php:
Kód:
<?php
include ("../config.php");
$kapcsolat mysql_query("SELECT * FROM tag");
$row mysql_fetch_assoc($kapcsolat);
if (isset(
$_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true && $row['rang'] == 'Admin' ) {
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Adminisztráció</title>
<style>
table.sample {
width: 800px;
border-width: 1px 1px 1px 1px;
border-spacing: 1px;
border-style: none none none none;
border-color: gray gray gray gray;
border-collapse: collapse;
border-bottom: none;
padding-left: 4px;
padding-right: 2px;
color: #CCCCCC;
font-size: 14px;
}
table.sample th {
width: auto;
border-width: 1px 1px 1px 1px;
padding: 2px 2px 2px 2px;
border-style: solid solid solid solid;
border-color: gray gray gray gray;
-moz-border-radius: 0px 0px 0px 0px;
border-bottom: none;
padding-left: 4px;
padding-right: 2px;
color: #CCCCCC;
font-size: 14px;
}
table.sample td {
border-width: 1px 1px 1px 1px;
padding: 2px 2px 2px 2px;
border-style: solid solid solid solid;
border-color: gray gray gray gray;
-moz-border-radius: 0px 0px 0px 0px;
padding-left: 4px;
padding-right: 2px;
color: #CCCCCC;
font-size: 14px;
}
</style>
</head>

<body>
<table class="sample">
<?php
//menu
echo "<tr width=200px><td width=200px><a href='admin.php?act=hir'>Hírkezelés</a></td></tr>";
echo 
"<tr width=200px><td width=200px><a href='admin.php?act=vt'>VT-k</a></td></tr>";
echo 
"<tr width=200px><td width=200px><a href='admin.php?act=newvt'>Új VT-k</a></td></tr>";
echo 
"<tr width=200px><td width=200px><a href='admin.php?act=tag'>Tagok</a></td></tr>";
echo 
"<tr width=200px><td width=200px><a href='admin.php?act=menu'>Menükezelés</a></td></tr>";
echo 
"<tr width=200px><td width=200px><a href='admin.php?act=verseny'>Versenyek</a></td></tr>";
?>

<?php
//alkalmazas
$modules["hir"] = "hir.php";
$modules["tag"] = "users.php";
$modules["vt"] = "vt.php";
$modules["newvt"] = "newvt.php";
$modules["menu"] = "menu.php";
$modules["verseny"] = "verseny.php";
 
$act "main.php"//az alap betoltes, ha nincs megadva a module valtozo
 
if ( !isset($_GET["act"]) ){
  
$get_mod "";
}
else 
$get_mod strip_tags(htmlentities($_GET["act"]));
 
foreach(
$modules as $mod => $act_m){
  if( 
strcmp($mod,$get_mod) == ){
    
$act $act_m;
    break;
  }
}
 
if ( 
file_exists($act) ){
  include 
$act;
}
else{
 include (
"../hibaoldal.php");
 
  
/**
   * vagy beolvashatsz egy sajat hibaoldalt is, ha azt irod, hogy
   * inlude "hibaoldal.php";
   *
   */
}
?>

</table>
</body>
</html>
<?php
}
else {
echo 
"Az oldal megtekintéséhez bekellene jelentkezned apám";
}


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 08. - 10:50:24
A gond az, hogy nem indítottad el a munkamenetetm. Így nem is működhet. Kz include config elé írd be a session_start()-ot. A mappák közti vándorlás nem gond a munkamenet szempontjából, lekezeli a szerver, neked nem kell emiatt fájjon a fejed :)
Amennyiben a file elérésí útját akarod tárolni, akkor simán beilleszted, mint az autó nevét vagy a leírást.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 08. - 10:55:15
Köszi, így már jó. :)

Ami a feltöltést illeti:
1. Nem tölti fel a filet valamiért :(
2. Az adatokat nem teszi fel mysql-be :(

Kód:
//upload.php
<?php
session_start
();
?>

<style>
@import url(css/header.css);
@import url(css/left.css);
@import url(css/news.css);
@import url(css/right.css);
@import url(css/footer.css);
</style>




<div id="news">
<div id="bannerh">
<div id="banner">
<a href="http://vtpc.extra.hu" class="bl"><img src="banners/gif/vtpc.gif" /></a>
</div>
</div>
<div id="newsheader">
<p class="newssz">Feltöltés</p>
</div>
<div id="newst">
<p class="ntt">
<table width="520px" border="0">
<?php
include("config.php");
if ( isset(
$_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true 
{

print "<p class=ntt>";
print "<form name='upload' method=POST action=index.php?module=upload enctype='multipart/form-data'>";
print "<tr width=520px><td width=80px><ul class='ulreg'>Autó neve: </td><td><input type=text name='autoneve' /></ul></td></tr>";
print "<tr width=520px><td width=80px><ul class='ulreg'>Leírás: </td><td><input type=textarea name='leiras' /></ul></td></tr>";
print "<tr width=520px><td width=80px><ul class='ulreg'>Eredeti kép: </td><td><input type=text name='eredeti' /></ul></td></tr>";
print "<tr width=520px><td width=80px><ul class='ulreg'>Fájl: </td><td><input type=file name='file'></ul></td></tr>";
print "<tr width=520px><td width=80px><ul class='ulreg'><input type=submit name='submit' value=Mehet></form></ul></td></tr>";
print "</p>";
if(isset($_POST['submit']) && $_POST['submit'] == true) {
if(!empty($_POST['autoneve']) && !empty($_POST['leiras']) && !empty($_POST['eredeti']) && !empty($_POST['file'])) {
$autoneve $_POST['autoneve'];
$leiras $_POST['leiras'];
$eredeti $_POST['eredeti'];
$file $_POST['file'];
//ha elküldtük az űrlapot
if ( $HTTP_POST_FILES["file"]["type"] == "image/jpeg" )

//ezzel tudjuk ellenőrizni milyen típusú fájlt lehet feltölteni

move_uploaded_file($_FILES["file"]["tmp_name"],"upload/images/".$_FILES["file"]["name"]);
//ez maga a feltöltés
$elkuld mysql_query("INSERT INTO `upload` (`autoneve`, `leiras`, `eredeti`) VALUES ( '".$_POST['autoneve']."', '".$_POST['leiras']."', '".$_POST['eredeti']."')");
echo "<ul class='ulreg'>Sikeres feltöltés. Köszönjük!</ul>";
}
}
if( empty($_POST['autoneve']) || empty($_POST['leiras']) || empty($_POST['file'])) {
echo "<ul class='ulreg'>Nem töltöttél ki minden mezőt</ul>";
}
elseif( $HTTP_POST_FILES["file"]["type"] != "image/jpeg" ) {
echo "<ul class='ulreg'>Nem megfelelő a fájltípus!</ul>";
}
}



}


else {
echo 
"Az oldal megtekintéséhez be kell jelentkezned. Amennyiben nem vagy regisztrálva, <a href=index.php?module=reg>itt</a> megteheted!";
}
?>

</table>
</div>
</div>


Cím: Re: PHP
Írta: AAron - 2008. 03. 08. - 14:22:06
AAron, a beérkezett adatok kezeléséről egy kódrészleted van?

Van egy oldal ahol kitöltöm az adatokat, meg van egy amiben kiolvassa azt.
Melyikből kérdezed a kódrészletet? és melyik részből?


Cím: Re: PHP
Írta: Csiga - 2008. 03. 08. - 14:59:02
Hali!
Nekem is volna egy jó kis kérdésem :)
Shoutcasttal nyomatunk szerverről egy kis rádiót, namost, nekem kellene kinyerni php segítségével a weboldalra az éppen futtatott szám címét esetleg hosszát a rádió nevét stbstb.
De nem tudom, hogy milyen fájlt vagy mit is kellene elérni.
Az fsockopen() fgv megy, azzal nincs gond :)


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 08. - 16:24:46
Aaron: az a kodreszlet erdekel, ami hibas :) A nelkul, hogy mondjam meg, hol hibas. Szerintem sem mas, sem en nem tudjuk kod nelkul megoldani a gondod ;)

Csiga, nem ertek a Shoutcasthoz :(


Cím: Re: PHP
Írta: AAron - 2008. 03. 08. - 16:43:51
Tupacko:
De én nem azt írtam hogy hibás. :) Azt mondtam, hogy Nem tudom megvalósítani azt hogy egy user képet töltsön fel, és például ha megnézem a taglistát akkor a neve melett. ott legyen a képe, amit feltöltött.
Ezért kérdezem, hogy hol tudok utánanézni?
Megnéztem a linkeket, az egyikkel próbáltam valamit de semmi sem ment. :(


Cím: Re: PHP
Írta: Csiga - 2008. 03. 08. - 17:39:12
Csiga, nem ertek a Shoutcasthoz :(

Nem para, találtam a shoutcast fórumában egy kis izét, ami tökéletesen erre a célra lett kifejlesztve :)
Innen lehet leszedni: http://www.kription.com/scxml/recent.html (http://www.kription.com/scxml/recent.html)

Hátha kell majd valakinek :D


Cím: Re: PHP
Írta: TreamX - 2008. 03. 08. - 18:05:17
Na sikerült megcsinálni, az egyszerű kis hír író cikkemet.
És a megjelenítést is, ami egy kicsit bugos, de nem jövök rá hogy mi a baja.
A megjelenítő:
Kód:
<?php
include ("config.php");
?>

<style>
@import url(css/header.css);
@import url(css/left.css);
@import url(css/news.css);
@import url(css/right.css);
@import url(css/footer.css);
</style>

<div id="news">
<div id="bannerh">
<div id="banner">
<a href="http://vtpc.extra.hu" class="bl"><img src="banners/gif/vtpc.gif" /></a>
</div>
</div>

<div id="newsheader">
<p class="newssz">
<?php
$kapcsolat 
mysql_query("SELECT * FROM hirek");
while ( 
$row mysql_fetch_assoc($kapcsolat) ){
//cim
echo $row['cim'] ;
?>

</p>
</div>
<div id="newst">
<p class="ntt">
<?php
//hir
echo $row['szoveg'] ;
?>

</div>
<div id="newsfooter">
<p class="nft">
<?php 
//iro
echo "Írta: " .$row['iro'] ;
}
?>

</p>
</div>
</div>

Az első hír címét rendesen megjeleníti, de a többit rögtön az "Írta:" után teszi
És még annyit, hogy hogy tudom megcsinálni, hogy mindig a legfrissebb legyen legfelül?
Itt lehet megnézni:
http://vtpc.extra.hu/index.php?module=main (http://vtpc.extra.hu/index.php?module=main)


Cím: Re: PHP
Írta: TreamX - 2008. 03. 08. - 20:59:06
Hogy tudom megcsinálni, h megadjak egy dátumot? és azt értelmezze is valahog az SQL v PHP, és ha az a dátum lejárt, pl 2008.03.23. Akkor az eltünjön? meg még pár dolog változzon..


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 09. - 01:30:26
Hmm, pedig azok a kódok jók. Valamit elnézhettél :(


Cím: Re: PHP
Írta: TreamX - 2008. 03. 09. - 09:36:04
jajaja. sikerült kijavítani, most újabb hibába ütköztem. hiba hiba hátán  :-X
Megpróbálok egy olyat csinálni, hogy beállitok adminból egy időt, azt elküldi mysql-be.
Azt összehasonlítom a pillanatnyi idővel, és ha még nem telt le akkor kiirja hogy: Beküldési határidő: 2008.03.24 23:59:59 (Pl.)
És ha már letelt, akkor meg kiirja hogy Tovább (egy link)
De nemtudom, hogy sql-be azt a mezőt amiben a dátumot tárolja, mien Típusnak állitsam be( Timestap, Datetime stb..)
a jelenlegi kódom:

Kód:
<?php
//adatok kiszedese
$kapcsolat mysql_query("SELECT * FROM `versenyek` WHERE id='$id' && com='$com' ");
$kapcsolat mysql_query("SELECT * FROM `versenyek` ORDER BY id DESC");
$id $_GET['id'];
$com $_GET['id'];

if (empty(
$_GET['id']) && empty($_GET['com'])) { //a versenyek listazasa
while ( $row mysql_fetch_assoc($kapcsolat) ){
echo 
"<div id=newsheader><p class=newssz>";
echo 
$row['cim']; //cim
echo "</p></div>";
echo 
"<div id=newst><p class=ntt>";
echo 
$row['szoveg'] ."<br>"//szoveg
echo "<a href='" .$row['file'] ."'><img src='" $row['file'] . "' class=smallrace></a>";
$most time();
if ( 
$row['hatarido'] <= $most ) {
echo 
"<br>Bek&uuml;ld&eacute;si hat&aacute;rid&ocirc;: " $row['hatarido'];
}
elseif ( 
$row['hatarido'] > $most ) {
echo 
"<br><a href='index.php?module=verseny&id=" $row['id'] . "'>Tovább</a>";
}
echo 
"</p></div>";
echo 
"<div id=newsfooter><p class=nft>";
echo 
"<a href='index.php?module=verseny&com=" $row['com'] . "'>Kommentek</a>"//comment
echo "</p></div>";
}
}


if (!empty(
$_GET['id'])) { //ha raklikkeltek valamelyik versenyre
while ( $row mysql_fetch_assoc($kapcsolat) ){
echo 
"<div id=newsheader><p class=newssz>";
echo 
$row['cim']; //cim
echo "</p></div>";
echo 
"<div id=newst><p class=ntt>";
echo 
$row['szoveg'] ."<br>"//szoveg
echo "<a href='" .$row['file'] ."'><img src='" $row['file'] . "' class=smallrace></a></p><hr>";
echo 
"<p class=ntt>ha raklikkeltek";
echo 
"</p></div>";
echo 
"<div id=newsfooter><p class=nft>";
echo 
"<a href='index.php?module=verseny&com=" $row['com'] . "'>Kommentek</a>"//comment
echo "</p></div>";
}
}

if (!empty(
$_GET['com'])) {
while ( 
$row mysql_fetch_assoc($kapcsolat) ){
echo 
"<div id=newsheader><p class=newssz>";
echo 
$row['cim']; //cim
echo "</p></div>";
echo 
"<div id=newst><p class=ntt>";
echo 
$row['szoveg'] ."<br>"//szoveg
echo "<a href='" .$row['file'] ."'><img src='" $row['file'] . "' class=smallrace></a></p><hr>";
echo 
"<p class=ntt>a commentek";
echo 
"</p></div>";
}
}
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 09. - 10:42:43
Az összeférhetőség végett, én egy varcharban tárolnám a MySQLben is a PHP timestampet, azért mert a MySQL timestamp függ a szerver beállításaitól és az SQL verziójától is.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 09. - 10:56:49
fúú várj, ezt nem nagyon értem. szal sql-ben állitsam át varcharra addig ok. és aztán? :S
bassz*s már ebbe a ro*adt login rendszerbe is hogy mindig sz*r :@

Ha rossz a név/jelszó ha jó, mindenképp kiirja h üdv vki! meg a többit :@

index.php:

Kód:
<?php
include("config.php");
$kapcsolat mysql_query("SELECT * FROM tag");
$row mysql_fetch_assoc($kapcsolat);
$_GET['loginError'];
if (isset(
$_GET['loginError'])) {
echo 
"Rossz felhasználónév vagy jelszó";
}
if ( isset(
$_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true ){
echo "<ul><font color=#cccccc>Üdvözöllek " .$_SESSION['nev']. "!</font></ul>";
if ( $_SESSION['rang'] == 'Admin' ) {
echo "<ul><a href=moduls/admin.php>Admin</a></ul>";
}
echo "<ul><a href='index.php?module=garage&id=" $_row['id'] ."'>Profil</a></ul>";
echo "<ul><a href=logout.php>Kilépés</a></ul>";// a vedett tartalom
  
}else{
echo "<table><tr width=270px><td width=30px><form action=login.php method=post><ul><font color=#cccccc>Név:</td><td width=240px> <input type=text name='nev'</font></ul></td></tr>";
echo "<tr width=270px><td width=30px><ul><font color=#cccccc>Jelszó: </td><td width=240px><input type=password name='jelszo'></font></ul></td></tr></table>";
echo "<ul><input type=submit name=mehet value=Mehet></form></ul>";
echo "<ul><a href=index.php?module=reg>Regisztráció</a></ul>";
echo "<ul><a href=index.php?module=newpass>Elfelejtetted a jelszavad?</a></ul>";
    
// az urlap, amelyben a form action="login.php"
}

    
    if ( isset(
$_GET['loggedOut']) ){
header("Location: index.php");
session_destroy();
      
// mi tortenik, mit ir ki, ha sikeresen kilepet
    
}


  
?>

login.php:
Kód:
<?php
include("config.php");
  
session_start();
  
  if ( isset(
$_POST['nev'])  && isset($_POST['jelszo']) ){
    
$_SESSION['loggedIn'] = true;
$_SESSION['nev'] = $_POST['nev'];
    
$_SESSION['jelszo'] = $_POST['jelszo'];
    
$nev htmlspecialchars($_POST['nev']);
    
$jelszo md5($_POST['jelszo']);
$jelszo substr($jelszo0,20);
    
$csatlakozas mysql_query("SELECT * FROM tag WHERE nev ='$nev' and jelszo='$jelszo'");
    
$ellenoriz mysql_num_rows($csatlakozas);
    if (
$ellenoriz == 1) { //ha a felh.nev meg a jelszo egybetartozik
    
session_register();  //tarolja az adatait
header("Location: index.php");
}
else {
header("Location: index.php?loginError");
}
}
?>

--

login megoldva Mosolyog
köv. kérdésem:
hogy tudom megnézni, hogy aki bejelentkezett, az Admin e? ezt egy rang mezőben tárolja mysql-ben.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 09. - 19:36:56
Kód:
<?php
//adatok kiszedese
$kapcsolat mysql_query("SELECT * FROM versenyek WHERE id='$id' AND com='$com' ORDER BY id DESC");
$id $_GET['id'];
$com $_GET['com'];
if (empty(
$_GET['id']) && empty($_GET['com'])) { //a versenyek listazasa
while ( $row mysql_fetch_assoc($kapcsolat) ){
echo 
"<div id=newsheader><p class=newssz>";
echo 
$row['cim']; //cim
echo "</p></div>";
echo 
"<div id=newst><p class=ntt>";
echo 
$row['szoveg'] ."<br>"//szoveg
echo "<a href='" .$row['file'] ."'><img src='" $row['file'] . "' class=smallrace></a>";
$most time();
if ( 
$row['hatarido'] <= $most ) {
echo 
"<br>Bek&uuml;ld&eacute;si hat&aacute;rid&ocirc;: " $row['hatarido'];
}
if ( 
$row['hatarido'] > $most ) {
echo 
"<br><a href='index.php?module=verseny&id=" $row['id'] . "'>Tovább</a>";
}
echo 
"</p></div>";
echo 
"<div id=newsfooter><p class=nft>";
echo 
"<a href='index.php?module=verseny&com=" $row['com'] . "'>Kommentek</a>"//comment
echo "</p></div>";
}
}


if (!empty(
$_GET['id'])) { //ha raklikkeltek valamelyik versenyre
while ( $row mysql_fetch_assoc($kapcsolat) ){
echo 
"<div id=newsheader><p class=newssz>";
echo 
$row['cim']; //cim
echo "</p></div>";
echo 
"<div id=newst><p class=ntt>";
echo 
$row['szoveg'] ."<br>"//szoveg
echo "<a href='" .$row['file'] ."'><img src='" $row['file'] . "' class=smallrace></a></p><hr>";
echo 
"<p class=ntt>ha raklikkeltek";
echo 
"</p></div>";
echo 
"<div id=newsfooter><p class=nft>";
echo 
"<a href='index.php?module=verseny&com=" $row['com'] . "'>Kommentek</a>"//comment
echo "</p></div>";
}
}

if (!empty(
$_GET['com'])) {
while ( 
$row mysql_fetch_assoc($kapcsolat) ){
echo 
"<div id=newsheader><p class=newssz>";
echo 
$row['cim']; //cim
echo "</p></div>";
echo 
"<div id=newst><p class=ntt>";
echo 
$row['szoveg'] ."<br>"//szoveg
echo "<a href='" .$row['file'] ."'><img src='" $row['file'] . "' class=smallrace></a></p><hr>";
echo 
"<p class=ntt>a commentek";
echo 
"</p></div>";
}
}
?>

Miért nem jön be semmi így?
http://vtpc.extra.hu/index.php?module=verseny


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 10. - 09:46:55
Hogy is van ez? Egyszer használod a változót, aztán deklarálod ... az SQL lekérésben még nem létezik az id nevezetű változód:

Kód:
$kapcsolat = mysql_query("SELECT * FROM versenyek WHERE id='$id' AND com='$com' ORDER BY id DESC");
$id = $_GET['id'];


Cím: Re: PHP
Írta: TreamX - 2008. 03. 10. - 13:38:18
értem, ha hazaértem megnézem. És ettől lehet az hogy nem jön be?
EGy kérdés. Így működni fog az hogy index.php?module=verseny&id=vmi ?
Mert ehhez nem nagyon értek, de ugy tudom hogy így kell a GET-el.


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 11. - 00:40:46
Igen és igen, mindkét válasz.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 12. - 08:10:00
sajnos nem :( még most sem jön be :(


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 12. - 09:30:59
Bizonyára más gond is van még a kóddal. Próbáld meg, hogy az SQL lekérés ad-e vissza valamit (pl. phpMyAdminban). Ha nem, akkor ott lesz a gond. Ha az SQL jó, akkor érdemes újból írni az SQL adatainak feldolgozó kódját: egyrészt nem is túl hosszú, másrészt egyszerűbb egy rövid kódrészletet újraírni, mint megtalálni a hibát.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 15. - 08:37:47
Hmm. Sikerült megoldanom, a while-val nem volt jó valami, így azt kiszedtem.
Most a kommentrendszerrel próbálkozom, de nem nagyon értem hogy hogy is kéne. MYSQL ben külön táblán tárolom. id, komment, kuldo mezőkben az adatokat. De nemtudom hogy hogy egyeztessem hogy éppen melyik versenyhez tartoznak a kommentek, meg valamiért a kommentet sem küldi el :(
az űrlap része:
Kód:
if (isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true) {
echo "<table class=sample>";
echo "<form method=post action=cmtpost.php><tr valign=center><td align=center><b><font size=2>Hozzászólás írása:</font></b></td>";
echo "<tr valign=center><td align=center>Üzenet: <textarea cols=35 rows=8 name='szoveg' value='".$_POST['kommented']."'></textarea></td></tr>";
echo "<tr valign=center><td align=center><input type=submit name='submit' value=Mehet></form></td></tr>";
echo "</table>";
if (isset($_GET['kommentError'])) {
echo "Valami hiba történt. Próbáld újra!";
}
}
else {

}

és a feldolgozó:
Kód:
<?php
include ("config.php");
$kapcsolat mysql_query("SELECT * FROM tag");
$row mysql_fetch_assoc($kapcsolat);
$kuldo $row['nev'];
$kommented htmlspecialchars($_POST['kommented']);
$query mysql_query("INSERT INTO kommentek (`id` , `kommented` , `kuldo` ) VALUES ( ,  '$kommented' , '$kuldo')");
if (isset(
$_POST['submit']) && $_POST['submit'] == true) {
header("Location: index.php?module=verseny");
}
else {
header("Location: index.php?module=verseny?kommentError");
}

?>


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 15. - 11:31:51
A beillszetésnél rossz az SQL: INSERT INTO kommentek (`id` , `kommented` , `kuldo` ) VALUES ( ,  '$kommented' , '$kuldo')
Így lenne helyes (az ID ha auto_increment, akkor intézi annak az írását az SQL): INSERT INTO `kommentek` (`kommented` , `kuldo` ) VALUES ('".$kommented."' , '".$kuldo."')
Nagy előszeretettel ajánlom figyelmedbe az uFal fejlesztésének a témakörét, ott valamivel bővebben ki van dolgozva a vendégkönyves téma. Ha azt is meg akarod jegyezni, hogy melyik cikkhez szól a kommentár, akkor a bejegyzés IDját is el kell tárold az adot hozzaszólásnak.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 15. - 11:50:41
És akkor kell ugy hogy a kommenteknek egy auto incrementes ID meg egy másik ID féle ami meg tárolja h meik cikkhez szól. de azt hoyg tudom beállitani?


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 15. - 13:20:09
Pl a tábla szerkezete a következő lesz:
Kód:
row_id - auto_increment
article_row_id - a hivatkozas a bejegyzesre
name
email
www
comment


Cím: Re: PHP
Írta: Csiga - 2008. 03. 21. - 19:11:44
Üdv!

Olyan kérdésem volna, hogy ha már ráveszem magam arra, hogy egy kis blogocskát csináljak, és szeretnék hozzá hírarchivumot akkor a dátumot, időt hogy érdemes tárolni mysql-ben hogy pl hónapokra tudjam bontani majd az olvasó számára a cikkeket?

Egy időbélyeget ha tárolok, akkor hogyan kell mondjuk a március 1 és 31 közötti dolgokat lekérni?


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 21. - 23:06:30
Azzal kezdeném, hogy figyelj oda, a szaknyelvet nem ésszerű túlzottan magyarosítani: az időbélyeg az timestamp, könnyebb megérteni :) Mindenképpen timestampként tárold, mert az a formátum olyan, hogy abból bármiféle más formát könnyűszerrel ki tudsz szedni a megfelelő MySQL / PHP függvényekkel.
Egy havi arhívul listázása? Elmondom a logikát és megadom a kellő függvényeket. A megírását rád hagyom, mivel úgy jobban tanul az ember és arra kérlek, hogy írd meg a kódot, hadd lássa más is.

1. elkészítem a hónap elején és végén lévő timestampet (elseje, 00:00, és a hónap utolsó napján, 24:00)
2. kiszedem a MySQLból azokat a bejegyzéseket, amelyek ideje beleesik az adott intervallumba

Függvények: time(), mktime(), strtotime(), strftime()

Sok sikert úgy a kódhoz, mint a bloghoz !


Cím: Re: PHP
Írta: TreamX - 2008. 03. 21. - 23:08:06
csinálnék egy olyat hogy kiirja a híreket, és ha mysql-be valamelyik autó értéke 1 (erveny) akkor azt kiirja, de csak ahhoz ami ahhoz a hírhez tartozik. Máshogy nemtudom elmagyarázni.
Kód:
<?php
if (isset($_GET['td'])) {
echo 
"<div id=newsheaer><p class=newssz>" .$row1['autoneve'] . "</p></div>";
echo 
"<div id=newst><p class=ntt>" .$row1['file']."<br>" .$row1['leiras']."</p></div>";
$kapcs_komment mysql_query("SELECT * FROM autokomment ORDER BY kommentid DESC");
echo 
"<p align=center> Hozzászólások:<br><br></p>";
while (
$cmt mysql_fetch_assoc($kapcs_komment)) {
echo 
"<table class=sample>";
echo 
"<tr bgcolor=#999999><td><font color=#222222>" $komment['kommented'] . "</font></td></tr>";
echo 
"<tr bgcolor=#444444><td>Írta: " $komment['kuldo'] . "</td></tr></table>";
}
if (
$auth){
echo 
"<table class=sample>";
echo 
"<form method=post action=cmtpost.php><tr valign=center><td align=center><b><font size=2>Hozzászólás írása:</font></b></td>";
echo 
"<tr valign=center><td align=center>Üzenet: <textarea cols=25 rows=6 name='kommented' value='".$_POST['kommented']."'></textarea></td></tr>";
echo 
"<tr valign=center><td align=center><input type='hidden' name='hova' value='".$_GET['com']."'><input type=submit name='submit' value=Mehet></form></td></tr>";
echo 
"</table>";
}
}
else {
//adatok kiszedese

$kapcsolat mysql_query("SELECT * FROM hirek ORDER BY id DESC");
while ( 
$row mysql_fetch_assoc($kapcsolat) ){
$s mysql_query("SELECT * FROM tag WHERE nev = '".$row['iro']."'");
if(
mysql_num_rows($s) == 1) {
$ss mysql_fetch_array($s);
$link1 "<a href='index.php?module=garage&id=".$ss['id']."'>";
$link2 "</a>";
}
else {
$link1 "";
$link2 "";
$row['iro'] = $row['iro']." (nem létezik ilyen tag)";
}
echo 
"<div id=newsheader><p class=newssz>";
echo 
$row['cim']; //cim
echo "</p></div>";
echo 
"<div id=newst><p class=ntt>";
echo 
$row['szoveg']; //szoveg
$kapcsi mysql_query("SELECT * FROM upload");
$row1=mysql_fetch_assoc($kapcsi);
if (
$row1['erveny'] == ) {
echo 
"Mai termés: <br><a href='index.php?module=main&td=" .$row1['id'] . "'> " $row1['autoneve'] . "</a>, ";
}
echo 
"</p></div>";
echo 
"<div id=newsfooter><p class=nft>";
echo 
"Írta:".$link1.$row['iro'].$link2//iro
echo "</p></div>";
if (
$row1['erveny'] != 1) {
echo 
"<div id=newsfooter><p class=nft>";
echo 
"Kiemelt hír!";
echo 
"</p></div>";
}
}
}
?>

Szóval az az napi hírhez tartozó autókat listázza ki.


Cím: Re: PHP
Írta: Csiga - 2008. 03. 22. - 00:22:15
Azzal kezdeném, hogy figyelj oda, a szaknyelvet nem ésszerű túlzottan magyarosítani: az időbélyeg az timestamp, könnyebb megérteni :) Mindenképpen timestampként tárold, mert az a formátum olyan, hogy abból bármiféle más formát könnyűszerrel ki tudsz szedni a megfelelő MySQL / PHP függvényekkel.
Egy havi arhívul listázása? Elmondom a logikát és megadom a kellő függvényeket. A megírását rád hagyom, mivel úgy jobban tanul az ember és arra kérlek, hogy írd meg a kódot, hadd lássa más is.

1. elkészítem a hónap elején és végén lévő timestampet (elseje, 00:00, és a hónap utolsó napján, 24:00)
2. kiszedem a MySQLból azokat a bejegyzéseket, amelyek ideje beleesik az adott intervallumba

Függvények: time(), mktime(), strtotime(), strftime()

Sok sikert úgy a kódhoz, mint a bloghoz !

Akkor végülis az én logikám sem volt rossz, valami ilyesmire gondoltam.
mktime()-vel csinálom a timestampot amit majd vissza kell alakítani "emberi" módra time()-vel és onnantól kezdve már csak az sql lekéréshez kell szép feldarabolni az adott időpontot.
Vagy mégsem?


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 22. - 10:50:02
Csiga, nézz utána a felsorolt függvényeknek, mert nem éppen úgy müködnek ahogyan azt te elképzeled. Pl. a time() nem alakít semmit sehova, az visszaadja az aktuális timestampet. Az alakításokhoz a strtotime és strftime (a neve is sugallja, hogy ez formáz szépre: string format time). Különben igen a válasz, az elképzelés jó, csak a függvények sorrendje nem, viszont azon segít ha utána olvasol, mi mit csinál: http://www.php.net

TreamX, a megoldás egyszerű, kiszeded az SQLből azt a képet, amelynek az "érvénye" 1 és kiírod ahoz a bejegyzéshez, amelyhez tartozik. No már most, ezt is egyszerű elintézni, mivel (gondolom) meg van jegyezve minden feltöltött filenál, hogy az melyik bejegyzéshez tartozik. A kiírásnál a csatolmány foreign key-jét kell összehasonlítsd a bejegyzés primary key-jével, és ahol talál a kettő, ott kiírod a képet.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 22. - 15:40:17
értem, már mshogy csináltam inkább meg. Most egy újabb, de kis problémába ütköztem.
Ugye van egy feltöltésem, adminból kitudom tenni a filet, stb.
De a megjelenítésnél ( http://vtpc.extra.hu/index.php?module=vt ) az egész szöveg egy sorban van, és hát így elég fura. hogy tudnám "széttördelni"?


Cím: Re: PHP
Írta: Csiga - 2008. 03. 22. - 16:39:36
Hogy érted azt, hogy egyben van a szöveg? Vagy milyen tördelésre gondolsz? Ha ne adj' Isten hosszú a sor széttolná az oldalt? Vagy mire gondolsz?


Cím: Re: PHP
Írta: TreamX - 2008. 03. 22. - 16:48:41
nem tolja szét "átmeny" az oldal jobb oldai része alatt. én azt akarom hogy megadok egy fix pontosságú szélességet, és azon kivülre ne mennyen a szöveg hanem már megvan annyi akkor a többit már uj sorba irja.


Cím: Re: PHP
Írta: Csiga - 2008. 03. 22. - 16:51:46
wordwrap() függvénnyel lehet ilyet csinálni hogy x karakter után nyomjon be egy <br />\n-t :)
Én is éppen ma szorultam rá ilyenre


Cím: Re: PHP
Írta: TreamX - 2008. 03. 22. - 17:39:25
értem. köszi. Most egy újabb problémába akadtam. Valamiért nem jeleniti meg a cuccot :)
Az egész kód:
Kód:
<?php
if (empty($_GET['id'])) { //ha "üres" az id
$maxsor 30;
$nevek $_GET['nev'];
$id $_GET['id'];
$result mysql_query("select `id`, `nev`, `msn`, `weboldal`, `mail` , `rang` , `rank` from `tag` order by `id` ASC"); //csatlakozás
$index 1;
echo 
"<tr width=520px><td width=20px>#</td><td width=150px>Név:</td><td width=100px>VTi:</td><td>Szint:</tr>";
while ( 
$row mysql_fetch_assoc($result) ){
$vtik mysql_query("SELECT * FROM upload WHERE user = '".$row['nev']."'");
if(
mysql_num_rows($vtik) >= 1) {
$vti mysql_num_rows($vtik);
}
else {
$vti 0;
}
echo 
"<tr width=520px><td width=20px>" $index ".</td><td width=150px><a href='index.php?module=garage&id=" $row['id'] ."'>" $row['nev'] . "</a></td><td width=100px>" $vti "</td><td>" .$row['rank'] . "</td></tr>" ;
$index++; 
}
mysql_free_result($result);
}
else { 
//ha már rákattiontottak valakire
$id $_GET['id'];
$csatlakozas mysql_query("SELECT * FROM tag WHERE id = '".$id."'"); //csatlakozás
$row mysql_fetch_assoc($csatlakozas); //lekéri az adatokat
$vt_szam mysql_query("SELECT * FROM upload WHERE user = '".$row['nev']."'");
if(
mysql_num_rows($vt_szam) >= 1) {
$vtk mysql_num_rows($vt_szam);
}
else {
$vtk 0;
}
print 
"<tr><td align='center' width=260px><a href='index.php?module=garage&id=".$id."&mode=garage'>Virtuális Tuningjai</a></td><td align='center' width=260px> <a href='index.php?module=garage&id=".$id."&mode=profile'>Profilja</a></td></tr></table><table class='sample'>";
if(isset(
$_GET['mode']) && $_GET['mode'] == "profile") {
if(
$auth && $acc['id'] == $id && $_GET['edit'] == 1) {
print 
'<form action="profile.php" method="post">';
print 
"<tr><td width=100px>Valódi neved:</td><td><input type='text' name='vnev' value='".$row['vnev']."'></td></tr>";
print 
"<tr><td width=100px>VTid:</td><td>".$vtk."</td></tr>";
print 
"<tr><td width=100px>Rangod:</td><td>".$row['rang']."</td></tr>";
print 
"<tr><td width=100px>Képszerkesztőd:</td><td><input type='text' name='kszerk' value='".$row['kszerk']."'></td></tr>";
print 
"<tr><td width=100px>E-mail címed:</td><td><input type='text' name='mail' value='".$row['mail']."'></td></tr>";
print 
"<tr><td width=100px>MSN címed:</td><td><input type='text' name='msn' value='".$row['msn']."'></td></tr>";
print 
"<tr><td width=100px>Skype:</td><td><input type='text' name='skype' value='".$row['skype']."'></td></tr>";
print 
"<tr><td width=100px>Weboldalad:</td><td><input type='text' name='weboldal' value='".$row['weboldal']."'></td></tr>";
print 
"<tr><td width=100px>Jelszó:</td><td><input type='password' name='jelszo'> A szerkesztéshez meg kell adnod a jelszavad!</td></tr>";
print 
"<tr><td width=100px>Új jelszó:</td><td><input type='password' name='ujelszo'></td></tr>";
print 
"<tr><td width=100px>Új jelszó:</td><td><input type='password' name='ujelszo2'> Ellenőrzés.</td></tr>";
print 
'</table><center><input type="submit" value="Küldés"></form></center>';
}
elseif(
$auth && $acc['id'] == $id) {
echo 
"<tr><td width=100px>Valódi név:</td><td>" $row['vnev'] ."</td></tr>";
echo 
"<tr><td width=100px>VTi:</td><td>" $vtk ."</td></tr>";
echo 
"<tr><td width=100px>Rang:</td><td>" $row['rang'] ."</td></tr>";
echo 
"<tr><td width=100px>Képszerkesztő:</td><td>" $row['kszerk'] ."</td></tr>";
echo 
"<tr><td width=100px>E-mail cím:</td><td>" .$row['mail'] . "</td></tr>";
echo 
"<tr><td width=100px>MSN cím:</td><td>" $row['msn'] ."</td></tr>";
echo 
"<tr><td width=100px>Weboldal:</td><td><a href='" $row['weboldal'] ."'>" $row['weboldal'] ."</td></tr></table><center><input type='button' value='Szerkesztés' onclick='location.href=\"index.php?module=garage&id=".$id."&mode=profile&edit=1\"'></center>";
}
else {
echo 
"<tr><td width=100px>Valódi név:</td><td>" $row['vnev'] ."</td></tr>";
echo 
"<tr><td width=100px>VTi:</td><td>" $vtk ."</td></tr>";
echo 
"<tr><td width=100px>Rang:</td><td>" $row['rang'] ."</td></tr>";
echo 
"<tr><td width=100px>Képszerkesztő:</td><td>" $row['kszerk'] ."</td></tr>";
echo 
"<tr><td width=100px>E-mail cím:</td><td>" .$row['mail'] . "</td></tr>";
echo 
"<tr><td width=100px>MSN cím:</td><td>" $row['msn'] ."</td></tr>";
echo 
"<tr><td width=100px>Weboldal:</td><td><a href='" $row['weboldal'] ."'>" $row['weboldal'] ."</td></tr>";
}
}
elseif (isset(
$_GET['mode']) && $_GET['mode'] == "garage") {
if(
$vtk >= 1) {
$id $_GET['id'];
$csatz mysql_query("SELECT * FROM upload WHERE id='$id' AND erveny = '1'");
while (
$e mysql_fetch_assoc($csatz)) {
echo 
"<p class=ntt>";
echo 
"<a href='index.php?module=main&uvt=" .$e['id'] ."'> " .$e['autoneve'] . "</a><br>";
echo 
"</p>";
}
}

else {
print 
"<tr><td align='center'><b>Ennek a tagnak nincs verdája.</b></td></tr>";
}
}
}
?>

És amit nem jelenit meg:
Kód:
if($vtk >= 1) {
$id = $_GET['id'];
$csatz = mysql_query("SELECT * FROM upload WHERE id='$id' AND erveny = '1'");
while ($e = mysql_fetch_assoc($csatz)) {
echo "<p class=ntt>";
echo "<a href='index.php?module=main&uvt=" .$e['id'] ."'> " .$e['autoneve'] . "</a><br>";
echo "</p>";
}
}


Cím: Re: PHP
Írta: Csiga - 2008. 03. 22. - 17:47:21
a $id kap értéket? azt ellenőrizd le szerintem először


Cím: Re: PHP
Írta: TreamX - 2008. 03. 22. - 17:50:59
hogy? :D


Cím: Re: PHP
Írta: Csiga - 2008. 03. 22. - 17:53:15
echo $id;
mondjuk így, ez lesz a legegyszerűbb megoldás rá :)
Ha kírja hogy hányas id-jű dolog kell akkor nem itt lesz a probléma, de általában nálam is ez a buktató :)


Cím: Re: PHP
Írta: TreamX - 2008. 03. 22. - 18:00:06
nem itt van a gond. kiirja, a while előtt, de ha már utána irom akkor nem.


Cím: Re: PHP
Írta: Csiga - 2008. 03. 22. - 18:06:54
Kód:
echo "<a href=index.php?module=main&uvt=" .$e[id]. "> " .$e[autoneve] . " </a><br>";

Én inkább így írnám, bár lehet, hogy így szintaktikai hibát dob, de nem látom a bakit...


Cím: Re: PHP
Írta: TreamX - 2008. 03. 22. - 18:10:00
hát így sem ír ki semmit meg ugy sem.
pl: http://vtpc.extra.hu/index.php?module=garage&id=15


Cím: Re: PHP
Írta: Csiga - 2008. 03. 22. - 18:18:09
Akkor kövi ami nekem furi a többi kódrészlethez képest:

Így:
Kód:
$csatz = mysql_query("SELECT * FROM upload WHERE id=" .'$id'. " AND erveny = '1'");
Vagy így:
Kód:
$csatz = mysql_query("SELECT * FROM upload WHERE id=$id AND erveny = '1'");

De sztem ha jön Tupacko, fél pillanat alatt megmondja mi a hiba :P


Cím: Re: PHP
Írta: TreamX - 2008. 03. 22. - 18:30:00
jah. ha jön. de sosincs itt :S
nem ez a gond:S


Cím: Re: PHP
Írta: Csiga - 2008. 03. 22. - 18:41:33
jó, akkor még van egy olyan tippem, hogy a while-ba extract és és akkor $id néven elérhető lesz a dolog vagy vagy a mysql_fetch_assoc helyett mysql_fetch_array-t használnék.

(msn-re felvettelek)


Cím: Re: PHP
Írta: Csiga - 2008. 03. 22. - 23:06:27
Most egy elég bonyolultat szeretnék kérdezni (számomra az lesz) :)
Egy szép kis felhasználói jogosultság kezelésről volna szó.

van 4 táblánk

users
id auto_inc
groups_id
nev unique
jelszo
email

groups
id auto_inc
name unique

rights
id auto_inc
name unique
default

groups_rights
groups_id
rights_id

users-ben a tagjaim ez eddig tiszta, mindenkinek megvan a maga is groups_id-je miszerint kiderül melyik csoportba kerül. Most az jönne, hogy hogyan fogom kideríteni, hogy az adott csoportnak mihez vannak jogai? Hogy áll össze ehhez a lekérés? Ezen filóztam, de nem adja ki... Valaki egy kis indítást tud adni?


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 22. - 23:21:56
Sajnos egész napom futásból áll, szóval nem tudok itt ülni a fórumon :( Nagyon örülök viszont, hogy szép kis társalágsok alakulnak ki, végre igazából is kezd beindulni a fórum! Köszönöm a résztvétlet!
Téma váltás, ez a kód nem helyes:
Kód:
echo "<a href=index.php?module=main&uvt=" .$e[id]. "> " .$e[autoneve] . " </a><br>";
az e tömbból az id alatt szereplő dolgot így kell kivenni, ha az id változó: $e[$id], vagy így $e['id'], ha az id egy kulcs a tömbben. Simán szövegként írva az idt csak abban az esetben használhatod, ha az egy előre meghatározott konstans. Változók ellenőrzésére az alábbi kódot érdemes használni:
Kód:
if ( isset($valtozo) ){
  echo 'letezik\n';

  if ( !is_empty($valtozo) ){
    echo 'nem ures\n';

    echo 'a valtozo erteke: "', $valtozo, '"\n';
  }else{
    echo 'ures\n';
  }
}

Csiga, úgy tudod meghatározni az adott táblaszerkezet alapján, hogy kinek mi a joga, hogy az SQL lekérdezésben összefűzöd a táblákat a külső kulcsok alapján! pl.:
Kód:
select `rights`.* from `users`, `rights`, `groups_rights` where `users`.`groups_id` = `groups_rights`.`groups_id` and `rights`.`id` = `groups_rights`.`rights_id`

Jó haladást mindenkinek!


Cím: Re: PHP
Írta: Csiga - 2008. 03. 22. - 23:42:12
és ha valakinek a groups.id nem 5 azaz guest miszerint a default jogokat kapja, hanem mondjuk 2 miszerint moderator akkor hogyan kellene módosítani a kérést?
Az a probléma nekem ezek valahogy nem állnak össze...
Az adattáblák így fejből kipattantak, de a lekérést nem tudom összeállítani :(


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 23. - 00:29:25
Mivel dinamikus a kötés, így ha változtatod a group idt, automatikusan változik a csoport tagjainak a joga is. Szóva a kérést nem kell módosítani, hanem a kinyert adatokat kell úgy feldolgozd, hogy a felhasználókat a jogaik (miden sor a visszatérített halmazban egy adott felhasználó jogárol biztosít információt) szerint kezeld, aszerint generáld a menü és az oldalhozzaféréseket.
Szvsz a jogot bejelentkezéskor kell kikérd és tárold a munkamenetben, majd minden oldallekéréskor ellenőrízd, ha van joga az odlal megtekintéséhez/használatához.


Cím: Re: PHP
Írta: Csiga - 2008. 03. 23. - 00:52:16
Csináltam rá egy kiíratást és az én szemem számára fura dolgot láttam...
3 példauserem van az adatbázisomban, de mind a három jogait szépen kilistázta egymás alá...

Kód:
$eredm = "select `rights`.* from `users`, `rights`, `groups_rights` where `users`.`groups_id` = `groups_rights`.`groups_id` and `rights`.`id` = `groups_rights`.`rights_id`";
$jogaim = mysql_query($eredm);

while($sor=mysql_fetch_array($jogaim)){
echo "<span style=\"color: #FF3300\">" . $sor['name'] . "</span>";
echo "<span style=\"color: #0033FF\">" . $sor['id'] . "</span>" ."<br>";

}

Biztos csak én nem értem ezt... :)


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 23. - 03:39:48
Igen, mert az SQL csak a jogok tábláját adja vissza. Próbáld így:

Kód:
$eredm = "select `rights`.`name` as `rights_name`,  `users`.`nev` as `user_name` from `users`, `rights`, `groups_rights` where `users`.`groups_id` = `groups_rights`.`groups_id` and `rights`.`id` = `groups_rights`.`rights_id`";
$jogaim = mysql_query($eredm);

while($sor=mysql_fetch_array($jogaim)){
echo "<span style=\"color: #FF3300\">" . $sor['user_name'] . "</span>";
echo "<span style=\"color: #0033FF\">" . $sor['rights_name'] . "</span>" ."<br>";

}


Cím: Re: PHP
Írta: Csiga - 2008. 03. 23. - 10:29:01
No ezzel egy apró javítás után le lehet kérni, hogy kinek milyen joga van, és most jön a varázslatos kérdés, hogy mivel tegyük személyreszabottá?
Tehát, ha Béla néven lépek be és az user.id az nekem 8 akkor csak a saját jogaim szeretném megkapni.


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 23. - 20:11:41
Egyszerű a dolog: a lekérésbe beteszed a feltételt, miszerint csak az adott, bejelentkezett, felhasználó jogát kérd le:
Kód:
$eredm = "select `rights`.`name` as `rights_name`,  `users`.`nev` as `user_name` from `users`, `rights`, `groups_rights` where `users`.`groups_id` = `groups_rights`.`groups_id` and `rights`.`id` = `groups_rights`.`rights_id` and `users`.`id` = ".$_SESSION['userId']." limit 1";
$jogaim = mysql_query($eredm);

while($sor=mysql_fetch_array($jogaim)){
echo "<span style=\"color: #FF3300\">" . $sor['user_name'] . "</span>";
echo "<span style=\"color: #0033FF\">" . $sor['rights_name'] . "</span>" ."<br>";

}


Cím: Re: PHP
Írta: TreamX - 2008. 03. 23. - 21:02:57
Vmiért nem tölti fel a filet, és mysql-be se irja be az adatokat. Mi lehet a gond?
Kód:
<?php
echo "<table class=sample><tr><td width=260px><a href='index.php?module=donors'>Donorok megtekintése</a></td><td><a href='index.php?module=donors&mode=upload'>Donor feltöltése</a></td></tr></table>";
if (isset(
$_GET['mode']) == "upload") {
if(
$auth) {
  print 
"<p class=ntt>";
  print 
"<table class='up'><form name='upload' method=POST action=index.php?module=donors enctype='multipart/form-data'>";
  print 
"<tr width=520px><td width=80px><ul class='ulreg'>Autó neve: </td><td><input type=text name='carname' /></ul></td></tr>";
  print 
"<tr width=520px><td width=80px><ul class='ulreg'>Fájl: </td><td><input type=file name='file'></ul></td></tr>";
  print 
"<tr width=520px><td width=80px><ul class='ulreg'><input type='hidden' name='MAX_FILE_SIZE' value='100000' /><input type=submit name='submit' value=Mehet></form></ul></td></tr></table>";
  print 
"</p>";
  if(isset(
$_POST['MAX_FILE_SIZE'])) {
    if(!empty(
$_POST['carname']) && !empty($_POST['file'])) {
      
$carname $_POST['carname'];
      
$file $_POST['file'];
      
//ha elküldtük az űrlapot
      
if ( $_FILES["file"]["type"] == "image/jpeg" ) { 
        
//ezzel tudjuk ellenőrizni milyen típusú fájlt lehet feltölteni
        
mysql_query("INSERT INTO `donors` (`carname` , `mehet`) VALUES ( '".$carname."' , '0'");
        
$kl mysql_query("SELECT * FROM donors WHERE carname = '".$carname."'");
        
$get_id mysql_fetch_array($kl);
        
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/donors/".$get_id['id'].".jpg");
        
//ez maga a feltöltés
        
echo "<ul class='ulreg'>Sikeres feltöltés. Köszönjük!</ul>";
      }
    }
    else {
      echo 
"<ul class='ulreg'>Nem töltöttél ki minden mezőt</ul>";
    }
  }
  else {
  }
}
else {
  echo 
"Ahhoz hogy feltölthess be kell jelentkezned. Amennyiben nem vagy regisztrálva, <a href=index.php?module=reg>itt</a> megteheted!";
}
}
else {
$csatizz mysql_query("SELECT * FROM donors WHERE mehet ='1' ORDER BY carname DESC");
while (
$r mysql_fetch_assoc($csatizz)) {
echo 
"<a href=upload/donors/'" .$r['id']. ".jpg'><img src=upload/donors/'" .$r['id']. ".jpg' class='smalldonors'></a>";
}
}
?>


Cím: Re: PHP
Írta: Csiga - 2008. 03. 23. - 21:33:23
Egyszerű a dolog: a lekérésbe beteszed a feltételt, miszerint csak az adott, bejelentkezett, felhasználó jogát kérd le:
Kód:
$eredm = "select `rights`.`name` as `rights_name`,  `users`.`nev` as `user_name` from `users`, `rights`, `groups_rights` where `users`.`groups_id` = `groups_rights`.`groups_id` and `rights`.`id` = `groups_rights`.`rights_id` and `users`.`id` = ".$_SESSION['userId']." limit 1";
$jogaim = mysql_query($eredm);

while($sor=mysql_fetch_array($jogaim)){
echo "<span style=\"color: #FF3300\">" . $sor['user_name'] . "</span>";
echo "<span style=\"color: #0033FF\">" . $sor['rights_name'] . "</span>" ."<br>";

}

Köszi, így tökéletesen működik :)


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 23. - 22:11:40
Csiga, szívesen!
TreamX ajánlom, hogy figyelmesen kódolj, mert így nem sokat ér az egész. Pl. már startból elszáll az egész müködési logika: if (isset($_GET['mode']) == "upload") ... Mivel az isset() egy igazságértéket térít vissza, ami lehet false vagy true, sosem lesz egyenlő egy "upload" értékű karakterlánccal. Ha fáradt vagy (én akkor szoktam ilyen óriási hibákat elkövetni), akkor hagyd abba egy keveset, pihenj, majd gondold át ismét és ezt követően jöhet a kódolás is.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 23. - 22:22:37
akkor hogy tudom azt megcsinálni, hogy a &mode=upload rész létezik e?


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 23. - 22:43:58
Így vizsgálhatod, ha létezik az adott változó és az értéke is megfelelő. Amúgy erről többszöris szó volt, anno.  ;)

Kód:
if ( isset($_GET['mode']) && strcmp($_GET['mode'], "upload") == 0 ){
  // igen, letezik es egyenlo uploaddal
}


Cím: Re: PHP
Írta: TreamX - 2008. 03. 25. - 13:02:35
Hogy tudom megcsinálni, hogy mindegyik alatt legyen egy pipa, azzal a névvel hogy elfogad, és azzal hogy elutasít? és beállitani hogy ha elfogadja mit csináljon, meg ha elutasitja mit csináljon?

Kód:
elseif (!empty($_GET['id'])) {
$id = $_GET['id'];
$omg = mysql_query("SELECT * FROM upload WHERE id='".$id."'");
while ($cucc = mysql_fetch_assoc($omg)) {
echo "<form method=post action=admin.php?module=versenyre>";
echo "<tr valign=center><td align=center>Auto neve: " .$cucc['autoneve']. "<br>Beküldő: " .$cucc['user']. "<br>Leírás: " .$cucc['leiras'] . "<br>Fájl elérési útja: <a href='../upload/versenyre/" .$cucc['id'].".jpg'>Itt</a><br> <input type=submit name='mehet' value=Mehet></td></tr>";
echo "</form>";
}
}


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 25. - 20:06:00
A formba beleteszel még két radio-t, s ott kiválasztod, hogy törlöd, vagy elfogadod. Amikor beküldöd a formot, feldolgozod az adatokat és attól függően, hogy elfogadtad vagy törölted, meghagyod vagy törlöd az adatbázisból az adott sort és a hozza tartozó fileokat a tárhelyről.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 25. - 23:05:07
Próbálkoztam eggyel, de nem működik... Nem is törli ki, és nem is teszi ki.

Kód:
<?php
if(empty($_GET['id'])) {
$id $_GET['id'];
echo 
"<tr width=520px><td width=180px>Autó neve</td><td>Autó</td><td width=140px>Beküldő</td><td width=130px>Eredeti</td><td>Elfogad/Elutasít</td></tr>";
$kapcsolodj mysql_query("SELECT * FROM `upload` WHERE `erveny`='0' AND `verseny` = '1' ORDER BY `id` DESC");
while (
$cucc mysql_fetch_assoc($kapcsolodj)) {
echo 
"<form method=post action=admin.php?module=admin_versenyre><tr width=520px><td width=180px>" .$cucc['autoneve']. "</td><td><a href='upload/verseny/".$cucc['id'].".jpg'><img src='upload/verseny/".$cucc['id'].".jpg' class='kv'></a></td><td width=140px>".$cucc['user']."</td><td width=130px><a href='".$cucc['eredeti']."'>Eredeti</a></td><td><input type=hidden name='".$cucc['id']."'><input type=radio name='elfogad'>Elfogad<br><input type=radio name'elutasit'>Elutasít</td></tr>";
}
echo 
"<tr><td><input type=submit name='vkuld' value=Mehet></p></form></td></tr>";
}
if (isset(
$_POST['vkuld'])) {
if (isset(
$_POST['elfogad'])) {
$query mysql_query("UPDATE upload SET erveny='1' WHERE id='".$id."'");
}
elseif (isset(
$_POST['elutasit'])) {
$query_d mysql_query("DELETE FROM upload WHERE id = '".$cucc['id']."'");
}
}
?>


Cím: Re: PHP
Írta: TreamX - 2008. 03. 26. - 19:15:36
Nemfrissíti a hírt sql-be.
Mi lehet a gond?
Kód:
if(!empty($_GET['edit'])) {
echo "<div id=newsheader><p class=newssz>Hír módosítása</p></div>";
echo "<div id=newst><p class=ntt>";
$id = $_GET['edit'];
$leker = mysql_query("SELECT * FROM hirek WHERE id='".$id."'");
$mi = mysql_fetch_assoc($leker);
$cim = $mi['cim'];
$szoveg = $mi['szoveg'];
echo "<form method=post action=index.php?module=main&doedit=".$id.">";
echo "<ul class=ntt>Cím: <br><input type=text name='cim' value='".$cim."'></ul>";
echo "<ul class=ntt>Szöveg:<br> <textarea cols=35 rows=8 name='szoveg'>".$szoveg."</textarea></ul>";
echo "<ul class=ntt><input type=submit name=submit value=Mehet></ul></form>";
echo "</p></div>";
}
elseif (!empty($_GET['doedit'])) {
$id = $_GET['doedit'];
$frissit = mysql_query("UPDATE hirek SET cim = '".$_POST['cim']."' AND szoveg = '".$_POST['szoveg']."' WHERE id = '".$id."'");
}


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 26. - 20:11:28
Az elsőnél jó lenne ha újra átnéznéd, mert nem igen értem a logikád, lehet hogy te hamarabb rájössz, mit akartál elérni a következő kódrészlettel:

Kód:
if(empty($_GET['id'])) {
$id = $_GET['id'];
Ha üres, akkor írjá át? Mert? ::)

A második kellene működjön. Esetleg próbáld meg azt, hogy kiíratod az SQLt, amit lefuttat, hogy lásd, ha helyesen van kiegészítve az IDvel. Ha igen, akkor próbáld meg lefuttatni phpMyAdminból, hogy lásd mi a gond, miért nem frissít.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 26. - 21:40:42
Nemtudom így gondoltam e, ha ennek 0, vagy 1 értéket kell visszaadni, akkor sztem jó. 1-est ír ki a böngészőbe.
Kód:
elseif (!empty($_GET['doedit'])) {
$id = $_GET['doedit'];
$frissit = mysql_query("UPDATE hirek SET cim = '".$_POST['cim']."' AND szoveg = '".$_POST['szoveg']."' WHERE id = '".$id."'");
echo $frissit;
}


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 26. - 23:20:42
Akkor kell frissítsen, csak te nem látod valamiért. Nézted phpMyAdminból. Lehet, hogy valami cache hibád van ... érdemes megnézd és teszteld az SQL parancsokat phpMyAdminból is.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 27. - 08:43:01
azt hogy kell? ezekhez nem nagyno értek. ilyet találtam phpmyadmin-ban:
Tábla karbantartás

    * Tábla ellenőrzés Dokumentáció
    * Tábla vizsgálat Dokumentáció
    * Tábla javítás Dokumentáció
    * Tábla optimalizálás Dokumentáció
    * Tábla kiírása ("FLUSH") Dokumentáció

Friss .:
szóval megtaláltam mire gondoltál, de ott működik. (SQL és oda UPDATE hirek stb...)


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 27. - 17:42:18
Ha phpMyAdminból müködik a dolog, akkor valamiért a kódod nem ér el arra a pontra, ahol kell frissítsen, viszont akkor nem is írta volna ki, hogy "1", vagyis, nem jutott volna el a konkrét szerkesztés folyamatához. A két leírt dolog akkor ellentétes ... szóval valami nem stimmel. Ilyen esetben, főleg ilyen kis mennyiségű kód láttán, azt tanácsolom, hogy készíts egy backupot az állományról és írd előről a szerkesztés lehetőségét. Sokkal hamarabb sikerül ilyen módon kiküszöbölni a problémát, mint ha keresnénk a hibát.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 27. - 18:21:38
Köszi. Így már jó, újrairtam az egészet, a gond nemtudom mivolt, de örülök hogy jó. A helyes kód:
Mégse jó, most meg az összes hírt felülírja :'(
Friss: megvolt a gond, updatenel nem irtam bele hogy WHERE id='".$id."' :)
Kód:
if(!empty($_GET['edit'])) {
echo "<div id=newsheader><p class=newssz>Hír szerkesztése</p></div>";
$id = $_GET['edit'];
$leker = mysql_query("SELECT * FROM hirek WHERE id='".$id."'");
$r = mysql_fetch_assoc($leker);
echo "<div id=newst>";
echo "<form method=post action=index.php?module=main&doedit=".$id."><p class=ntt>Cím:<br><input type=text name=cim value='".$r['cim']."'>";
echo "<p class=ntt>Hír:<br><textarea name='szoveg' cols=35 rows=9>".$r['szoveg']."</textarea>";
echo "<p class=ntt><input type=submit name=submit value=Mehet></p></form>";
echo "</div>";
}
if(!empty($_GET['doedit'])) {
$id = $_GET['doedit'];
$select = mysql_query("SELECT * FROM hirek WHERE id='".$id."'");
$update = mysql_query("UPDATE hirek SET cim='".$_POST['cim']."' , szoveg='".$_POST['szoveg']."'");
}

Következő kérdésem lenne, hogy ugye van egy híríró kódom, ahol textarea-ba kell beleirni a szöveget. De hogy tudom megoldani, hogy az érezze a linkeket, képek beszúrásás stb...? (a href, img src, stb...)


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 27. - 21:18:14
Komplexebb a probléma, nézz utána a TinyMCE nek, azt használja nagyon sok más webware is, pl. Wordpress.


Cím: Re: PHP
Írta: TreamX - 2008. 03. 27. - 22:14:26
Valami ilyesmire gondoltál? Csak bemásolom ide, jó helyen turkálok e.
Kód:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/screen.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
plugins : & quot;table,save,advhr,advimage,advlink,emotions,iespell,inse
rtdatetime,preview,zoom,flash,searchreplace,print,contextmen
u",
theme_advanced_buttons1_add_before : "save,separator",
theme_advanced_buttons1_add : "fontselect,fontsizeselect",
theme_advanced_buttons2_add : & quot;separator,insertdate,inserttime,preview,zoom,separator,
forecolor,backcolor",
theme_advanced_buttons2_add_before: "cut,copy,paste,separator,search,replace,separator",
theme_advanced_buttons3_add_before : "tablecontrols,separator",
theme_advanced_buttons3_add : "emotions,iespell,flash,advhr,separator,print",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
plugin_insertdate_dateFormat : "%Y-%m-%d",
plugin_insertdate_timeFormat : "%H:%M:%S",
extended_valid_elements : & quot;a[name|href|target|title|onclick],img[class|src|border=
0|alt|title|hspace|vspace|width|height|align|onmouseover|onm
ouseout|name],hr[class|width|size|noshade],font[face|size|co
lor|style],span[class|align|style]",
external_link_list_url : "example_data/example_link_list.js",
external_image_list_url : "example_data/example_image_list.js",
flash_external_list_url : "example_data/example_flash_list.js"
});
</script>
</head>

Ebből tudok e én hasznosítani valamit?


Cím: Re: PHP
Írta: TreamX - 2008. 03. 27. - 23:29:49
Valami ilyesmire gondoltál? Csak bemásolom ide, jó helyen turkálok e.
Kód:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/screen.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
plugins : & quot;table,save,advhr,advimage,advlink,emotions,iespell,inse
rtdatetime,preview,zoom,flash,searchreplace,print,contextmen
u",
theme_advanced_buttons1_add_before : "save,separator",
theme_advanced_buttons1_add : "fontselect,fontsizeselect",
theme_advanced_buttons2_add : & quot;separator,insertdate,inserttime,preview,zoom,separator,
forecolor,backcolor",
theme_advanced_buttons2_add_before: "cut,copy,paste,separator,search,replace,separator",
theme_advanced_buttons3_add_before : "tablecontrols,separator",
theme_advanced_buttons3_add : "emotions,iespell,flash,advhr,separator,print",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
plugin_insertdate_dateFormat : "%Y-%m-%d",
plugin_insertdate_timeFormat : "%H:%M:%S",
extended_valid_elements : & quot;a[name|href|target|title|onclick],img[class|src|border=
0|alt|title|hspace|vspace|width|height|align|onmouseover|onm
ouseout|name],hr[class|width|size|noshade],font[face|size|co
lor|style],span[class|align|style]",
external_link_list_url : "example_data/example_link_list.js",
external_image_list_url : "example_data/example_image_list.js",
flash_external_list_url : "example_data/example_flash_list.js"
});
</script>
</head>

Ebből tudok e én hasznosítani valamit?

Közben egy újabb kérdés.
Mért lesz nekem néha ilyen a chatbox? >:(
Kód:
ďťż ďťż

      anatre

      2008.3.27 18:16:04

      szevúúsz :D

      CrEw

      2008.3.27 18:08:09

      Wawok :D

      anatre

      2008.3.27 14:50:35

      most ezĂŠrt regeltĂŠl be ide?..

      drnike

      2008.3.27 14:30:02

      valaki tud segĂ­teni ingyen honlapot csinĂĄlni


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 27. - 23:50:57
TinyMCEt nem használtam, nem tudom hogyan működik, azért írtam, hogy nézz utána. A vendégkönyvnél kódolási hiba van, karakterkészlet. UTF-8, ISO-8859-2 közti akadások. Figyelj arra, hogy minden legyen vagy UTF-8 vagy ISO, de ne keverd a kettőt (adatbázis, oldal, forráskód ...).


Cím: Re: PHP
Írta: TreamX - 2008. 03. 28. - 10:56:43
értem. köv.
csináltam egy "donor" feltöltőt, de valamiért nem tölti fel a cuccot, sql-be se és ftp-re se.
Kód:
<?php
echo "<table class=sample><tr><td width=260px><a href='index.php?module=donors'>Donorok megtekintése</a></td><td><a href='index.php?module=donors&mode=upload'>Donor feltöltése</a></td></tr></table>";
if(isset(
$_GET['mode']) && $_GET['mode'] == "upload") {
if(
$auth) {
  print 
"<p class=ntt>";
  print 
"<table class='up'><form name='upload' method=POST action=index.php?module=donors enctype='multipart/form-data'>";
  print 
"<tr width=520px><td width=80px><ul class='ulreg'>Autó neve: </td><td><input type=text name='carname' /></ul></td></tr>";
  print 
"<tr width=520px><td width=80px><ul class='ulreg'>Fájl: </td><td><input type=file name='file'></ul></td></tr>";
  print 
"<tr width=520px><td width=80px><ul class='ulreg'><input type='hidden' name='MAX_FILE_SIZE' value='100000' /><input type=submit name='submit' value=Mehet></form></ul></td></tr></table>";
  print 
"</p>";
  if(isset(
$_POST['MAX_FILE_SIZE'])) {
    if(!empty(
$_POST['carname']) || !empty($_POST['file'])) {
      
$carname $_POST['carname'];
      
$file $_POST['file'];
  $mehet 0;
      
//ha elküldtük az űrlapot
      
if ( $_FILES["file"]["type"] == "image/jpeg" ) { 
        
//ezzel tudjuk ellenőrizni milyen típusú fájlt lehet feltölteni
        
mysql_query("INSERT INTO donors (`carname`, `mehet`) VALUES ('".$carname."', '".$mehet."'");
        
$kl mysql_query("SELECT * FROM donors WHERE carname = '".$carname."'");
        
$get_id mysql_fetch_array($kl);
        
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/donors/".$get_id['id'].".jpg");
        
//ez maga a feltöltés
        
echo "<ul class='ulreg'>Sikeres feltöltés. Köszönjük!</ul>";
      }
    }
    else {
      echo 
"<ul class='ulreg'>Nem töltöttél ki minden mezőt</ul>";
    }
  }
  else {
  }
}
else {
  echo 
"Ahhoz hogy feltölthess be kell jelentkezned. Amennyiben nem vagy regisztrálva, <a href=index.php?module=reg>itt</a> megteheted!";
}
}
else {
$csatizz mysql_query("SELECT * FROM donors WHERE mehet ='1' ORDER BY carname DESC");
$row mysql_num_rows($csatizz);
if ( 
$row >= ) {
while (
$r mysql_fetch_assoc($csatizz)) {
echo 
"<p class=ntt><a href=upload/donors/'" .$r['id']. ".jpg'><img src=upload/donors/'" .$r['id']. ".jpg' class='smalldonors'></a></p>";
}
}
else {
echo 
"<p class=ntt>Még nincs 1 donor sem. Látogass vissza később.</p>";
}
}
?>


Cím: Re: PHP
Írta: TreamX - 2008. 03. 29. - 00:04:27
+ közbe még1 dolog. Azt akarom, hogy a sql "pont" mezőbe beírt pontszámokat, összeadja, ami ugyanahoz a autohoz tartozik.
Addig jutottam el, hogy lekérem az adott autohoz tartozó adatokat..


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 29. - 03:11:12
Elég sok gondod volt az adatok SQLbe és tárhelyre való feltöltésével. Én azt tanácsolom, hogy állj neki és vizsgáld át az eddigi kódjaid és nézd meg, melyiknék mi volt a gond, miért nem működött, mert valahol bizonyára eltévesztettél vagy elsiettél valamit, azért nem működik. Amíg nem odlasz megy egy modult, addig ne ugorj a másiknak, mert nagyvalószínüséggel ismét ugyanabba vagy hasonló hibába esel.

U.i.: ne feledkezz meg a szerkezt gombról, nem az első figyelmeztetés. Több mint 100 hozzaszólással, példát kellene mutass az újonnan csatlakozottaknak, hogyvegyük figyelembe a fórumszabályzatot és az általános fórumhasználati jómodort :)


Cím: Re: PHP
Írta: TreamX - 2008. 03. 29. - 08:38:35
Tudom, csak azt már később írtam, nem volt ott a módosít gomb :)


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 29. - 11:00:28
Akkor nem szoltam :D


Cím: Re: PHP
Írta: kovger - 2008. 03. 29. - 12:15:08
Sziasztok!
Készítek egy oldalt, php alapú. Azt hogy tudnám megcsinálni,hogy egy külön fájlból olvassa ki a tartalmat?
pl.: txt,php,html


Cím: Re: PHP
Írta: TreamX - 2008. 03. 29. - 12:55:18
Hát ha erre gondolsz, ugye megvan a php filed. és ahova beakarod hozni a tartalmat:
include ("valami.txt");
Remélem erre gondoltál :))


Cím: Re: PHP
Írta: kovger - 2008. 03. 29. - 13:04:55
Igen ere gondoltam!
Köszi


Cím: Re: PHP
Írta: TreamX - 2008. 03. 29. - 13:53:25
Nincsmit.
Köv kérdésem akkor:
Kód:
if(empty($_GET['id'])) {
$cs = mysql_query("SELECT * FROM versenyek LIMIT 4");
while($hova = mysql_fetch_assoc($cs)) {
echo"<div id=newsheader><p class=newssz>".$hova['cim']."</p></div>";
echo "<tr width=520px><td width=100px>Autó neve</td><td width=130px>Autó</td><td width=170px>Beküldő</td><td>Elfogad/Elutasít</td></tr>";
$kapcsolodj = mysql_query("SELECT * FROM `upload` WHERE `erveny`='0' AND `verseny` >= '1' AND mverseny='".$hova['id']."' ORDER BY `id` DESC");
while ($cucc = mysql_fetch_assoc($kapcsolodj)) {
echo "<form method=post action=admin.php?module=admin_versenyre><tr width=520px><td width=100px>" .$cucc['autoneve']. "</td><td width=130px><a href='upload/verseny/".$cucc['id'].".jpg'><img src='upload/verseny/".$cucc['id'].".jpg' class='kv'></a></td><td width=170px>".$cucc['user']."</td><td><input type=hidden name=id value='".$cucc['id']."'><input type=radio name='elfogad' value='igen'>Elfogad<br><input type=radio name='elfogad' value='nem'>Elutasít</td></tr>";
}
echo "<tr><td><input type=submit name='vkuld' value=Mehet></p></td></tr></form>";
}
}

Itt van ez a szép kód, ez kilistázza az utolsó négy verseny nevét, a hozzá érkezett autókkal stb..
Csak nem épp valami "szépen". Hogy lehetne ezt megoldani?
http://kepfeltolto.hu/i/?61560


Cím: Re: PHP
Írta: TreamX - 2008. 03. 29. - 14:56:30
Nincsmit.
Köv kérdésem akkor:
Kód:
if(empty($_GET['id'])) {
$cs = mysql_query("SELECT * FROM versenyek LIMIT 4");
while($hova = mysql_fetch_assoc($cs)) {
echo"<div id=newsheader><p class=newssz>".$hova['cim']."</p></div>";
echo "<tr width=520px><td width=100px>Autó neve</td><td width=130px>Autó</td><td width=170px>Beküldő</td><td>Elfogad/Elutasít</td></tr>";
$kapcsolodj = mysql_query("SELECT * FROM `upload` WHERE `erveny`='0' AND `verseny` >= '1' AND mverseny='".$hova['id']."' ORDER BY `id` DESC");
while ($cucc = mysql_fetch_assoc($kapcsolodj)) {
echo "<form method=post action=admin.php?module=admin_versenyre><tr width=520px><td width=100px>" .$cucc['autoneve']. "</td><td width=130px><a href='upload/verseny/".$cucc['id'].".jpg'><img src='upload/verseny/".$cucc['id'].".jpg' class='kv'></a></td><td width=170px>".$cucc['user']."</td><td><input type=hidden name=id value='".$cucc['id']."'><input type=radio name='elfogad' value='igen'>Elfogad<br><input type=radio name='elfogad' value='nem'>Elutasít</td></tr>";
}
echo "<tr><td><input type=submit name='vkuld' value=Mehet></p></td></tr></form>";
}
}

Itt van ez a szép kód, ez kilistázza az utolsó négy verseny nevét, a hozzá érkezett autókkal stb..
Csak nem épp valami "szépen". Hogy lehetne ezt megoldani?
http://kepfeltolto.hu/i/?61560

Sikerült megoldani. Azt hogy tudnám, hogy ugye lehet jelölni  elfogadom v nem, hogy ne egyenként kelljen, hanem egyszerre elküldje az egészet


Cím: Re: PHP
Írta: Csiga - 2008. 03. 29. - 21:49:29
Üdvözlet!

Megint volna egy kis problémám...
Van két tábla és azon kéne összefűzni, hogy melyik hírhez milyen nevű kategória tartozik.

articles:
id
cat1
cat2
cat3
stb...

articles_categories:
id
name

Tehát úgy kellene működni, hogy ha az articles-ben mondjuk a cat1=2 akkor a 2-es idjű kategória nevét kapjam meg. És ha a másik kettő is ki van töltve, akkor azokat is lekérné.


Cím: Re: PHP
Írta: AAron - 2008. 03. 30. - 08:54:36
Sziasztok!

Azzal a kérdéssel fordulok felétek, hogy ha van egy login rendszer, és abba szeretnék egy kép feltöltő scriptet úgy hogy a user amikor kitölti az adatlapját, akkor ott legyen alúl ez a script. Tehát hogy egy képet fel tudjon magáról tölteni ami késsőbb ott lesz a hozzászólásainál stb...

Van két oldal ami a userral foglalkozik.
Az egyik az ahol kitöltöm a dolgokat, elküldöm.
A másik az ahol lekérdezem a dolgokat.

A userinfo.php tartalma:
Kód:
<?php
/**************************************************************************
* R.E. login (1.8) - uinfo.php                                            *
* ======================================================================= *
* Adatlap kitöltés                                                        *
* ======================================================================= *
* Ezt a programot a PHP Studio fejlesztette, a szerzõk: / This program    *
* was developed by the PHP Studio, the authors:                           *
* Rimelek                                                                 *
* ----------------------------------------------------------------------- *
* Weboldalunk / Our webpage: http://www.phpstudio.hu                      *
* Segítségnyújtás / HelpDesk: http://forum.phpstudio.hu                   *
* Kapcsolat / Contact: php.prog@hotmail.com                               *
* ======================================================================= *
* Ez a program license alatt áll, amit itt tekinthetsz meg: / This        *
* program is under a license, which you can see here:                     *
* http://license.phpstudio.hu                                             *
* ----------------------------------------------------------------------- *
* A license-szel kapcsolatos észrevételeid, megjegyzéseid, kérdéseid  a   *
* license@phpstudio.hu e-mail címen várjuk.                               *
* ----------------------------------------------------------------------- *
* You can send your remarks, opinions, questions to the following e-mail  *
* address: license@phpstudio.hu                                           *
* ======================================================================= *
* Dátum / Date:   2007.04.05.                                             *
**************************************************************************/

class Uinfo extends Re_login
{
    
//info változók
    
var $veznev;
    var 
$kernev;
    var 
$nem;
    var 
$kor;
    var 
$orszag;
    var 
$varos;
    var 
$mail;
    var 
$old_mail;
    var 
$website;
    var 
$msn;
    var 
$skype;
    var 
$egyeb;
var $telefon;
    
    
//hiba tömb
    
var $u_hiba      = array();
    
    
//program elõkészítése
    
function uinfo()
    {
        
//szükésges sql adatok beállítása
        
Re_login::re_adatok();
        
$uinfo_sql   "select * from re_data where id = '$this->userid' limit 1";
        
$uinfo_query mysql_query($uinfo_sql);
        
$uinfo       mysql_fetch_assoc($uinfo_query);
        
$this->old_mail $uinfo['mail'];

        
//sql ben tárolt adatok vagy $_POST adatok

        
$tomb = array("veznev","kernev","nem","kor","orszag","varos","mail","public_mail","website","msn","skype","egyeb","telefon");
        foreach(
$tomb as $var)
        {
            if(isset(
$_POST['elkuld'])){
                
$this->$var htmlspecialchars(stripslashes($_POST[$var]));
            } else {
                
$this->$var htmlspecialchars($uinfo[$var]);
            }
        }

        
//ha van hibaüzenet, azt is beállítja
        
$this->set_errors();
    }
    
//karakterek helyes beállítása (html kód levédése)
    
function set_chars($string)
    {
        return 
trim($string);
    }
    
//http:// nélkül is helyes a webcím
    
function set_website($website)
    {
        
$website trim($website);
        
$website eregi_replace("http://"""$website);
        
$website trim(str_replace($website"http://$website"$website));
        return 
$website;
    }
    
//kor mezõben csak számok lehetnek
    
function check_kor()
    {
        
$kor trim($_POST['kor']);
        
eregi("[0-9]+",$kor,$kimenet);
        
        if(
$kor != $kimenet[0]) return false;
        return 
true;
     }
  //telefon mezõben csak számok lehetnek
    
function check_telefon()
    {
        
$kor trim($_POST['telefon']);
        
eregi("[0-9]+",$telefon,$kimenet);
        
        if(
$telefon != $kimenet[0]) return false;
        return 
true;
     }
    
//a lehetséges hibaüzenetek beállítása
    
function set_errors()
    {
        if(!
$this->check_mail_msn($_POST['msn']))
            { 
$this->u_hiba[] = "Érvénytelen msn cím!"; }
        if(!
$this->check_mail_msn($_POST['mail']))
            { 
$this->u_hiba[] = "Érvénytelen e-mail cím"; }
        if(
$this->old_mail != $_POST['mail']){
        if(
$this->tiltott_mail($_POST['mail']) and ($_POST['mail'] != ""))
            { 
$this->u_hiba[] = "Ez az e-mail cím foglalt!"; }
        }
        if(
$_POST['mail'] == "")
            { 
$this->u_hiba[] = "Adj meg egy e-mail címet!"; }
        if(!
$this->check_kor())
            { 
$this->u_hiba[] = "A kor mezõ adatai hibásak"; }
if(!$this->check_telefon())
            { 
$this->u_hiba[] = "A telefon mezõ adatai hibásak"; }
        if(
strlen($this->egyeb) > 600)
            { 
$this->u_hiba[] = "Az egyéb információk max 600 karakter lehet"; }
    }
    
//adatbázisba visszük az adatokat
    
function u_beir()
    {
        
$veznev  $this->set_chars($_POST['veznev']);
        
$kernev  $this->set_chars($_POST['kernev']);
        
$orszag  $this->set_chars($_POST['orszag']);
        
$varos   $this->set_chars($_POST['varos']);
        
$skype   $this->set_chars($_POST['skype']);
        
$egyeb   $this->set_chars($_POST['egyeb']);
        
$website $this->set_website($this->website);
        
$mail    trim($this->mail);
        
$msn     trim($this->msn);

        
$u_beir_sql "
        update re_data set
            veznev      = '
$veznev',
            kernev      = '
$kernev',
            orszag      = '
$orszag',
            varos       = '
$varos',
            skype       = '
$skype',
            website     = '
$website',
            uj_mail     = '
$this->mail',
            public_mail = '
$this->public_mail',
            msn         = '
$this->msn',
            nem         = '
$this->nem',
            kor         = '
$this->kor',
telefon     = '
$this->telefon',
            egyeb       = '
$egyeb'
        where id = '
$this->userid'
        "
;
        
mysql_query($u_beir_sql);
        
        print 
"<p align=\"center\">Sikeres adatlap módosítás!</p>";
    }

    
    
//userinfó kitöltéséhez szükséges FORM
    
function uinfo_form()
    {
        
$select['x'] = "Nem tudom";
        
$select['N'] = "Lány/Nõ";
        
$select['F'] = "Fiú/Férfi";
        if(
$this->public_mail != 1){
            
$status0 " checked=\"checked\"";
            
$status1 "";
        }else{
            
$status0 "";
            
$status1 " checked=\"checked\"";
        }

        
$uinfo_form "
        <form action=\"
$_SERVER[REQUEST_URI]\" method=\"POST\">
        <table align=\"center\" border=\"0\" celpadding=\"0\" cellspacing=\"0\" width=\"400\">
        <tr>
            <td class=\"ucim\" align=\"center\" colspan=\"2\">
            <img src=/images/adatki.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\"><br>
            <font color=#0099FF>Vezetéknév:
            </td>
            <td class=\"input\"><br>
            <input type=\"text\" name=\"veznev\" maxlength=\"30\" size=\"20\" value=\"
$this->veznev\" />
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\">
            <font color=#0099FF>Keresztnév:
            </td>
            <td class=\"input\">
            <input type=\"text\" name=\"kernev\" maxlength=\"30\" size=\"20\" value=\"
$this->kernev\" />
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\">
            <font color=#0099FF>Nem:
            </td>
            <td class=\"input\">
            <select name=\"nem\">"
;

            foreach(
$select as $value => $kiir)
            {
                
$uinfo_form .= "<option value=\"$value\"";
                if(
$value == $this->nem) { $uinfo_form .= " selected"; }
                
$uinfo_form .=  ">$kiir</option>";
            }

            
$uinfo_form .= "</select>
            </td>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        </tr>
        <tr>
            <td class=\"cim\">
            <font color=#0099FF>Kor:
            </td>
            <td class=\"input\">
            <input type=\"text\" name=\"kor\" maxlength=\"3\" size=\"3\" value=\"
$this->kor\" />
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\">
            <font color=#0099FF>Ország:
            </td>
            <td class=\"input\">
            <input type=\"text\" name=\"orszag\" maxlength=\"50\" size=\"20\" value=\"
$this->orszag\" />
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\">
            <font color=#0099FF>Város:
            </td>
            <td class=\"input\">
            <input type=\"text\" name=\"varos\" maxlength=\"50\" size=\"20\" value=\"
$this->varos\" />
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\">
           <img src=/images/email.gif>
            </td>
       
            </td>
            <td class=\"input\">
            <input type=\"text\" name=\"mail\" maxlength=\"100\" size=\"20\" value=\"
$this->mail\" />
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\">
            <font color=#0099FF>E-mail cím elrejtése:
            </td>
            <td class=\"input\">
            <input type=\"radio\" name=\"public_mail\" value=\"0\" 
$status0 /> Elrejt
            <input type=\"radio\" name=\"public_mail\" value=\"1\" 
$status1 /> Publikus
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\">
             <img src=/images/www.gif>
            </td>
            <td class=\"input\">
            <input type=\"text\" name=\"website\" maxlength=\"100\" size=\"20\" value=\"
$this->website\" />
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\">
             <img src=/images/msn.gif>
            </td>
            <td class=\"input\">
            <input type=\"text\" name=\"msn\" maxlength=\"100\" size=\"20\" value=\"
$this->msn\" />
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\">
              <img src=/images/skype.gif>
            </td>
            <td class=\"input\">
            <input type=\"text\" name=\"skype\" maxlength=\"100\" size=\"20\" value=\"
$this->skype\" />
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
<tr>
            <td class=\"cim\">
              <img src=/images/tel.gif>
            </td>
            <td class=\"input\">
            <input type=\"text\" name=\"telefon\" maxlength=\"11\" size=\"20\" value=\"
$this->telefon\" />
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"cim\" colspan=\"2\" align=\"center\">
            <font color=#0099FF>Magamról: (max 600 karakter)
            </td>
        </tr>
        <tr>
            <td class=\"input\" colspan=\"2\">
            <textarea name=\"egyeb\" maxlength=\"600\" cols=\"30\" rows=\"5\" >
$this->egyeb</textarea>
            </td>
        </tr>
        <tr>
            <td colspan=\"2\" align=\"center\">
            <input type=\"submit\" name=\"elkuld\" value=\"Kész\">
            </td>
        </tr>
        </table>
        </form>
        "
;
        return 
$uinfo_form;
    }
}
$uinfo = new Uinfo;
if(isset(
$_POST['elkuld'])){

    
//ha nincs hiba, adatbázisba ír
    
if(count($uinfo->u_hiba) == 0)
    {
        
$uinfo->u_beir();
        if(
$uinfo->mail != $uinfo->old_mail){
            
$uinfo->mail_aktiv_kuld($_POST['mail'],$login->userid);
            print 
"
            <div align=\"center\" style=\"color: red; font-weight: bold;\">
            Biztonsági okokból meg kell erõsítened az e-mail címed!<br />
            Az aktivációs linket elküldtük a megadott címedre.<br />
            Amenyiben nem lépsz be újra az aktiválás után 24 órával sem,<br />
            az e-mail címed visszaáll a korábbira.
            </div>
            "
;
        }
    
//ha van hiba, kiirja a hibákat
    
}else{
        print 
"<p align=\"center\"><font color=\"#ff0000\">";
        foreach(
$uinfo->u_hiba as $k => $error)
        {
            print 
$k .". $error<br />";
        }
        print 
"</font></p>";
    }
}
//infó kitöltés formja
print $uinfo->uinfo_form();


?>


...


Cím: Re: PHP
Írta: AAron - 2008. 03. 30. - 08:55:30
...
A userinfo_olv.php tartalma
Kód:
<?php
/**************************************************************************
* R.E. login (1.8) - uinfo_olv.php                                        *
* ======================================================================= *
* Adatlap olvasása                                                        *
* ======================================================================= *
* Ezt a programot a PHP Studio fejlesztette, a szerzõk: / This program    *
* was developed by the PHP Studio, the authors:                           *
* Rimelek                                                                 *
* ----------------------------------------------------------------------- *
* Weboldalunk / Our webpage: http://www.phpstudio.hu                      *
* Segítségnyújtás / HelpDesk: http://forum.phpstudio.hu                   *
* Kapcsolat / Contact: php.prog@hotmail.com                               *
* ======================================================================= *
* Ez a program license alatt áll, amit itt tekinthetsz meg: / This        *
* program is under a license, which you can see here:                     *
* http://license.phpstudio.hu                                             *
* ----------------------------------------------------------------------- *
* A license-szel kapcsolatos észrevételeid, megjegyzéseid, kérdéseid  a   *
* license@phpstudio.hu e-mail címen várjuk.                               *
* ----------------------------------------------------------------------- *
* You can send your remarks, opinions, questions to the following e-mail  *
* address: license@phpstudio.hu                                           *
* ======================================================================= *
* Dátum / Date:   2007.04.05.                                             *
**************************************************************************/

class Uinfo_olv extends Re_login
{

    var 
$info_array = array();
    var 
$uid;

    function 
uinfo_olv()
    {
        
eregi("[0-9]+"$_GET['uid'], $gets);
        
//ha nem szám a $_GET['s'] akkor átirányitás
        
if($_GET['uid'] != $gets[0] or $_GET['uid'] == NULL)
        {
            
$_GET['uid'] = "0";
            foreach(
$_GET as $k => $v) { $qs .= $k."=".$v."&"; }
            
header("Location: $_SERVER[PHP_SELF]?$qs");
        }
        
$this->uid $_GET['uid'];
        
$this->re_adatok();
    }
    
//Beállítjuk a tag nemét
    
function set_nem($nem)
    {
        switch(
$nem)
        {
            case 
"F"$nem "Fiú/Férfi";  break;
            case 
"N"$nem "Lány/Nõ";    break;
            case 
"x"$nem "Nem tudja";  break;
            default:  
$nem "Ismeretlen"; break;
        }
        return 
$nem;
    }

    
//Az idõ formátum beállítása
    
function set_times($times)
    {
        if(
$times mktime(1,1,1,1,1,2006)) return "---";
        return 
date("Y.m.d - H:i:s"$times);
    }
    
//A böngészõ adatainak formázása
    
function set_browser($browser)
    {
        
$type substr($browser0strpos($browser"(") - );
        
$pos strpos($browser"(") + 1;
        
$egyeb substr($browserstrpos($browser"(") + 1strpos($browser")") - ($pos) );


        
$brows['type'] = $type;
        
$brows['egyeb']   = $egyeb;
        return 
$brows;
    }
    
//Kiszámoljuik az online idõt (nap, óra, perc, másodperc)
    
function set_online($online)
    {
        
$percszor 60;
        
$oraszor  60 $percszor;
        
$napszor  24 $oraszor;

        
        
$nap     floor$online $napszor );
        
$ora_x   $nap $napszor;
        
$ora     floor(($online $ora_x) / $oraszor);
        
$perc_x  $ora_x + ( $ora $oraszor );
        
$perc    floor( ($online -  $perc_x) / $percszor);
        
$mperc_x $perc_x + ($perc $percszor);
        
$mperc   $online $mperc_x;

        
$online  = array(
                  
"nap"   => $nap,
                  
"ora"   => $ora,
                  
"perc"  => $perc,
                  
"mperc" => $mperc
                  
);
        return 
$online;
    }

    
//Az adatlap kiolvasása
    
function kiolv()
    {
        
$uinf_sql         "
        select * from re_login, re_data
        where re_login.id = re_data.id and re_login.id = '
$this->uid' limit 1";

        
$uinf_query       mysql_query($uinf_sql) or die(mysql_error());
        
$uinf             mysql_fetch_assoc($uinf_query);
        
//visszaadjuk az adatokat egy tömbben
        
$this->info_array $uinf;
    }

    
//Infók kiírása a visszaadott tömb alapján
    
function info_kiir()
    {

        
$info $this->info_array;
        
//Az infók helyes beállítása
        
$info['nem']   = $this->set_nem($info['nem']);
        
$info['veznev'] = htmlspecialchars($info['veznev']);
        
$info['kernev'] = htmlspecialchars($info['kernev']);
        
$info['egyeb'] = htmlspecialchars($info['egyeb']);
        
$infos explode("\n",$info['egyeb']);
        foreach(
$infos as $key => $line)
        {
            
$infos[$key] = wordwrap($line,50,"\n");
        }
        
$info['egyeb'] = implode("\n",$infos);

        
$info['egyeb'] = '<pre><div style="width: 300; border-style: solid; border-width: 1px; border-color:#FF9900; padding: 10px; background-color:#FFFAF2;  height: 150; overflow: auto; font-family: Verdana,Arial; font-size: 10pt;">'.$info['egyeb'].'</div></pre>';
        
        
$info['status']    = ($info['status'] == "1") ? "<img src=/images/ikon_online.gif><font color=#33CC00>Online" "<img src=/images/ikon_offline.gif><font color=#FF0000>Offline";
        
$info['regido']    = $this->set_times($info['regido']);
        
$info['belepes']   = $this->set_times($info['belepes']);
        
$info['frissites'] = $this->set_times($info['frissites']);
        
$info['online']    = $this->set_online($info['online']);
        
$info['website']   = "<a href=\"$info[website]\">$info[website]</a>";
        
$info['mail']      = "<a href=\"mailto:$info[mail]\">$info[mail]</a>";
        if(
$info['public_mail'] != "1" and $this->jog != "a")
        { 
$info['mail'] = "Nem publikus"; }
        
$info['browser']   = $this->set_browser($info['browser']);
        if(
$info['mh'] == NULL) { $info['mh'] = 0; }
        
        switch(
$info['jog'])
        {
            case 
"a"$jog "<font color=#FF0000>[Admin]";   break;
            case 
"t"$jog "Tag";     break;
            case 
"x"$jog "Tiltott"; break;
            default:  
$jog "?????";   break;
        }
        
        
$nap   $info['online']['nap'];
        
$ora   $info['online']['ora'];
        
$perc  $info['online']['perc'];
        
$mperc $info['online']['mperc'];

        
$browser_type $info['browser']['type'];
        
$browser_op $info['browser']['egyeb'];
        
//Ha nincs adat, helyette szóköz karaktert teszünk be
        
function nbspx($string) { return $string."&nbsp;";  }
        
$info array_map("nbspx",$info);

        
//Ezeket az adatokat csak admin láthatja
        
$admin_table "
        <tr>
            <td align=\"center\" border=\"0\" colspace=\"0\" colspan=\"0\">
            <b>Adminoknak</b>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            IP cím:
            </td>
            <td class=\"uinf\">
            
$info[ip]
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            Egyéb infó:
            </td>
            <td class=\"uinf\">
            
$browser_op
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            Meghívói
            </td>
            <td class=\"uinf\">
            
$info[mh] darab
            </td>
        </tr>
        "
;
        
//ha nem admin a tag, töröljük az admin_table tartalmát
        
if($this->jog != "a") { $admin_table ""; }
        
//It kiírjuk az adatokat egy táblázatban
        
$inf_table "<p  align=\"center\"><big>$info[user] adatlapját nézed</big></p>";
        
$inf_table .= "
        <table align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"500\">
        <tr>
            <td align=\"left\" colspan=\"2\"><br>
            <img src=/images/szeminf.gif>
            </td>
</tr> 
<tr>
            <td class=\"ucim\"><br>
            <font color=#F9A813>Név:
            </td>
            <td class=\"uinf\"><br>
            
$info[veznev] $info[kernev]
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <font color=#F9A813>Neme:
            </td>
            <td class=\"uinf\">
            
$info[nem]
            </td>
        </tr> 
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
    <td class=\"ucim\">
            <font color=#F9A813>Kor:
            </td>
            <td class=\"uinf\">
            
$info[kor] éves
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <font color=#F9A813>Ország:
            </td>
            <td class=\"uinf\">
            
$info[orszag]
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <font color=#F9A813>Város:
            </td>
            <td class=\"uinf\">
            
$info[varos]
            </td>
        </tr>

        <tr>
            <td align=\"left\" colspan=\"2\">
            <img src=/images/eler.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\"><br>
            <img src=/images/www.gif title=Weboldala></b>
            </td>
            <td class=\"uinf\"><br>
            
$info[website]
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
           <img src=/images/email.gif title=E-mail címe></b>
            </td>
            <td class=\"uinf\">
            
$info[mail]
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
           <img src=/images/msn_logo.gif title=MSN azonosítója>
            </td>
            <td class=\"uinf\">
            
$info[msn]
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <img src=/images/skype.gif title=Skype azonosítója>
            </td>
            <td class=\"uinf\">
            
$info[skype]
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
  <tr>
            <td class=\"ucim\">
           <img src=/images/tel.gif title=Telefonszáma>
            </td>
            <td class=\"uinf\">
            
$info[telefon]
            </td>
        </tr>
        <tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\"><br>
             <img src=/images/magam.gif></b>
            </td>
        </tr>
        <tr> 
            <td class=\"uinf\" border=\"2\" colspan=\"2\">
            
$info[egyeb]
            </td>
        </tr>
        <tr>
            <td align=\"left\" colspan=\"2\">
             <img src=/images/tech.gif></b>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <font color=#F9A813>Joga:
            </td>
            <td class=\"uinf\">
            
$jog
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <font color=#F9A813>Státusz:
            </td>
            <td class=\"uinf\">
            
$info[status]
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <font color=#F9A813>Regisztrált:
            </td>
            <td class=\"uinf\">
            
$info[regido]
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <font color=#F9A813>Belépett:
            </td>
            <td class=\"uinf\">
            
$info[belepes]
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <font color=#F9A813>Frissített:
            </td>
            <td class=\"uinf\">
            
$info[frissites]
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <font color=#F9A813>Online ideje:
            </td>
            <td class=\"uinf\">
            
$nap nap - $ora óra - $perc perc
            </td>
        </tr>
<tr>
            <td class=\"ucim\" align=\"left\" colspan=\"2\">
            <img src=/images/line.gif>
            </td>
        </tr>
        <tr>
            <td class=\"ucim\">
            <font color=#F9A813>Böngészõje:
            </td>
            <td class=\"uinf\">
            
$browser_type
            </td>
        </tr>
        
$admin_table
        </table>"
;
        
        if(
$info['id'] == NULL)
        {
            
$inf_table "<p align=\"center\">Nincs ilyen felhasználó</p>";
        }
        
        return 
$inf_table;
    }
}

$uinf_olv = new Uinfo_olv();

$uinf_olv->kiolv();
print 
$uinf_olv->info_kiir();

print 
"
<p align=\"center\">
<a href=\"javascript:history.go(-1)\">Vissza</a>
</p>"
;

?>


Remélem tudtok segíteni nekem,

üdv.


Cím: Re: PHP
Írta: Jana - 2008. 03. 30. - 08:57:18
Üdv! PHP-t szeretnék tanulni, le is töltöttem a 'Hogyan tanuljuk meg a PHP4 használatát 24 óra alatt' De azt valahogy nem igazán értem. Szerintetek érdemes megtanulni, vagy maradjak a HTML-nél?


Cím: Re: PHP
Írta: TreamX - 2008. 03. 30. - 09:26:22
Üdv! PHP-t szeretnék tanulni, le is töltöttem a 'Hogyan tanuljuk meg a PHP4 használatát 24 óra alatt' De azt valahogy nem igazán értem. Szerintetek érdemes megtanulni, vagy maradjak a HTML-nél?
Mindenképp érdemes megtanulni a php-t, én is kiolvastam a php5 24 óra alattot, az alapokra talán elég is volt, de ha mellette nem gyakorolsz, és neten nem keresgetsz, vagy kérddezgetsz (pl. itt), akkor nagyon nem fogsz fejlődni. Én kb 1 hónapja vettem meg a könyvet, ki is olvastam 4 nap alatt, de inkább netről tanultam/tanulok.


Cím: Re: PHP
Írta: Jana - 2008. 03. 30. - 09:39:34
Mennyi idő, ami alatt meg lehet tanulni?


Cím: Re: PHP
Írta: Csiga - 2008. 03. 30. - 09:41:30
Olyan sajnos nincs hogy megtanulni, inkább olyan, hogy beletanulni a dolgokba. De ez függ ambíciótól is, mennyire ásod bele magad a dolgokba stb... 1év alatt egész jó szintet lehet elérni :)

//De ne OFF-oljuk szét a topicot


Cím: Re: PHP
Írta: TreamX - 2008. 03. 30. - 17:48:46
Ealakadtam, és nagyon nagyon nemtudom, hogy csináljam meg.
Szóval ugye azt akarom, hogy vannak kategóriák, és mindnek a linkje, a saját idje(sql-be)
Szal pl így néz ki:
Kód:
echo "<a href='index.php?act=".$l['id']."'>".$l['nev']."</a>";
Akkor hogy tudom megcsinálni, hogy ebbe az oldalmotorba, ha rámegy erre a linkre, mi jöjjön be? vagyis hogy határozzam meg az $l['id'] értékét?
Kód:
<?php
$modules
["index"] = "main.php";
$modules["id"] = "car.php";
$act "main.php"//az alap betoltes, ha nincs megadva a module valtozo
 
if ( !isset($_GET["act"]) ){
  
$get_mod "";
}
else 
$get_mod strip_tags(htmlentities($_GET["act"]));
 
foreach(
$modules as $mod => $act_m){
  if( 
strcmp($mod,$get_mod) == ){
    
$act $act_m;
    break;
  }
}
 
if ( 
file_exists($act) ){
  include 
$act;
}
else{
 include (
"error.php");
 
  
/**
   * vagy beolvashatsz egy sajat hibaoldalt is, ha azt irod, hogy
   * inlude "hibaoldal.php";
   *
   */
}
?>


Cím: Re: PHP
Írta: Tupacko - 2008. 03. 31. - 15:47:16
Úgy látom ez visszatérő probléma :) Néhányszor már felmerült a kérdés. A megoldás egyszerű (szerintem). Beteszel egy új modul linket, ami betölt egy PHPt, amiben majd feldolgozod a $_GET['l'] értékét úgy, ahogy azt eddig is tetted más voltozók esetén. Ha nem SQLból olvasná és statikus oldalakat olvasna be, akkor van egy másik módszer is. Ugyancsak egy új modul létrehozásával kezdesz, majd a modul PHPjában ismét beilleszted a weboldalmotort, ameiben kicseréled a module változót pl. egy moduleModulNeve változóval (amiben a modulspecifikus betöltendő fájlokat tartalmazod) és az act változót a neked megfelelővel (amit a címsávban használni akarsz).

Példa a második betöltendő állományra:
Kód:
<?php
$modulesSubCat1
["index"] = "main.php";
$modulesSubCat1["id"] = "car.php";
$actSubCat1 "main.php"//az alap betoltes, ha nincs megadva a module valtozo
 
if ( !isset($_GET["actTheModule"]) ){
  
$get_modSubCat1 "";
}
else 
$get_modSubCat1 strip_tags(htmlentities($_GET["actTheModule"]));
 
foreach(
$modulesSubCat1 as $modSubCat1 => $act_mSubCat1){
  if( 
strcmp($modSubCat1,$get_modSubCat1) == ){
    
$actSubCat1 $act_mSubCat1;
    break;
  }
}
 
if ( 
file_exists($actSubCat1) ){
  include 
$actSubCat1;
}
else{
 include (
"errorSubCat1.php");
 
  
/**
   * vagy beolvashatsz egy sajat hibaoldalt is, ha azt irod, hogy
   * include "hibaoldal.php";
   *
   */
}
?>



Cím: Re: PHP
Írta: AAron - 2008. 03. 31. - 19:05:48
Az én problémámon tud valaki segíteni?


Cím: Re: PHP
Írta: Tupacko - 2008. 04. 01. - 13:00:00
Erről lenne szó: http://forum.webpillango.org/index.php/topic,5.msg927.html#msg927

U.i. máskor írd oda a linket, hogy lássa mindeki, hogy miről is kérdezel :)


Cím: Re: PHP
Írta: AAron - 2008. 04. 01. - 21:57:18
Igen, tehát ezt szeretném megtudni, egyszerűen nem tudom úgy kiegészíteni ahogy jó.
Próbálkoztam de sajnos nem tölti fel a képet. :-\
http://forum.webpillango.org/index.php/topic,5.msg927.html#msg927
Remélem tudtok segíteni.


Cím: Re: PHP
Írta: TreamX - 2008. 04. 02. - 17:58:16
Hát nya. a versenyek kilistázásával próbálkozok, de nem valami nagy sikerrel
Kód:
if (!empty($_GET['id']) && empty($_GET['com']) && empty($_GET['vote'])) { //ha raklikkeltek valamelyik versenyre
$gett = mysql_query("SELECT * FROM versenyek WHERE id = '".$_GET['id']."'");
$vmi = mysql_fetch_array($gett);
if ($vmi['hatarido'] > $most_belyeg) {
header ("Location: index.php?module=verseny");
}
if($vmi['hatarido'] <= $most_belyeg && $vmi['phatarido'] > $most_belyeg) {
echo "<div id=newsheader><p class=newssz>". $vmi['cim'];
echo "</p></div><div id=newst><p class=ntt>" .$vmi['szoveg'];
echo "<br><a href='" .$vmi['file'] ."'><img src='" .$vmi['file'] ."' class=smallrace></a></p>";
echo "<hr>";
echo "<p class=ntt>";
$melyik = mysql_query("SELECT * FROM upload WHERE id='".$_GET['id']."'");
while ($m = mysql_fetch_assoc($melyik)) {
echo "<a href='upload/verseny/".$m['id'].".jpg'><img src='upload/verseny/".$m['id'].".jpg' class=clist>";
}
echo "</p>";
echo "<p class=ntt><a href='index.php?module=verseny&id=".$vmi['id']."&vote=".$vmi['id']."'>Pontozok!</a></p>";
echo "</p></div><div id=newsfooter><p class=nft>";
echo "<a href='index.php?module=verseny&com=" . $vmi['id'] . "'>Kommentek</a></p></div>";
}
if($vmi['phatarido'] <= $most_belyeg) {
echo "<p class=ntt>Ide jön az eredmény!</p>";
echo "<a href='index.php?module=verseny&com=" . $vmi['id'] . "'>Kommentek</a></p></div>";
}
}

azt akarom, hogy ha már a határidő letelt, de a phatarido még nem, akkor kilistázza az autókat.
Ha már mind2 letelt, akkor meg az eredményt írja ki.
De valamiért nem jól jön be:
http://vtpc.extra.hu/index.php?module=verseny&id=2


Cím: Re: PHP
Írta: kovger - 2008. 04. 06. - 09:23:44
Van egy kódom, ami megjeleníti a php ban lévő fájlokat.
Annyi a gondom vele, hogy a php scripteket rosszul jeleníti meg (hibákkal).
Ez lenne a script

<?php
$fajlnev = "/vendeg_konyv/index.php";
$fa = fopen( $fajlnev,"r") or die("$fajlnev nem nyitható meg!");
While (!feof ($fa))
{
$szoveg =fgetc($fa);
$str = preg_replace("/(\\\\\\\\r\\\\\\\\n|\\\\\\\\n|\\\\\\\\r)/", "<br>", $szoveg);
print "$str";
}
fclose($fa);
?>


Cím: Re: PHP
Írta: Balintt - 2008. 04. 09. - 20:04:58
Sziasztok! Szeretném megtanulni a php nyelvet, és az lenne a kérdésem, hogy tudnátok-e nekem erre egy jó könyvet ajánlani? Üdv: Bálint


Cím: Re: PHP
Írta: Tupacko - 2008. 04. 09. - 23:38:09
Az adott témába kéretnek érkezni a válaszok :) Van könyvajánló, van fórum kereső :)

kovger, nem értem a kérdést? mit szeretnél kiíratni? egy bármilyen filet? Ez így értelmetlen "megjeleníti a php ban lévő fájlokat" ... a PHP állomány maga egy file, nincsenek benne további állományok, nem arhív.


Cím: Re: PHP
Írta: kovger - 2008. 06. 16. - 15:39:58
Szükségem lenne egy olyan képlistázóra, ami kisképeket jelenít meg.
Egy kis primitív script is elég lenne. Fontos, ne kelljen semmitse telepíteni, csak feltölteni a fájlokat ftp-re.


Cím: Re: PHP
Írta: kovger - 2008. 06. 16. - 17:02:34
Van egy kisebb fájllistázóm, de kiszeretém a sor elejére iratni, a fájl formátumát.
Hogyan tudnám ezt megtenni?


Cím: Re: PHP
Írta: Tupacko - 2008. 06. 16. - 19:54:42
Egy kis megoldás talpaló :)
Kód:
$dir = "./kepek/";


if (is_dir($dir)) {
  if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
      if ( !is_dir($dir.$file) && getimagesize($dir.$file) ){ // egy valid képrol van szó, függetlenűl a kiterjesztéstol (a kép adatát vizsgálja)
        // amit akarsz a képpel végezni
        $ext = substr($file, strrpos($file, '.') + 1); // a file kiterjesztésének megtudása
      }
    }
    closedir($dh);
  }
}else{
  echo "A mappa nem található."; // hibakezelés
}

Jó kódolást :)


Cím: Re: PHP
Írta: Alex - 2008. 07. 13. - 13:40:14
Hogyan tudnék dinamikus oldalcímet létrehozni? Azt szeretném, hogy a <title> és </title> tagek közé kerülő szöveg annak függvényében változzon, hogy mi kerül a "content" divbe (egy oldalbehívó script hívja be a tartalmakat).

Eddig egy nagyon primitív megoldással próbálkoztam. A "content" divbe töltődő tartalom (amit hívjunk most oldal.php-nak) első sorába beírtam a következőt.
Kód:
<?php $oldalcim 'Untitled'?>
Majd a főoldal (index.php) <title> és </title> tagei között elhelyeztem a következő kódot.
Kód:
<?php echo $oldalcim?>
Ez a megoldás azonban – szemlátomást – nem működik.

A választ előre is köszönöm.


Cím: Re: PHP
Írta: Tupacko - 2008. 07. 14. - 20:12:19
A gondolat nem rossz, így a legegyszerűbb hasonló dolgot elérni. A gubanc onnan adódik, hogy te bizonyára csak ott olvasod be a az oldal.phpt, ahol annak a tartalmát meg szeretnéd jeleníteni. Na már most, ekkor már a title tag ki van íratva és a változód, ami az oldal címét tárolja nem létezik a title kiíratásának időpontjában. Több megoldás is van. Egy megoldást az jelenthet, ha a beolvasandó filet még a tartalom kikűldése előtt beolvasod. A file tartalmazná mindazt, amire szükséged van, de függvények formájában. Ezesetben nem íródna ki a php tartalma a beolvasáskor. Az oldalfelépítésed meg lehetne valami hasonló:

Kód:
...
<title><?php get_title(); ?></title>
...
<div id="tartalom"><?php get_content(); ?></div>
...

Természetesen nagy rendszereknél nem építkeznék hasonló képpen, de ott már a tartalom adatbázisban lenne és esetleg egy már meglévő keretrendszert vagy sablonkezelőt használnék, pl. Smarty.

Kellemes programozást!


Cím: Re: PHP
Írta: Alex - 2008. 07. 14. - 20:46:45
Köszönöm a választ! Tehát arra gondolsz, hogy a beolvasandó fájlban (oldal.php) legyen egy title függvény (amelyben az oldalcímet helyezem el) és egy content függvény (amelybe a tartalom kerül)? Jó ötletnek tűnik, de a beolvasandó fájlban lévő PHP-kódoknak is le kellene futniuk.
Az adatbázisos megoldás tűnik a legkézenfekvőbbnek, de MySQL-t sajnos még egyáltalán nem tanultam.
A tartalomkezelő rendszerektől meg ódzkodom, mert tapasztalataim szerint "túlsúlyos állatok", amelyek agyonterhelik a szervert. Kivétel talán a WordPress, de az blogmotor. Amúgy is szeretek mindent magam megírni, még akkor is, ha így időigényesebb.


Cím: Re: PHP
Írta: Tupacko - 2008. 07. 15. - 17:33:17
Amiért függvényben van, simán lefut a PHP kód is :) Ne viccelj, biztosan írtál már függvényt. Ha azt meghívod, akkor a benne lévő PHP utasítások lefutnak.

u.i.: az SQL nagyon egyszerű, vess rá egy pillantást. Ha valami nem megy, segítek a MySQL topicban.

Sok sikert!


Cím: Re: PHP
Írta: Alex - 2008. 07. 15. - 21:18:55
Írtam már függvényt, de az nem ilyesmi volt. Az oldalmotorom egyébiránt remekül működik. Meg aztán azt sem tudom, hogy sok behívott oldal esetén jól működne-e ez a módszer.
Még arra gondoltam, hogy lehet, hogy esetleg a weboldalmotorban lévő változókat fel lehetne használni az oldalcím kiíratására. Az nem probléma, hogy a főoldalban (index.php) kell tárolni az oldalcímeket (mondjuk egy tömbben).
Az alábbi "félmegoldás" az oldalak sorszámait írja ki (ugyanis a hivatkozások nálam így néznek ki: index.php?site=1).
Kód:
<title><?php if (isset($_GET["site"])) { echo $_GET["site"];} ?></title>
Elképzelhetőnek tartom, hogy valahogyan meg lehetne oldani, hogy ha például az 1-es oldal töltődik be (if), akkor az 1-es oldalhoz tartozó oldalcím jelenjen meg a <title> és </title> tagek között, ha a 2-es (elseif), akkor a 2-es oldalhoz tartozó, és így tovább. Ötletem van, csak megoldás nincs még.  :)

Az SQL-t is meg akarom tanulni, de mostanában nincs sok időm. A segítségedet nagyon köszönöm.


Cím: Segitsetek!
Írta: 0246886420 - 2008. 07. 16. - 14:45:18
Hahó!
Ahogy látom mindenkinek segítetek csak nekem nem pedig leírtátok, hogy tudtok segíteni. Nem írom le most már megint a levelem mert már 4-szer leírtam és senki sem segített. Úgyhogy most már létszi tényleg olvassátok vissza az üzeneteimet és segítsetek.

Moderálva: csupa nagybetűs cím


Cím: Re: PHP
Írta: Alex - 2008. 07. 16. - 16:36:49
Nézd, bár valóban igaz, hogy ezen a fórumon segítőkész emberek tevékenykednek, nem hiszem, hogy mindenki mindenre tudja a választ. Nem biztos, hogy azért nem kapsz választ, mert figyelmen kívül hagyják a kérdésedet vagy nem foglalkoznak vele. Lehet, hogy azért nem kaptál választ, mert senki sem tudja a választ a kérdésedre a fórumot látogatók közül.
Senki sem mindentudó, előfordul, hogy a legnagyobb tudású emberek sem tudnak válaszolni bizonyos kérdésekre.  ::)


Cím: Re: PHP
Írta: Tupacko - 2008. 07. 16. - 16:41:51
0246886420 :
Légyszíves moderáld magad. Ilyen címet nem illik létrehozni: "SSSEEEEGGGGGÍÍÍÍÍTTTSSSEEETTTTTEEEkKK!!!!!!", sokmindent elronthat, ráadásul a csupa nagybetűs írásmód kiabálásnak felel meg az interneten ... remélem nem kiabálsz ;) Ha valaki tud,biztosan segít. Én megtettem, amit részemről megtehető volt.
Alex:
az index.phpban, tömbben megjegyzendő címek rossz ötlet. Működőképes, amíg csak néhány oldalad van, de ha már több tucat oldal van, iszonyat elnőhet a tömb, ráadásul minden alkalommal, amikor valami újat adsz hozza az oldalhoz, mindig kell változtasd az index.phpt is. Egyszerű megoldást az a függvényes dolog kínál, amit mondtam. Komplikáltabb, de jobb megoldást pl. a Smarty használata kínál.


Cím: Re: PHP
Írta: Alex - 2008. 07. 16. - 17:04:48
Értem. Kipróbálom a függvényes megoldást, de át kell írni miatta az oldalmotort.
Nézegettem közben a MySQL-t, valóban nem túl bonyolult. Bár szerintem csak rendszeresen frissülő oldalak esetében könnyítheti meg igazán a munkát.  :)


Cím: Re: PHP
Írta: Alex - 2008. 07. 16. - 20:00:21
Van egy igen bonyolult megoldásom, amely működik. Azonban nem fogom használni, mert nem tökéletes. Mindenesetre beírom ide, hátha érdekel valakit.  ;)

Kód:
<?php
    
function currentPageURL() {
    
$pageURL 'http';
    if (
$_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
    
$pageURL .= "://";
    if (
$_SERVER["SERVER_PORT"] != "80") {
    
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    } else {
    
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }
    return 
$pageURL;
    }
?>


<?php
    $URL 
currentPageURL();
    
$oldal 'http://example.com/index.php';
    
$oldal1 'http://example.com/index.php?site=1';
    
$oldal2 'http://example.com/index.php?site=2';
    
$oldal3 'http://example.com/index.php?site=3';
    
    if (
$URL == $oldal) {
    
$title 'Page Title 1';
    }
    elseif (
$URL == $oldal1) {
    
$title 'Page Title 2';
    }
    elseif (
$URL == $oldal2) {
    
$title 'Page Title 3';
    }
    elseif (
$URL == $oldal3) {
    
$title 'Page Title 4';
    }
    else {
    
$title "";
    }
?>

...
<title><?php echo $title?></title>
...


Cím: Re: PHP
Írta: Tupacko - 2008. 07. 16. - 21:51:11
Húha ... ez a sok elseif ... használj inkább switch-et, bár ez tényleg túlkomplikált. Van az oldalon egy PHP weboldalmotor (minimális, de működik). A fórumban is van neki téma, nézd meg hátha segít.


Cím: Re: PHP
Írta: Alex - 2008. 07. 16. - 22:33:13
Nos, én így tanultam (if-else-elseif). Mindegy, ezt a megoldást úgysem fogom alkalmazni, de legalább működik. :) A weboldalmotorodat láttam, nem rossz, az enyém is hasonló.


Cím: Re: PHP
Írta: 0246886420 - 2008. 07. 17. - 10:09:09
Hellosztok!!
Van egy portálom mivel én csak 13 vagyok nincs még saját weboldalam. Csak nézzétek meg, aztán, ha tetszik regisztráljatok! Ja és pont egy hete kezdtem szóval nincs sok minden rajta. A főbb modulok már meg vannak, de nincsen nagyon aprólékosan még megcsinálva.
Nézzétek meg légyszi!


Cím: Re: PHP
Írta: AAron - 2008. 07. 17. - 18:26:06
Ha kűldesz egy linket szivesen megnézném. 8)


Cím: Re: PHP
Írta: Tupacko - 2008. 07. 17. - 22:07:02
Itt a link. Kerlek tovabbiakban a honlapkritikahoz irjatok :) Nem a PHP topic a megfelelo erre a celra :) http://minden1-ben.gportal.hu/gindex.php?pg=27669688

Koszonom.


Cím: Include probléma
Írta: Tupacko - 2008. 09. 04. - 11:04:26
lowert írta (http://forum.webpillango.org/index.php/topic,10.msg1203.html#msg1203), hogy gond van egy PHP filebeolvasással. Nem talál a dolog a CSS témakörbe, ezért írom ide a választ.
Ellenőrizd, hogyha létezik az állomány (vigyázz a kis és nagybetükre, ha linuxon dolgozol). Ha létezik, helyezz el benne valami PHP kódot, ami kiír egy szöveget. Ha kiírja a szöveget, akkor megtalálja a filet. Ellenkező setben vagy az elérési útvonal vagy az állomány neve hibás.


Cím: Re: PHP
Írta: lowert - 2008. 09. 04. - 20:02:09
köszi a választ:) akkor hozzáírok valami szöveget PHP-ban, mondjuk a címet :) és akkor hátha működik, most sajnos nincs sok időm, nem tudom kipróbálni, most kell mennem, és bocs, hogy a CSS-be írtam :) csak a DIV méretét akartam dinamikusra csinálni, aztán ott ragadtam :)


Cím: Re: PHP
Írta: kovger - 2008. 09. 06. - 17:46:07
Kerestem az internetek egyszerűbb értékelőket, amit betudnék épiteni az oldalam vicceihez.
A legszebb megoldás AJAX lenne, de sehogyse tudom összehozni a két kód adatbázisát.
Szóval egy egyszerűbb értékelőre lenne szükségem.
Előre is köszi.


Cím: Saját PHP szavazó
Írta: Tupacko - 2008. 09. 09. - 12:01:35
Egy eléggé általános dolog (mivel nem ismerjük az adatbázisod felépítését), ha létrehozol egy új táblát az értékeléseknek. Ebben megjegyeznéd az IPcímet, az időt, az értékelést és az értékelés sorának egyedi számát (egy IDt, ami legegyszerűbben egy auto_increment mező), illetve egy vagy több mező, ami alapján azonosítani tudod, hogy melyik vicchez tartozik a szavazat.
Erre azért van szükséged, ha ki akarod védni a gyakori szavazást ugyanarról az IP címről. A lényeg végülis az értékelés értéke és az azonosító, amihez tartozik.
Amikor valaki szavaz, ellenörződ, hogy ha eltelt a megfelelő idő, hogy ismét tudjon szavazni (pl. 24 óra). Ha nem, nem adsz hozza a táblához szavazati sort. Ha tud szavazni, akkor beszúrsz egy újabb sort, majd elmentesz egy sütit is a felhasználó gépén (kettős kijátszási védelem, bár tökéletes kivédés nincs a gyakori szavazás ellen).
Kiírásnál összeszámolod a szavazatokat, áltagot számolsz és megjeleníted. Ha sok a szavazás és nagy az adatbázis, azt is meglehet oldani, hogy készítesz egy gyorsítótár táblát, amiben tárolod a jelen szavazati értéket és a vicc IDját, amit csak akkor frissítesz, amikor valaki szavaz. Így felgyorsítod a megjelenítést, hiszen nem kell minen alkalommal átlagot számolni, csak amikor új szavazat érkezik.

Sok sikert!

U.i.: az AJAXot hozzakötni már nem nehéz, ha egyszer ez működik. Majd azt is leírom a JavaScript témában.


Cím: Re: Dátum kiírása
Írta: kovger - 2008. 09. 20. - 10:42:54
Az oldalamon ez a rész jeleníti meg, hogy a viccet mikor küldték be.
Kód:
".showdate("%y.%m.%d", $data['joke_datestamp'])."
De én azt szeretném, hogy a dátum helyett ezt írja pl. Beküldve: 1(,2,3,4...) napja/1 hete/1 hónapja/1 éve .stb


Cím: Bekűldve x napja
Írta: Tupacko - 2008. 09. 20. - 13:25:27
Nos, ha a joke_datestamp egy időbélyeg, akkor elég egyszerű a dolog. Ügyelni kell arra, hogy a PHP timestamp másabb, mint a MySQL timestamp. Azt, hogy a PHPnak is jó legyen (mármint, hogy mindkettő ugyanarra az időpontra utaljon) a következő képpen érheted el. Az sql parancsban átalakítod az időd UNIX_TIMESTAMP függvénnyel.

Kód:
SELECT UNIX_TIMESTAMP(`joke_datestamp`) as `viccIdo` FROM ...

Ezt követően a PHPban feldolgozod, s kiíratod, amit szeretnél. Kiszámolod, hogy mennyi ideje van publikálva és azt a számot írod ki, valahogy így:

Kód:
$hanyNapjaVanAzOldalon = ceil((time() - $date['viccIdo']) / 86400);

Pár szót arról, hogyan is számol. A jelen időből kivonom, hogy mikor volt beküldve, majd azt elosztom egy napnak megfelelő másodpercel (60 * 60 * 24), az eredményt felkerekítem a legközelebbi egész számra.


Cím: Évszám script
Írta: kovger - 2008. 09. 25. - 21:33:09
Sziasztok!

Egy kis off :-[ : A mai napon kikaptam a töri vizsga anyagát.
Megnéztem a lapot 80 évsz.  ???  :-\
Próbáltam írni egy kis scriptet, ami kiírja a kérdést, és be kell írnom a hozzátartozó évszámot, és kiírja hogy jó, vagy rossz. De nem sikerült.
Valaki tudna egy olyan scriptet amit át lehetne alakítani?

Előre is köszi.


Cím: Re: PHP
Írta: Tupacko - 2008. 09. 26. - 09:19:49
Hirtelen nem jut eszembe, de gyorsan összelehet dobni egy programot. Most nem a dinamikusságon és hasonlón van a lényeg, szóval a funkcionalitásra kell a hangsúlyt fektetni.
1. Fogsz egy szerkesztőt
2. létrehozol egy php állományt
3. a dokumentum elején lesz egy PHP script, ami vizsgálja, ha van vagy sem GET (vagy POST).
4. Ha van, kiszedi egy asszociatív tömbből azt az indexű elemet, ami önmagában egykét elemet tartalmazó tömb (kérdés és évszám)
5. megnézi, ha az évszám egyenlő a tömbben szereplővel. Ha nem, egy változót hamisra állít, ha igen, akkor igazra.
6. ha nem volt beküldütt válasz, akkor készítesz egy random számot, majd kiválasztod azt az indexxel rendelkező elemet a többől.
7. a HTML részben kiírod, az új kérdést, vagy a válasz helyességét
8. beküldöd az új választ és ismét bent vagy a körforgásban.

U.i.: ha fél orán belül nem tudod megírni, akkor hagyjd és inkább tanúlj! Majd hétvégén ránézel és megírod, amikor nincs már vesztenivalód. 80 évszám nem sok, fel a fejjel!

Sok sikert!


Cím: Re: PHP
Írta: kovger - 2008. 10. 03. - 13:24:58
Nem találtam sehol sem a problémám megoldását.
Van egy fájllistázó scriptem, ami sajnos megjeleníti az oldalam design elemeit az images mappát.
Hogyan lehetne, hogy az a mappa ne jelenjen meg?

ui.: A béta verzió itt tekinthető meg: http://www.users.cwi.hu/humorporta/scriptek/ (http://www.users.cwi.hu/humorporta/scriptek/)


Cím: Mappa listázása PHPval
Írta: Tupacko - 2008. 10. 03. - 16:35:21
Ha az opendir, readdir, closedir fügvénycsaládot használod, akkor vizsgáld, hogy milyen értéket térít vissza a readdir függvény. Ez az éppen beolvasott mappa, illetve állomány nevét adja vissza, ha sikeresen lefut. Ha ez a név egyenlő egy olyan állomány vagy mappa nevével, amit nem akarsz listázni, akkor egyszerűen ne írasd ki az oldalra és lépj a következő részre. Ha nem egy while ciklusban listázod az elemeket a readdir-rel, akkor írd meg hogy teszed. Gyakoralitlag, valamilyen módszerrel megkapod a file nevét, szóval kiírás előtt tudod vizsgálni, ha ki akarod íratni vagy sem.


Cím: Re: PHP - űrlap küldés
Írta: Ochoa - 2008. 10. 10. - 23:00:14
Sziasztok! Új felhasználó vagyok és lenne is pár kérdésem. Szeretnék csinálni egy oldal amin vagy egy űrlap. Elővettem egy könyvet amibe van űrlapkészítés csak egy bajom van vele hogy levelezőprogramot akarja használni elküldéshez. (pl. Thunderbird)
Mitől van ez? Rosszul állítottam be valamit vagy teljesen máshogy kell csinálni egészet?
A válaszokat előre köszönöm. Egy megírt scriptet is elfogadok ha van.    :P


Cím: Re: PHP
Írta: AAron - 2008. 10. 10. - 23:37:34
Üdv itt!

Nem akarlak elijeszteni!
Azt tudom csak ajánlgatni, hogy nézz utána sok mindennek.
Vannak írások, php kézikönyvek, azokat el kellene olvasni és ha utána nem értesz valamit, akkor feltenni a fórumba a kérdést. :)
Igazából, ezt elég hosszú elmagyarázni így.
Én sem vagyok programozó, de ami érdekelt, annak utána néztem és rögzítettem, és ha abban volt kérdésem akkor feltettem.
De ez egy nagy témakör.

Persze sokan vannak akik itt tudnak segíteni.


Cím: Űrlap készítés - formok
Írta: Tupacko - 2008. 10. 11. - 11:37:53
Üdv a fórumon!

Nos, előszöris hozza kell szokj ahoz, hogy ha egy fórumon tálalod a problémád, akkor bemásolod a hibás kódrészletet vagy adsz egy linket, ahol megnézhetjük a kódot. Ha ezt nem teszed meg, akkor sajnos nem tudunk segíteni és csak a sötétben tapogatózunk.
A formokról itt találsz kimerítő leírást:
angol, hivatalos: - http://www.w3schools.com/html/html_forms.asp
magyar - http://www.thomas98.hu/webmuhely.php?sw=800&lang=hu&kat=tutor&page=html&id=11

Remélem segít :)


Cím: Re: PHP
Írta: Ochoa - 2008. 10. 12. - 12:05:20
Helo! Köszönöm a segítséget. Megnéztem úgyanaz a baj itt is ha thomas oldaláról kimásolom a kódot.
pl. gmail-es emailcimet adok meg neki a mailto: után, de így is thunderbirdet akarja használni. Mi lehet a baj?

<form name="mail_form" action="mailto:nevem@domainom.com" method="post" enctype="text/plain">
<input type="hidden" size="0" name="web-üzenet" />
<table width="250" bgcolor="#fffacd" bordercolor="#ff0000" border="2" align="center">
  <caption><b>- írj levelet -</b></caption>
 <tr>
  <td>név:</td>
  <td><input name="név" type="text" size="20" value="a te neved" /></td>
 </tr>
 <tr>
  <td>email:</td>
  <td><input name="e-mail" type="text" size="20" value="e-mail címed" /></td>
 </tr>
 <tr>
  <td>honnan:</td>
  <td>
<select name="honnan">
   <option name="innen"> ----- innen ----- </option>
   <option name="onnan">onnan</option>
</select>
  </td>
 </tr>
 <tr>
  <td>honnan:</td>
  <td>
    <input type="radio" name="honnan" value="innen">innen<br />
    <input type="radio" name="honnan" value="onnan">onnan<br />
 </tr>
 <tr>
  <td>szöveg:</td>
  <td>
  <textarea name="szöveg" rows="5" cols="30" value="szöveg"></textarea>
  </td>
 </tr>
 <tr>
  <td> </td>
  <td>
    <input type="submit" value="elküld" />
    <input type="reset" value="töröl" />
  </td>
 </tr>
</table>
</form>


Cím: Re: PHP
Írta: Tupacko - 2008. 10. 12. - 18:02:55
Bármit is teszel, ha a "mailto" protokolt használod, akkor (logikus) a levelező protokolon akar küldeni adatot. Mivel a te gépeden a Thunderbird a mailto kezelő, így az próbálja kezelni, másnál a GMail vagy az Outlook teszi ugyan ezt. Így nem lehet levelet kűldeni.
Próbálozz ezen a módon:

http://www.smartwebby.com/PHP/emailsending.asp

U.i.: használj
Kód:
[code][ /code]
blokkot, ha kódot akarsz megjeleníteni :)[/code]


Cím: Re: PHP
Írta: Ochoa - 2008. 10. 12. - 22:08:15
Köszi! Megpróbálom.


Cím: űrlap
Írta: Ochoa - 2008. 10. 13. - 16:13:55
Hát sajnos még nem jött össze, de ideiglenesen megoldottam egy flash email küldővel. Az egyszerű volt.


Cím: Re: PHP
Írta: anatre - 2008. 11. 01. - 09:57:08
Nos, akkor feltenném a kérdést, hogy mi a hiba, vagy hogy javítsam ki a hibákat az alábbi kódban:

Kód:
//index.php

//lekérjük a hírdetéseket
$banner = mysql_fetch_array(mysql_query("SELECT * FROM hirdetes"));

//kiiratjuk a hírdetéseket
echo "<a href=\"redirect.php?id=".$banner['id']."\"><img src=\"".$banner['img']."\" border=\"0\"></a>";

//megnézzük hogy eddig hányszor jelent meg a banner
$megnezzuk = $banner['megjelenesek'];

//hozzáadunk egyet
$hozzaad = $megnezzuk+1;

//sql-be frissítjük a megjelenések számát
mysql_query("UPDATE hirdetes SET megjelenesek = '".$hozzaad."' WHERE id='".$banner['id']."'");

//redirect.php

include "config.php";
//lekérjük a hírdetés id-jét
$id=$_GET['id'];

$letezik = mysql_query("SELECT * FROM hirdetes WHERE id='".$id."'");
//megnézzük létezik e ilyen hírdetés, ha igen:
if(mysql_num_rows($letezik) == 1) {
$lh = mysql_fetch_array(mysql_query("SELECT *FROM hirdetes WHERE id='".$id."'"));

//megnézzük hogy eddig hányszor kattintottak rá
$katt = $lh['kattintasok'];

//és hozzáadunk egyet
$beviteli = $katt+1;

//majd sql-ben frissítjük a kattintások számát
mysql_query("UPDATE hirdetes SET kattintasok = '".$beviteli."' WHERE id='".$id."'");

//és továbbirányítjuk a keresett oldalra
echo "<script type='text/javascript'>document.location.href='$lh[link]'</script>\n";
}

Mert én nemtudom..


Cím: Biztonsagos PHP es SQL
Írta: Tupacko - 2008. 11. 01. - 13:49:45
Nem a konkret kodra fogok egy jo(bb) peldat irni, hanem nehany iranyelvet adok, hogy mikent irhatod ugy at a kodot, hogy az biztonsagosabb es a hibakra jobban reagalo legyen.
Elso lepes:
soha se bizz meg a felhasznaloban! Mindent, ami a felhasznalotol jon (de erdemes mast is) ellenorizz, hogy csokkentsd az eselyet az esetleges SQL injectionoknek. Pl. ha ID az input, ellenorizd, hogy az valoban egy szam. Ha nem, akkor valaki elnezett valamit vagy fel akar torni. Irj ki egy hibat, hogy sajnalod, de a kert muvelet ezen korulmenyek kozt nem elerheto. Ha string, nezd meg, ne legyen benne escape character. Illik ellenorizni a specialis szavakat is, pl. delete, truncate, stb., ha tudod, hogy olyan parancsokat nem tartalmazhat az adott bemeneti karakterlanc, adott helyzetben. Ha ki akarod iratni a szoveget, erdemes a HTML karaktereket is lekodolni.
Nehany fuggveny: mysql_real_escape, addslashes, htmlentities, sanitize fuggvenyek ...
Masodik lepes:
gondolj arra is, hogy kozbelephet a technika! Nem szabad ilyet irni, hogy mysql_fetch_assoc(mysql_query("query")) ... tobb okbol is hibas!
Egyreszt, egeszsegesebb, ha megadod a mysql_* fuggvenyeknek az SQL kapcsolat azonositojat, mivel ertekes informaciokat tudhat meg a fuggveny, amit epen meghivsz, pl. milyen beallitasai vannak az adott SQL servernek, amihez kapcsolodva van. Masreszt, a visszateritett erteket erdemes megjegyezni egy valtozoban, majd azt rogton a fuggvenymeghivas utan ellenorizni, hogyha a fuggveny sikeresen elvegezte a munkajat. Ha hiba tortent, akkor azt le kell kezelni!
pl.
Kód:
$kapcsolat = mysql_connect(SQL_SERVER, SQL_FELHASZNALO, SQL_JELSZO);

if ( !$kapcsolat ){
  aFeladatokElvegzeseBezarasElott();
  aHibaKiirasa();
  die();
}

$eredmeny = mysql_select_db(SQL_DB, $kapcsolat);

if ( !$eredmeny ){
  aFeladatokElvegzeseBezarasElott();
  aHibaKiirasa();
  die();
}


$eredmeny = mysql_query($tisztitottSqlLekeres, $kapcsolat);

if ( !$eredmeny ){
  aFeladatokElvegzeseBezarasElott();
  aHibaKiirasa();
  die();
}

azAdatokKinyereseEsFeldolgozasa($eredmeny);

Hasonlo erdekessegekrol es praktikakrol olvashatsz a neten, rengeteg cikk irodott roluk.

Jo olvasgatast!


Cím: Értékelés
Írta: kovger - 2008. 12. 13. - 10:39:42
Hali!
Akkor írom ide ;)
Hogyan lehet azt megoldani, hogy a fusion_jooek -> joke_allow_ratings sorba (vagy mibe) a ˇnekem is tetszikˇ gomb megnyomása után a szám értéke +1 el nőne?


Cím: Re: PHP
Írta: Tupacko - 2008. 12. 13. - 23:30:46
Sehogy, pont :) Mi az a fusion_jooek? Ha kisse korultekintobben leirod a problemat, akkor tobb, mint valoszinu, hogy jo utra tudunk terelni, de igy?


Cím: Re: PHP
Írta: kovger - 2008. 12. 14. - 09:47:34
Uhh, bocsi pont a lényeget hagytam ki...

Tehát van a fusion_joke táblám, azon belül pedig a joke_allow_ratings (sor vagy mi). És én azt szeretném, hogyha a látogató rákattint a nekem is tettszik gombra, akkor a joke_allow_ratings sor értéke +1 el nőjön


Cím: Re: PHP
Írta: Tupacko - 2008. 12. 14. - 16:48:35
SQLbol is meglehet oldani :) Nem tudtam, mi a fusion_joke, egy modul, egy CMS, egy mi? :) Na szoval, ha rakkatint a gombra, te ezt a query-t hivd meg (testre szabva):
Kód:
UPDATE `fusion_joke` SET `joke_allow_ratings` = `joke_allow_ratings` + 1 WHERE `ID` = ... azonositsd be, melyik sorban akarod novelni az erteket LIMIT 1

Egy eszerevetel. A joke_allow_ratings oszlopnevebol kiindulva, nem hiszem, hogy a mezo annak volt szanva, hogy szamontartsa a szavazatok szamat. Az elnevezes azt sugalja, hogy egy boolean erteket tarto mezo, ami meghatarozza, ha az adott viccre szabad vagy sem szavazni :)


Cím: Re: PHP
Írta: Balou - 2009. 01. 04. - 14:56:16
Sziasztok!

Akadt egy irdatlan nagy problematikám... egy kollega elkezdett kódolni nekem egy php-s admin felületet, MySQL eléréssel..ez szép és jó, új tételt lehet felvenni..igen,csak menet közben eltűnt, és a módosítást már nem csinálta meg..mármint hogy a felvitt tételeket lehessen módosítani..én meg IQ negatív vagyok perpill php-mysql terén ilyen szinten...Valami ötlet,hogy miből induljak ki,hogy gyorsan,egyszerűen meg tudjam oldani a módosíthatóságot? (Elméletben valahogy úgy kéne,ha minden igaz,hogy behívja az adatbázisból az adott tételt,majd a módosítás elmentésénél felülírja azt..de gyakorlatban azt se tudom,hogy kell hozzákezdeni:( )


Cím: Re: PHP
Írta: kovger - 2009. 01. 07. - 15:46:59
Hali!
Kerestem a neten, de nem találtam semmi arra utaló leírást, hogy hogyan lehet a hátteret a linkkel módosítani. Leírom példába, hogy hogyan is értem.
Pl itt ez a link http://oldalnev.hu/fajlnev.php?hatter=061d7e&szoveg=4570ed és itt a színkódokkal tudná a felhasználó az oldalához alakítani a random szöveget.


Cím: Re: PHP
Írta: Tupacko - 2009. 01. 07. - 16:05:07
Balou:
igen, elmeletben ugy kell. A lekeres mar megvan, ott ahol kiiratod a termeket (SELECT ...) A modositast igy vegezheted el:
Kód:
UPDATE `tabla neve` SET `oszlop neve` = 'szoveges ertek', `oszlop neve` = 242, ..., `oszlop neve` = 'ertek' WHERE `a sor azonosito neve` = 324 LIMIT 1
Ez felulirja a tabla egy sorat, amit a primary key-jel azonositasz be, ami altalaban egy szam. A LIMIT 1 segit abban, hogy egyszerre csak egy sort irjon felul (altalaban egyszerre csak egy sort kell felulirni).
SQL alapok: http://www.w3schools.com/sql/default.asp

kovger:
Kód:
<?php
  
function getColor($unsecureString)
  {
    if ( !empty(
$unsecureString) && is_numeric($unsecureString) ){
      return 
$unsecureString;
    }
    return 
"";
  }
?>

<html>
...
<style>
  body{
    color: #<? echo getColor($_GET['szoveg']); ?>;
    ...
  }
</style>
...

Hasonlo modon megoldhato, amit akarsz.

Jo kodolast :)


Cím: Re: PHP
Írta: kovger - 2009. 01. 07. - 17:36:38
Köszi a segítséget sikerült megcsinálni.


Cím: Re: PHP
Írta: Balou - 2009. 01. 07. - 23:21:34
Köszi, amint lesz egy kis időm,kielemzem és megnézem, hogy megy-e :) (Csak holnapra le kéne adnom egy 15 oldalas arculati vizsgakönyvet :S Éljen a vizsgaidőszak! :D (ráadásul a melóhelyemen is ilyenkor kell szemináriumi vizsgákat tartani :D )


Cím: Re: PHP
Írta: Tupacko - 2009. 01. 08. - 11:07:36
Szivesen es sok sikert :)


Cím: Re: PHP
Írta: Balou - 2009. 01. 13. - 14:20:25
Köszi... Menet közben még jobban átbogarásztam az előző "kollega" munkásságát... és teljesen belezavarodtam.

Van egy ilyenje a funcion.php-ben:

Kód:
function updateContent($content)
{
$db = new MyDB();
$db->connect();
$query = 'SELECT * FROM content WHERE id = "'. $content . '"';
$result = mysql_query($query);
$result_array = mysql_fetch_array($result, MYSQL_ASSOC);
$id = $result_array[id];
$text = $result_array[text];
$form =
'<form action="update_content.php" method="post">
<label for="description">Az alábbi mezõben szerkesztheti az oldal tartalmát:</label>
<textarea name="description">' . utf8_decode($text) . '</textarea>
<br />
<br />
<input type="submit" name="submit" value="Módosít" />
</form>';
echo utf8_encode($form);
}

Amit minden kategória-módosítónál így hív meg:
Kód:
<?php
updateContent
(szám);
?>

Az admin pedig úgy néz ki,hogy fel vannak sorolva a kategóriák, ahova új termék vehető fel (külön menüpont mindegyik), és utána külön menüpontokban a módosításuk..Perpillanat azt se nagyon tudom átlátni, hogy azt a részt,amit írtál Tupacko, hova kéne rakni,hogy működjön normálisan..mert az az "update_content.php" nem is létezik még..


Cím: Re: PHP
Írta: Tupacko - 2009. 01. 13. - 15:33:37
Az általad közzétett függvény csak annyit tesz, hogy kilistázza az adatbázisból azt a részt a content táblából, ahol az id oszlop értéke megegyezik az updateContent content nevű változójával. Az adatok módosítása nem itt történik. Ha update_content.php nem étezik, akkor a kiírt űrlap a semmibe visz ...


Cím: Re: PHP
Írta: Balou - 2009. 01. 13. - 15:55:46
Jelenleg ez is történik egyébként, igen :) Mert még nem tudtam rájönni, hogy vajh' mit akarhatott ezzel a php-val...


Cím: Re: PHP
Írta: Tupacko - 2009. 01. 14. - 13:07:41
A feluliro PHPban valami hasonlot kell irj:
Kód:
<?php
  
if ( !empty($_POST['description'] && !empty($_POST['id']) && is_numeric($_POST['id']) ){
    
$ujErtek htmlentities($_POST['description']);
    
$azonosito $_POST['id'];

    
$db = new MyDB();
    
$db->connect();
    
$query 'UPDATE `content` SET `description` = "$ujErtek" WHERE `id` = $azonosito LIMIT 1';
  }
?>

A kiirtatott formot pedig ugy kell modositsd, hogy az az id-t is elkuldje (pl. szurj be egy ilyet <input type="hidden" name="id" value="{$id}" />).


Cím: Re: PHP
Írta: Balou - 2009. 01. 19. - 19:14:15
Köszi, mostmár az adminban szépen kiírja valamennyire a módosításos dolgokat.. (bár csak a magamról,főoldal és kapcsolat résznél..a másik 3nál nem..:S)

Viszont ha módosítani akarok,ezt írja ki:

Kód:
Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ')' in /nfs/x0502/p/pr/probasiteforwp/wwwroot/admin/update_content.php on line 2

Első körben csak copy-paste volt a te kódod...lehet,hogy valamit elrontottam?


Cím: Re: PHP
Írta: Tupacko - 2009. 01. 20. - 16:55:25
Itt a bongeszoben irtam (es elgepeltem) a kodot es nem is teljes, csak egy pelda volt :) Probald meg igy:

Kód:
<?php
  
if ( !empty($_POST['description']) && !empty($_POST['id']) && is_numeric($_POST['id']) ){
    
$ujErtek htmlentities($_POST['description']);
    
$azonosito $_POST['id'];

    
$db = new MyDB();
    
$db->connect();
    
$query 'UPDATE `content` SET `description` = "$ujErtek" WHERE `id` = $azonosito LIMIT 1';
    
mysql_query($query);
  }
?>



Cím: Re: PHP
Írta: Balou - 2009. 01. 22. - 18:38:16
Hm..hiába...beraktam ezt,azoknál a menüpontoknál, ahol van kép,stb. ott nem tölt be semmit (termékek),a többinél ugyan betölti,de ha átírom a szöveget és rányomok a módosításra,fehér ablak jő vala, és nem módosít... nem értem.. :'(


Cím: Re: PHP
Írta: kovger - 2009. 01. 23. - 17:28:31
Hali!

Hogyan tudnám ugyanígy random kiiratni a szöveget, mint ahogyan itt is kivan.
http://www.bakimania.hu/js.php (http://www.bakimania.hu/js.php)
Tudom sok random szöveg script van, de egyiket se tudom megnyitni javascriptel. (ha lehet ilyen document.write legyen)
Előre is köszönöm!


Cím: Re: PHP
Írta: kovger - 2009. 01. 24. - 21:56:20
Van egy regisztrációs scriptem, amiben sajnos regisztráció után nem lehet profilt szerkeszteni.
Ilyen opciók vannak benne: Lakóhely, bemutatkozás ... stb
Hogy lehet behívni az adatokat szerkesztésre? Úgy hogy utána el is mentse őket.


Cím: Re: PHP
Írta: Tupacko - 2009. 01. 25. - 13:05:16
Balou, kovger, az adatbazis szerkesztos dolog. Azt nem tudom megtenni, hogy megirom a szkripteket (az okokat nem reszleteznem), de elmondhatom az altalanos teendoket, hogy egy jol mukodo alkalmazast kapjatok, ami ugy mukodik, ahogyan ti is szeretnetek:

1. megvizsgaljatok a problemat, hogy milyen mezoket akartok szerkeszteni
2. letrehozzatok azt a felhasznaloi feluletet, ahol a szerkesztes tortenik (nalad Balou ez mar megvan):
    a. letrehozzatok a hatter alkalmazast, ami lekeri az adatokat a megadott adatbazisbol (azokat a mezoket, amit szerkeszteni szeretnetek, abbol a sorbol, amit kivalsztotok valami szerint, pl. egy ID, a szerkesztendo kivant termek/felhasznalo kivalaszasakor)
    b. letrehozzatok azt az allomanyt, amibe betoltitek az adatokat (egy HTML allomany, formmal, amiben az adatok input mezokbe es textarea-kba kerulnek, illetve egyeb urlapelemek alkamazasaban megjelenitodnek)
3. letrehozzatok azt a filet, amiben feldolgozzatok a beerkezo adatokat es visszairjatok az adatbazisnak arra a reszere, ahol a modositasokat szeretnetek vegezni

! FIEGYLEM !

Ugyeljetek arra, hogy csokkentsetek az eselyet az oldal feltoresenek: vizsgaljatok meg a bementei adatokat (ami szam lehet, azt is_numeric-kal, ami ki kell legyen toltve azt empty-vel, stb.). Ugyeljetek, hogy a felulirasi SQL parancsban legyen meghatarozva, hogy csupan az adott sort irja felul (UPDATE hol SET mit WHERE a megadott sor azonositasa LIMIT 1, a LIMIT 1 biztosit, hogy csak egy sort irunk felul).

Sok sikert!

kovger, hasonlo random szkriptes dolgokat egyszeruen letre tudsz hozni. Fogsz egy tombot, kitoltodd azzal, amit keverni szeretnel. Fog egy valtozot, amibe beleraksz egy random szamot. Kiiratod echo-val vagy barmi mas modszerrel azt az elemet a tombbol, ami a veletlenszeru szam poziciojat foglalja el a tombben.


Cím: Re: PHP
Írta: kovger - 2009. 02. 01. - 16:15:23
Hali a jasmine cms-t használom http://www.jasmineportal.net (http://www.jasmineportal.net).
Hogyan tudok a blokkokhoz javascriptet beilleszteni?
A blokk tartalma

Kód:
<?php

$text 
'<table width=\'100%\'>
            <tr>
                <td>
                    <center>
                        Szöveg
                    </center>
                </td>
            </tr>
         </table>'
;

$out render_menu('szoveg'$text);
?>


Cím: Re: PHP
Írta: Tupacko - 2009. 02. 01. - 18:21:24
Gondolom megadod a JSt is a $text valtozoban, bar nem ismerem a Jasmine CMSt. Amugy, a CMS weboldalat elnezve, melegen ajanlom valami mas rendszer hasznalatat :)


Cím: Re: PHP
Írta: Milhó - 2009. 02. 04. - 13:15:37
Sziasztok!

Segítségre volna szükségem!

T-online-os a tárhelyem (a domain névhez kaptam)... Ezen a tárhelyen szeretnék egy megrendelői űrlapot elkészíteni, ami továbbítódik egy specifikus e-mail címre.

Az űrlap megépítésével nincs gondom. A probléma azzal van, ami elküldi. Kipróbáltam több ingyenesen letölthető előre elkészített fájlt, de egyik sem működik.

Elvileg van php futtatási lehetőség a szerveren a cgi-bin mappában (de erre nem vennék mérget). Nem muszáj php űrlapküldőnek lennie, lehet valami egyszerű megoldás is (ha létezik).

Amit szeretnék:

- űrlap kitöltése után az e-mail rejtve legyen elküldve a megadott e-mail címre, majd elküldés után egy köszönöm oldalra átirányítódik az űrlap.
- lehetőleg az e-mailben könnyen olvasható formátumban jelenjen meg az elküldött űrlap.

Tudnátok-e javasolni valami megoldást?

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


Cím: Re: PHP
Írta: Tupacko - 2009. 02. 04. - 17:15:26
Első körben teszteld, hogyha tényleg van PHP futtatási jogod (írj egy egyszerű echo "Hello világ" PHP állományt, majd töltsd fel, ha kiírja, hogy Hello világ, akkor van jogod). Ha valamiért nincs és a szerződésben az áll, hogy a domain névhez kapott tárhelyen van PHP futtatási lehetőség, akkor írj a szolgáltatónak, hogy fenn áll a lehetőség, hogy hibáztak a tárhelyed beállításában, mert az a szerződésnek ellentmondóan nem engedélyez PHP futtatást.
Amikor már van PHP futtatási lehetöség, akkor használd a PHP Mailert, hogy elküld az űrlapot: http://phpmailer.codeworxtech.com/

Csak ügyesen!


Cím: Re: PHP
Írta: Milhó - 2009. 02. 04. - 18:10:09
Köszönöm a tippeket!

Gyorsan megnéztem, amit javasoltál. A teszt.php így néz ki:

Idézet
<?php
echo("Remélem fut a php!");
?>

És fut a php! :)

Most állok neki tanulmányozni ami linket adtál. Remélem menni fog! Ha sikerül, ha nem mindenképpen írok az eredményről! :)

Még egyszer köszi!



Cím: Re: PHP
Írta: Milhó - 2009. 02. 04. - 18:36:26
Gyorsan letöltöttem. Elolvastam a dokumentációt, majd a minta űrlapot töltöttem fel és próbaként elküldtem. (Majd ha működik rendesen, akkor rámegyek a dizájnra.) Szuperül átirányít ahova kell, de az e-mail nem jön meg. =/ Pedig jó e-mail címet adtam meg. =/


Cím: Re: PHP
Írta: Tupacko - 2009. 02. 05. - 14:59:08
Hibat adott, vagy azt irta ki, hogy a levelet sikeresen elkuldte? :) Nezd meg a spam/junk mailnel, lehet rosszhelyre teszi a postaladad. Probald ki, hogy van jogod a mail fuggvenyre?! Valami megoldas kell letezzen.


Cím: Re: PHP
Írta: Milhó - 2009. 02. 05. - 17:43:30
Nem hibát ír ki, hanem átirányít a megköszönő oldalra (gondolom ez egyben azt is jelenti, hogy a mail elment) De nem érkezik meg semmi. Spamek között meg nem találtam. :s Lehet a T-home központilag durva spam szűrésen van.

Mail függvényt kipróbálom tényleg, ez jó ötlet. Utána kell olvasnom egy egyszerű példának. Lehet is lehet ilyen módon mail-t küldeni.

A vicc az, hogy t-online fórumon tettem fel kérdést (meg több helyen is) de csak Te válaszoltál... Ugye milyen segítőkészek az emberek?! :)

*Szerk.: Még egyszer lepróbáltam a tegnap telepített dolgot, és észrevettem, hogy amikor rányomok a submitra egy pillanatra beugrik valami kép mielőtt átirányítana a köszönöm oldalra. Nyomtam róla screenshotot, felül egy progress bar, alatta valami IP cím és ezalatt a lényeg "sent = failed"

Mindenesetre utána járok ennek a mail függvény dolognak.


Cím: Re: PHP
Írta: Tupacko - 2009. 02. 05. - 18:07:42
Sok sikert :) Vizsgald meg, hogy jo adatokkal allitottad-e be a PHPMailert. Minden esetre probald ki a mail() fuggvenyt. Ha nem mukodik, tud SMTP szerveren keresztul is kuldeni a PHPMailer, igaz, nem probaltam soha, de a nyaron lattam, hogy van ilyen modja is. Ha semmi, probald meg, hogy irj a tarhelyert felelos szemelynek es kerj utbaigazitast. Ha semmi, akkor menyj be szemelyesen es probald meg civilizalt modon elmagyarazni, hogy neked szukseged van arra a levelkuldesre es legyenek szivesek valamit tenni, mivel van egy szerzodesetek.

u.i.: a forum azert van, hogy ha tudunk, akkor segitunk egymason :)


Cím: Re: PHP
Írta: Milhó - 2009. 02. 06. - 14:50:36
Sajnos most van egy kis időm foglalkozni a dologgal. Volna egy kérdésem.

Jól gondolom-e, ha az alábbi php fájl elérési útvonalát beütöm a böngészőbe, akkor az küld nekem egy üzenetet a megadott e-mail címre? Magyarán helyesen próbálom-e tesztelni a php függvényt. Nem nagyon találni kezdő számára érthető leírást...

http://www.domain.hu/teszt.php

A teszt.php tartalma:

Idézet
<?php

$Name = "Teszt ember";
$email = "valami@domain.hu";
$recipient = "azenemailcimem@domain.hu";
$mail_body = "Az e-mail szövege...";
$subject = "Tárgy";
$header = "From: ". $Name . " <" . $email . ">\r\n";

ini_set('sendmail_from', 'valami@domain.hu');

mail($recipient, $subject, $mail_body, $header);
?>

Ha a fenti sorok helyesek, akkor nem megy a mail függvény. Ha nem helyesek, akkor kérnék egy kis korrekciót. :)


Cím: Re: PHP
Írta: Milhó - 2009. 02. 06. - 17:56:31
Hát szomorú vagyok.

ATW-n csináltam egy tárhelyet, ott mindenféle php futtatásra van lehetőség.

Az alábbi interneten talált példával próbálkoztam:

contact.php

Idézet
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Email Form </title>
</head>
<body>

<form method="post" action="sendmail.php">

<!-- DO NOT change ANY of the php sections -->
<?php
$ipi = getenv("REMOTE_ADDR");
$httprefi = getenv ("HTTP_REFERER");
$httpagenti = getenv ("HTTP_USER_AGENT");
?>

<input type="hidden" name="ip" value="<?php echo $ipi ?>" />
<input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
<input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />


Your Name: <br />
<input type="text" name="visitor" size="35" />
<br />
Your Email:<br />
<input type="text" name="visitormail" size="35" />
<br /> <br />
<br />
Attention:<br />
<select name="attn" size="1">
<option value=" Sales n Billing ">Sales n Billing </option>
<option value=" General Support ">General Support </option>
<option value=" Technical Support ">Technical Support </option>
<option value=" Webmaster ">Webmaster </option>
</select>
<br /><br />
Mail Message:
<br />
<textarea name="notes" rows="4" cols="40"></textarea>
<br />
<input type="submit" value="Send Mail" />
<br />
</form>

</body>
</html>

sendmail.php tartalma:

Idézet
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sendemail Script</title>
</head>
<body>

<!-- Reminder: Add the link for the 'next page' (at the bottom) -->
<!-- Reminder: Change 'YourEmail' to Your real email -->

<?php

$ip = $_POST['ip'];
$httpref = $_POST['httpref'];
$httpagent = $_POST['httpagent'];
$visitor = $_POST['visitor'];
$visitormail = $_POST['visitormail'];
$notes = $_POST['notes'];
$attn = $_POST['attn'];


if (eregi('http:', $notes)) {
die ("Do NOT try that! ! ");
}
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>Use Back - Enter valid e-mail</h2>\n";
$badinput = "<h2>Feedback was NOT submitted</h2>\n";
echo $badinput;
die ("Go back! ! ");
}

if(empty($visitor) || empty($visitormail) || empty($notes )) {
echo "<h2>Use Back - fill in all fields</h2>\n";
die ("Use back! ! ");
}

$todayis = date("l, F j, Y, g:i a") ;

$attn = $attn ;
$subject = $attn;

$notes = stripcslashes($notes);

$message = " $todayis [EST] \n
Attention: $attn \n
Message: $notes \n
From: $visitor ($visitormail)\n
Additional Info : IP = $ip \n
Browser Info: $httpagent \n
Referral : $httpref \n
";

$from = "From: $visitormail\r\n";


mail("valami@domain.hu", $subject, $message, $from);

?>

<p align="center">
Date: <?php echo $todayis ?>
<br />
Thank You : <?php echo $visitor ?> ( <?php echo $visitormail ?> )
<br />

Attention: <?php echo $attn ?>
<br />
Message:<br />
<?php $notesout = str_replace("\r", "<br/>", $notes);
echo $notesout; ?>
<br />
<?php echo $ip ?>

<br /><br />
<a href="contact.php"> Next Page </a>
</p>

</body>
</html>

És itt teljesen jó. :( Megkapom az e-mailt, érthető szép formában...
T-homeos tárhelyen átirányít ugyan a köszönő oldalra, de a mail nem megy el... Megyek átnézni a szerződést. De gyanítom nem lesz benne ami kell...


Cím: Re: PHP
Írta: Tupacko - 2009. 02. 06. - 19:59:30
Ha ATWn mukodik es T-Homeon nem, akkor bizony valamiert nincs jogod a T-Homenal a levelkuldesre (van tarhely ahol nincs ra lehetoseg, vagy csak koraltozott, hogy ne hasznald oket spam szervernek). Nezd meg a PHP Mailer dokumentaciojat, van lehetoseg kulso SMTP szervert hasznalva is level kuldesre, mail() fuggveny nelkul.

Sok sikert!


Cím: Re: PHP
Írta: kovger - 2009. 02. 20. - 19:36:26
A Tupaco által készített blogmotort üzemeltem be egy oldalon, de ha nem használok html tagokat, csak simán enterezek, akkor egymás mellé kerülnek a mondatok. <pre> taggal próbálkoztam, de sajnos az nem töri a sorokat, ezért szétnyomja az oldalt. Milyen más megoldást tudnátok ajánlani? CSS-vel meglehet oldani?
Ez a szkript amit használok: http://www.php-script.hu/index.php?old=phpscript.php&katid=3&id=13 (http://www.php-script.hu/index.php?old=phpscript.php&katid=3&id=13)


Cím: Re: PHP
Írta: Tupacko - 2009. 02. 21. - 12:54:38
Egy nagyon regen irt kis kezdo kodrol van szo. Szerintem jobban jarsz, ha megismered a WordPress vilagat vagy valami hasonlo blogmotoret :) A megoldas amugy egy PHP fuggvenyben rejlik a kerdesedre. nl2br Ezen a fugvenyen kell atfuttatni az adatbazisban tarolt szoveget, amikor kiiratod a sablonban.

Pelda:
Kód:
$szoveg = "Geza,
                kek az eg!";
$tordelt = nl2br($szoveg);

Kimenet:

Kód:
Geza,<br />
kek az eg!

Jo kodolast :)


Cím: Re: PHP
Írta: André - 2009. 02. 21. - 17:18:57
Sziasztok!


Tupacko neked van saját blogmotorod? Lehet, hogy ciki, de erről én nem is tudtam! Kifejtenéd itt egy pár mondatban, hogy mit is tartalmaz, mert most pont egy ilyen motor kéne egy oldalhoz.

Köszi, André


Cím: Re: PHP
Írta: Tupacko - 2009. 02. 22. - 12:29:35
Az igazat megvallva egy nagyon régi szkriptről van szó, amit a WebPillangóra már nem is hoztam át, nem láttam megfelelőnek. Mit tud? Szinte semmit :) Bejegyzést tudsz írni, szöveget. Nagyjából ennyi. Éppen egy minimális szöveges weboldal. Ingyen van, nem csúnya és ennél ki is apad a pozitívumok sorozata.


Cím: Re: PHP
Írta: lowert - 2009. 02. 26. - 14:03:03
Sziasztok!

Volna egy olyan kérdésem, hogy hogyan lehet megoldani, hogy egy oldal csak a bejelentkezett felhasználóknak lenne elérhető?
Konkrétan:
Csinálni szeretnék egy olyan menüpontot, ami csak a bejelentkezett felhasználóknak érhető el, a bejelentkezőrendszer már készen van, csak ezt nem nagyon tudom megoldani  :(

A menü pedig így néz ki:

Kód:
<div id="menutarto">
<ul id="menu">
<li><a href="index.html">Kezdőlap</a></li>
<li><a href="kapcsolat.html">Kapcsolat</a></li>
<li><a href="linkek.html">Linkek</a></li>
        <li><a href="uzletagak.html">Üzletágak</a></li>

        Ide szeretném azt a menüpontot, ami majd csak a bejelentkezett felhasználóknak lesz elérhető

        </ul>
     
</div>


Cím: Re: PHP
Írta: lowert - 2009. 02. 26. - 15:50:47
Az előzőt kibővítvén (már nincs ott a módosítás gomb...):
 

Arra is kiváncsi lennék még, hogy hogyan lehetne megoldani a következő helyzetet:

Az olvasó regisztrál a honlapon, de én nem mindenkinek a regisztrációját akarom elfogadni, csak az általam kiválasztottakét => Valamilyen kipipálós módszerrel lehessen elfogadni a regisztrációt. pl.:

X regisztrált     elfogad|töröl
Y regisztrált     elfogad|töröl
Z regisztrált     elfogad|töröl

Köszi mindenkinek az esetleges válaszokért :)


Cím: Re: PHP
Írta: Tupacko - 2009. 02. 26. - 19:50:33
Az elsore a valasz:

Kód:
<div id="menutarto">
  <ul id="menu">
    <li><a href="index.html">Kezdőlap</a></li>
    <li><a href="kapcsolat.html">Kapcsolat</a></li>
    <li><a href="linkek.html">Linkek</a></li>
    <li><a href="uzletagak.html">Üzletágak</a></li>
    <?php
      
if ( fuggvenyAmiMegbondjaHaBeVanJelentkezve() ){
        echo 
'a menu';
      }
    
?>

  </ul>     
</div>

fuggvenyAmiMegbondjaHaBeVanJelentkezve() visszaterit true-t vagy false-t. Az, hogy te hogy oldottad meg a bejelentkezest, meghatarozza, hogy minek fuggvenyeben terit vissza igazat vagy hamist a fuggveny. Azt csak te tudod, hogyan oldottad meg :)

A masodikra is egyszeru a valasz. Kell egy plusz oszlop, amiben tarolod, hogy el van vagy sem fogadva. Alapbol, amikor regisztral, akkor 0-ra allitod, vagyis nem lesz elfogadva a felhasznalo, nem tud belepni, stb. Te adminbol ahol tudod szerkeszteni, torolni stb. a felhasznalot beteszel meg egy lehetoseget, ahol aktivalni tudod. A 0-t atirod 1-re es ezzel aktivalod. Figyelj arra, hogy ahol csak az erdekel, hogy van vagy sem olyan felhasznalo az adatbazisban ne vedd figyelembe, hogy aktiv vagy sem, viszont ott, ahol az erdekel, hogy aktiv-e a felhasznalo es eltudja-e vegezni az adott feladatot, akkor vizsgald.

Jo kodolast :)


Cím: Re: PHP
Írta: lowert - 2009. 02. 26. - 21:23:09
Köszönöm a választ, sikerült is megoldani :)

én úgy oldottam meg (mivel xml adatbázis használtam és minden felhasználónak egy külön .xml fájlt hoz létre), hogy miután kitöltötte a bejelentkezési adatokat, a beírt felhasználónevet eltárolja egy változóban és ha a $változóértéke.xml kinézetű fájl létezik, akkor be van jelentkezve. (Elméletileg bejelentkezéskor szól, ha hibás adatok vannak megadva, de így különböztetem meg a bejelentkezett felhasználót a nem bejelentkezettől.) Nem tudom mennyire voltam világos, itt van kóddal :) :
Kód:
<
?php
session_start();
if(file_exists('user/users/' . $_SESSION['username'] . '.xml')){
echo 'a már említett menü';
}
?>




Cím: Re: PHP
Írta: lowert - 2009. 03. 01. - 15:01:20
Hello!
Bocs, hogy ilyen sok gondom van, de ahogy csinálok egy honlapot, mindig kiderül, hogy van még egy csomó dolog, amit nem tudok.
Most pédául olyat kéne csinálnom, hogy amikor valaki bejelentkezik, oldal elhagyásnál jelentkeződjön ki.
Onunload() nem működik, hogy még lefuttasson egy PHP parancsot mielőtt bezárná a lapot (illetve lefuttatja, de oldalletöltéskor, így viszont használhatatlan az egész PHP...), utánanéztem mindenhol, csak egy, JavaScriptes megoldást találtam, amihez <frame> is kellett volna, de azt annyira nem szerettem volna megcsinálni, úgyhogy most megváltozott a döntésem, azt hogyan lehetne megcsinálni, ami itt a fórumon van, hogy egy idő után kijelentkeződik (nem feltétlen a felhasználó által beírt idő múlva, pl 15 perc alatt...) és kérdezném, hogy ez akkor is működik, ha bejelentkezek, kilépek a böngészőből, várok 15 percet és kidob, vagy onnantól kezdve 15 perc?
Valahogy ha jól gondolom Cookie Expiry-vel kellene megcsinálni, de nem nagyon van ötletem rá, hogy hogyan írjam meg, aki tudna segíteni, annak megköszönném...
Sziasztok!


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 01. - 16:24:21
Az XMLes megoldas nagyon nem biztonsagos, azon valtoztass, foleg hogy kozze tetted a forumon :) Az idolejaros dolgot szinten SQLel lehet szepen megoldani, meghozza ugy, hogy felulbiralod a SESSION (munkamenet) es COOKIE (sutik) tombok altal tarolt adatokat. A felhasznalohoz tarsitasz egy idot (timestampet, lehetoleg), amit minden oldalletoltesnel frissitesz. Ha a felhasznalo mar 10 perce nem toltott le ujabb oldalt, hogy felulird a timestampet, akkor meghivod a kijelentkezteto rutint. Egyszovel, oldalletoltes elejen, amkor vizsgalod, hogy be van jelentkezve vagy sem, azt is megvizsgalod, hogy miota nem aktiv. Ha nagyobb, mint egy megadott idopont, akkor ugy kezeled, mintha a BeVanJelentkezve fuggveny hamisan valaszolt volna (konkretan a BeVanJelentkezve fuggvenyben kell vizsgalni, hogy ki kellett volna mar lepjen vagy sem).

Jo kodolast :)


Cím: Re: PHP
Írta: lowert - 2009. 03. 01. - 16:48:49
Köszönöm a választ! Azért XML-ben csináltam, mert így viszonylag egyszerűnek tűnt, de most eléggé pofára estem, mert a szerver, amire föl akartam tenni, nem kezeli az PHP-ban valahogy az XML fájl létrehozását... Az SQL ötlet jónak tűnik, de MySQL-re gondoltál?


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 01. - 20:15:26
Akár MySQLre is :P Igen, MySQLre gondoltam, de bármilyen más SQLben kivitelezhető mindaz, amit leírtam (csupán annyi, hogy a legtöbb ingyenes szolgáltató nem biztosít egyéb SQL adatbázist, mert nagyon értelme sem lenne).


Cím: Re: PHP
Írta: lowert - 2009. 03. 02. - 22:01:59
Nagyon megtetszett ez a MySQL, de valószínűleg az XML-t fogom hagyni, mert habár fizetős a szerver, mégsem támogatja a MySQL-t... Arra nincs ötleted, hogy hogyan lehetne az XML-est mégis megoldani valahogy? Csak mert magát a kész XML adatbázist azt rendesen kezeli, de nem tud bele új felhasználót írni és nem tudom mitől lehet... Esetleg ha semmit sem támogat a szerver, akkor lehet, hogy megérné, ha egy másik, MySQL-t (vagy XML-t) támogató szerveren tárolnám az adatbázist? Ha nem lenne muszály nem szeretném, mert viszonylag lelassítaná a honlap futását, viszon szerintem, ha az XML-ben kezeli azt a részt, hogy be tudjon jelentkezni, akkor kezelnie kell azt is, hogy át tudja írni az XML adatbázist is, vagy ez nem ilyen egyértelmű?


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 03. - 10:22:43
Olyan nincs, hogy nem támogat XMLt. Az XML is sima szöveges állomány. Az más kérdés, hogy elképzelhető, hogy nem támogatja azt a PHP kiterjesztést (extension-t), amit te az XML feldolgozására próbálsz használni. Amúgy, manapság nem nagyon éri meg SQL nélküli tárhelyet venni, mert nem számottevő a tárhely díj a nem SQLes és SQL-lel rendelkező tárhelyek közt.


Cím: Re: PHP
Írta: lowert - 2009. 03. 03. - 17:50:02
Más módszerrel nem lehet új .xml állományt létrehozni?
Én ígyen oldottam meg:

Kód:
$xml = new SimpleXMLElement('<user></user>');
$xml->addChild('password', md5($password));
$xml->addChild('email', $email);
$xml->addChild('Access', $confirm_user);
$xml->asXML('users/' . $username . '.xml');
header('Location: login.php');
die;

Ui.: Szeretem angolul megcsinálni, nem tudom miért, általában magyarul sohasem jut eszembe valami frappáns változónév...


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 03. - 20:26:35
Ha mukodik, akkor jo. Csak nem latom akkor, hogy mi a hiba :) Probaltam beleolvasni a regebbi bejegyzesekbe, de nem talaltam egy konkret hibat, inkabb csak hiba foszlanyokat, amire megoldas is volt adva. Feltenned megegyszer a kerdest, lehetoleg ujrafogalmazva? :)


Cím: Re: PHP
Írta: lowert - 2009. 03. 04. - 20:24:53
Persze!
Szóval, ebben a kódban nincsen hiba, mint ahogy már említetted is.
Ezt én lefuttattam egy szerveren, ahol tökéletesen működött.
Most, hogy fel kellett tennem a cél szerverre, most nem működik, vagyis nem hozza létre a célállományt (felhasználónév.xml, a mappát egyébként egy .htaccess 'Deny from all' védi).
A kérdésem pedig az lenne, hogy nincs-e valami alternatív megoldás erre, ami nem használ SQL-t (lehetőleg marad az XML-nél), csak annyi a különbség, hogy máshogy hozza létre a célállományt, sajnos én ezt az egyetlen módszert ismerem erre...


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 06. - 15:29:10
Ha nem hozza létre a célállományt annak több, mint valószínű az oka az, hogy nincs állománylétrehozási jogod az adott könyvtárban (nézz meg egy szerverlogot esetleg vagy kérdezz rá a szolgáltatóra). Alternatív megoldást látok az SQLLiteban is, bár lassúbb, mint a MySQL, többre méssz vele ilyen alap szinten, mint az XMLlel.


Cím: Re: PHP
Írta: lowert - 2009. 03. 06. - 17:36:09
A server az SQL-t semmilyen szinten nem kezeli, tehát az egyedüli esély az XML-es megoldás lenne... Manuálisan létre tudok hozni fájlokat, csak a PHP nem teszi ezt meg... a két létrehozás között lehet különbség?


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 06. - 21:17:53
Nézd meg mi az az SQLite ... nem kell hozza SQL szerver.


Cím: SQLite
Írta: lowert - 2009. 03. 08. - 17:25:27
Megnéztem, és működik is, köszi a segítséget!

Arra van valakinek ötlete, hogy hogyan lehet létrehozni x darab fájlt, amiknek növekvő sorrendben van a nevük?
így:

1.xml
2.xml
3.xml
4.xml
.
.
.

Ezt még így nem nehéz megcsinálni, csak egy for ciklusba beteszem és készen van, de ha én akkor szeretnék újat létrehozni, ha megnyomok egy gombot?

Szóval ponosan:

van egy adott mappám, amiben semmi nincs
Bele szeretnék tenni .xml fájlokat, nevük 1,2,3,4,5,6 stb... de csak akkor hozzon létre újat, ha megnyomok egy gombot, vagy bármi, tulajdonképpen szerintem úgy tudnám megoldani, hogy fogom az utolsó fájlnevet, ahhoz hozzáadok egyet és az az aktuális fájlnak a neve, de ezt hogyan lehet megcsinálni?


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 08. - 17:50:10
Szivesen :)

Kerlek legy konkretabb es ne: "de csak akkor hozzon létre újat, ha megnyomok egy gombot, vagy bármi, " ... ha barmi, akkor barmhogy megirhatod :P A gombos megoldas lepesei amugy kb. igy neznenek ki:

1. bolvasod a konyvtarbal levo XML fileokat
2. aminek a neve egesz szam (is_integer), azt beteszed egy valtozoba, ha a valtozoban levo szam kisseb (igy megkapod a legnagyobb egesz szamot ami egy xml file neve)
3. hozzaadsz egyet
4. letrehozod a filet


Cím: Re: PHP
Írta: lowert - 2009. 03. 08. - 20:43:40
Á, igen ez az :) Köszi!


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 09. - 10:59:00
Szivesen :) Szerintem ha tobbet gondolkodtal volna rajta, te is rajossz.


Cím: Re: PHP
Írta: lowert - 2009. 03. 09. - 19:21:58
Tudod, miután mindenben segítesz, ellustultam :-[, de igérem, legközelebb majd megoldom magam, ha ilyen egyszerű :)


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 10. - 10:38:26
Tisztelem az őszinteséged, viszont azzal nem haladsz, ha másoktól várod el, hogy gondolkodjanak helyetted. Ezt jó lesz szem előtt tartani :)


Cím: Re: PHP
Írta: Piszi - 2009. 03. 16. - 13:55:01
Sziasztok!

Akadt egy kisebb megvalósítási problémám és gondoltam megkérdezem van e valakinek ötlete, hogyan lehetne ezt a legegyszerűbben kivitelezni.

Van egy excel táblázat amiben vannak lenyílós szűrési lehetőségek pl: tápanyagtartalom, vitamintartalom, stb... és ezt szeretném a létező legegyszerűbb módon web kompatibilissé tenni.
Gondolkoztam azon, hogy elmentem csv-be az egészet majd betöltöm mysql-be és egy php-script segítségével kiolvasom és a scriptbe meg beleteszem a lekérdezéseket is. Csak, hogy 19kategória van ( excelben 19 munkafüzet ) és mindegyik kategóriában más és más szűrési feltételekkel kivéve, hogy mindegyiknél lehet név szerint szűrni.

Van valakinek valami ötlete? Hogyan lehetne ezt a legegyszerűbben megoldani? Esetleg van valami program amivel a szűrési feltételeket ki lehet menteni excelből? vagy bármi?

üdv
L.


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 16. - 15:08:34
Sajnos nem ismerek teljesen automatizalt megoldast, viszont az adatbazisos eleg jonak tunik. Amit jonak latok, hogy megnezed milyen adatok vannak a munkalapokon. Osszehozol egy jo kis adatbazis diagramot (igy a redundas adatok, amik tobb munkalapon is megjelnnek kikuszobolodnek), majd keszitesz egy egyszeru weboldalt, ahol a megfelelo elemeket hasznalva (select, input, stb.) letrehozod a kivant feluletet az adatoknak.


Cím: Re: PHP
Írta: kovger - 2009. 03. 21. - 12:53:13
Sok oldalon láttam, hogy a tartalom közzé van beszúrva a google adsense hirdetés.
pl. Az oldalon minden 5. vicc után van egy hirdetés.
Hogy tudom ezt én is megcsinálni?


Cím: Re: PHP
Írta: lowert - 2009. 03. 21. - 15:18:59
Szia!

Csinálsz egy szamlalo nevű változót 0 értékkel, ami minden megjelent vicc után nő eggyel és ha a változó 5, akkor kiechozza a hirdetést.
pl.: (Feltételezem, hogy egy ciklussal íratod ki a vicceket...)

Kód:
<?php
$szamlalo 
0;
foreach (
$viccek as $vicc) { \\vagyis a te saját vicckiíró ciklusod
-itt kiíratod a vicceidet
$szamlalo
++;
if (
szamlalo == 5) {

echo 
'a hírdetés kódja';
$szamlalo 0;
}

}
?>


Cím: Re: PHP
Írta: Tupacko - 2009. 03. 21. - 22:35:06
Arra is figyelj, hogy az oldalon levo hirdetesek szama ne legyen tobb, mint harom (ha jol tudom ez a maximalis szam, amit megjelenithetsz!).

Koszi a megoldast lowert!


Cím: Re: PHP
Írta: kovger - 2009. 03. 31. - 21:32:21
Hali!
Találtam a http://tutorial.hu oldalon egy olyan cikket, amiben le van írva, hogy hogyan tudunk egy adott mysql táblában keresni.
Eddig minden ok, működik de ha nincs keresési találat akkor csak az üres "keres.php" oldalt mutatja.
Itt az eredeti verzió: http://www.tutorial.hu/kereses-mysql-tablaban/

Az általam bővített verzió:
Csak annyiban különbözik, hogy kiírja az adott szót amit beírtunk.
Kód:
<?PHP
include "config.php";
 
mysql_connect( $_MYSQL['HOST'], $_MYSQL['USER'], $_MYSQL['PASSWORD'] );
mysql_select_db( $_MYSQL['DB'] );
 
if(!IsSet($_REQUEST['search_text']) || empty($_REQUEST['search_text'])) {
print'
<form method="GET" action="keres.php">
<input type="text" name="search_text" size="25">
<input type="Submit" value="Keresés">
</form>';
} else {
$search_text = mysql_escape_string($_REQUEST['search_text']);
 
$eredmeny = mysql_query("SELECT * FROM ".$_CONF['TABLA']." WHERE ".$_CONF['MEZO']." LIKE '%$search_text%'");
 echo "Ezeket találtam a(z) <b>'$search_text'</b> szóra";
while($sor = mysql_fetch_object($eredmeny))
{
 
$cim = $sor->faq_question;
$uzenet = $sor->faq_answer;
$datum = $sor->faq_date;
$id = $sor->faq_id;
 
echo "<p>".$id.". ".$cim."<hr>".$uzenet."<hr>".$datum."</p>";
}

}

?>

Szerk.: a linkek osszekavartak a bejegyzest


Cím: Re: PHP
Írta: Tupacko - 2009. 04. 01. - 19:13:02
Lehet félreértem, de akkor itt nincs kérdés :)

Köszönöm, hogy megosztottad a fórumon. Valakin bizotsan segíteni fog!


Cím: Re: PHP
Írta: kovger - 2009. 04. 01. - 19:49:57
Hali!
Találtam a http://tutorial.hu (http://tutorial.hu) oldalon egy olyan cikket, amiben le van írva, hogy hogyan tudunk egy adott mysql táblában keresni.
Eddig minden ok, működik de ha nincs keresési találat akkor csak az üres "keres.php" oldalt mutatja.
Itt az eredeti verzió: http://www.tutorial.hu/kereses-mysql-tablaban/ (http://www.tutorial.hu/kereses-mysql-tablaban/)

Az általam bővített verzió:
Csak annyiban különbözik, hogy kiírja az adott szót amit beírtunk.
Kód:
<?PHP
include "config.php";
 
mysql_connect( $_MYSQL['HOST'], $_MYSQL['USER'], $_MYSQL['PASSWORD'] );
mysql_select_db( $_MYSQL['DB'] );
 
if(!IsSet($_REQUEST['search_text']) || empty($_REQUEST['search_text'])) {
print'
<form method="GET" action="keres.php">
<input type="text" name="search_text" size="25">
<input type="Submit" value="Keresés">
</form>';
} else {
$search_text = mysql_escape_string($_REQUEST['search_text']);
 
$eredmeny = mysql_query("SELECT * FROM ".$_CONF['TABLA']." WHERE ".$_CONF['MEZO']." LIKE '%$search_text%'");
 echo "Ezeket találtam a(z) <b>'$search_text'</b> szóra";
while($sor = mysql_fetch_object($eredmeny))
{
 
$cim = $sor->faq_question;
$uzenet = $sor->faq_answer;
$datum = $sor->faq_date;
$id = $sor->faq_id;
 
echo "<p>".$id.". ".$cim."<hr>".$uzenet."<hr>".$datum."</p>";
}

}

?>

Bocsi, lehagytam!
A kérdés: Ha nincs találat, akkor azt írja ki, hogy a Keresett szóra nincs találat


Cím: Re: PHP
Írta: Tupacko - 2009. 04. 02. - 13:04:27
Lekered hogy, hany sort talalt. Ha nullat, akkor kiirod, hogy nincs talalat, ha nem nulla, akkor kiirod, amit most is, hogy mire keresett.
Figyelmedbe ajanalo a mysql_num_rows fuggvenyt.


Cím: E-mail küldés php-val
Írta: kovger - 2009. 04. 14. - 19:33:24
Találtam a prog.hu-n ezt a scriptet
Kód:
<html>
<head>
</head>
<body>
<form action="kuldes.php" method="post">
Email: <br /><input type="text" name="email"><br />
Tárgy: <br /><input type="text" name="subject"><br />
Üzenet: <br /><textarea name="message" cols="50" rows="7"></textarea><br />
<input type="submit" value="Üzenet elküldése">
</form>
<body>
</html>

Küldés
Kód:
kuldes.php:


<?php

$email_cim 
$_POST['email'];
$targy $_POST['subject'];
$uzenet $_POST['message'];

mail("valami@freemail.hu""Tárgy: $targy",
$uzenet"Form: $email_cím");
echo 
"Üzenet elküldve";
?>
Működik eddig rendesen, de hogy lehet kiegészíteni azzal, hogy az emailt küldő látogató adja meg a cél email címet?


Cím: Re: PHP
Írta: Tupacko - 2009. 04. 14. - 23:24:45
Lekered azt is az urlapban es beteszed a "valami@freemail.hu" szoveg helyett a valtozot.

VIGYAZAT! Hasznald olyan helyen a hasonlo levelkuldo szkripteket, hol nem kerulhet SPAMbotok kezere. Ellenkezo esetben SPAMszerverre alakitjak az oldalad es nem kis esellyel letiltatjak az oldalad vagy eszmeletlen nagy forgalommal terhelik le.


Cím: Re: PHP
Írta: kovger - 2009. 04. 15. - 14:39:26
Freewebes oldalt szerkesztek és az ottani leírás szerint csináltam mindent.
http://freeweb.hu/info?phpcgimail (http://freeweb.hu/info?phpcgimail)
De nekem mégis kiírja ezt a hibát
Idézet
Warning: mail(): SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE. in /disk/raid4/h/u/humorporta/kuldes.php on line 9

A 9. sorban ez van
Idézet
8.(sor)mail("$kinek_megy", "Tárgy: $targy",
9.(sor)$uzenet, "Form: $email_cím", "X-FW-MailID: *****");


Cím: Re: PHP
Írta: Tupacko - 2009. 04. 16. - 11:03:51
Nincs olyan, hogy 5. parameter: probald az alabbi modon:

Kód:
mail("$kinek_megy", "Tárgy: $targy", $uzenet, "Form: $email_cím". "\r\n" . "X-FW-MailID: *****");

A negyedik parameter tartalmazza az osszes extra header informaciot.


Cím: Re: PHP
Írta: kovger - 2009. 04. 16. - 15:09:00
Így már működik!
Köszi!


Cím: Re: PHP
Írta: Tupacko - 2009. 04. 17. - 13:16:46
Nagyon szivesen :)


Cím: Re: PHP
Írta: Yeti - 2009. 04. 26. - 13:52:52
Hellosztok!
Azt szeretném megtudni, hogy be lehet-e ágyazni html oldalt php-ba, és ha igen, akkor hogy?
Előre is kösz a válaszokat...


Cím: Re: PHP
Írta: Tupacko - 2009. 04. 26. - 18:13:17
Nem igazan ertem a kerdest, hiszen a PHP szerver oldalon fut le es HTMLt general, amit majd a kliens oldalon a bongeszo alakit grafikus formaba, hogy elnyerje a vegso formajat. Ha arra gondolsz, hogyan tudsz HTMLt generalni PHPval, ime egy pelda:

Kód:
<?php
echo "<p>Ez HTML lesz. Az echo fuggveny kiirja a szoveget, amit parameternek adsz.";
?>

<p>Ez szinten HTML, mivel a PHP kod blokkon kivul irom.</p>
<?php
echo "<p>Ismet PHPbol generalt HTML kod.</p>";
?>



Cím: Re: PHP
Írta: kovger - 2009. 04. 27. - 16:18:44
Hogy lehet beállítani azt, hogy az ilyen formátumú 2009-04-27 15:59:40 dátumból csak a hónapot és a napot írja ki pl 04-27?


Cím: PHP dátum formázás
Írta: Tupacko - 2009. 04. 28. - 09:40:05
Attól függ, milyen formában van meg a dátumod. Ha egy timestamp (legjobb, tárolásra, mivel csak egy szám), akkor: http://www.php.net/date
Ajánlom figyelmedbe az itt található függvényeket: http://www.php.net/manual/en/ref.datetime.php
Egészen biztosan megtalálod a számodra megfelelő függvényt.
Ha az adatbázisba így van elmentve, szövegként, akkor egy sima substr-vel kinyerheted, ami neked kell.


Cím: Re: PHP
Írta: kovger - 2009. 05. 26. - 19:09:06
Van egy táblám, amiben van 3 mező. (id, ip, szam).
Azt szeretném megoldani, hogy ha rákattintunk a gombra, akkor a szam mező értéke nőjön eggyel.
Egy kis off.
Kerestem az interneten ilyen, ehhez hasonló segédleteket, de semmi számomra használhatót nem találtam. Ezért kérném még 1x a segítségeteket.


Cím: IP cim szamlalo
Írta: Tupacko - 2009. 05. 26. - 20:23:38
Szia kovger!
Ebben az esetben az id oszlopra nagyon nincs szukseged, mert az IP-k egyediek :) Nem tudom mire akarod hasznalni, de vedd figyelembe azt is, hogy manapsag a legtobb szolgaltato dinamikus IP cimeket oszt ki a fogyasztoknak (szoval, aki ma xxx.xxx.xxx.xxx lehet, hogy holnap mar yyy.yyy.yyy.yyy).

Egy megoldas:
Kell egy tabla ket oszloppal: IP es szam. Amikor rakattintasz a gombra, akkor kinyered az IP cimet PHP segitsegevel (szep leiras: http://roshanbh.com.np/2007/12/getting-real-ip-address-in-php.html) Amikor megvan az IP cim, mondjuk az $ip valtozoban, akkor lefuttatod ezt a kis MySQL parancsot:

Kód:
UPDATE `tabla` SET `szam` = `szam` + 1 WHERE `ip` = '$ip' LIMIT 1


Cím: Re: PHP
Írta: Piszi - 2009. 05. 28. - 14:02:19
Sziasztok!

Segítségeteket szeretném kérni mert már napok óta próbálom megoldani, hogy ha Joomla 1.5 -> virtuemart 1.1.3 ban a "Hívjon az árért" linkre kattintok akkor a megjelenő űrlapon a termék nevében az ékezetes karakterek jól jelenjenek meg.
Próbáltam a price.tpl-ben a $product_name-et utf8_decode-al kiratni de nem segített. Azt nem értem, hogy a "hívjon az árért" szöveget miért tudja jól generálni és a terméknevet miért nem pedig az is utf-8ban van eltárolva az adatbázisban?
Nézegettem a php manualban az urlencode() referenciát de nem találtam olyan megoldást illetve nem jövök rá semmi olyanra ami megoldaná.
Biztos vagyok benne, hogy valami triviális dolog a megoldása csak én jövök rá mi az :)

Ja igen mintaként, hogy most hogy jelenik meg a terméknév az űrlapon:
Hívjon az árért: Béléstest,párnázat
A terméknév jelen esetben Béléstest, párnázat akar lenni

így néz ki a kódja eredetileg:
Kód:
<?php
// User is not allowed to see a price or there is no price
if( !$auth['show_prices'] || !isset($price_info["product_price_id"] )) {

$link $sess->url$_SERVER['PHP_SELF'].'?page=shop.ask&amp;product_id='.$product_id.'&amp;subject='urlencode$VM_LANG->_('PHPSHOP_PRODUCT_CALL').": $product_name") );
echo vmCommonHTML::hyperLink$link$VM_LANG->_('PHPSHOP_PRODUCT_CALL') );
}
?>

A 'PHPSHOP_PRODUCT_CALL' a "Hívjon az árért szöveg"

előre is köszönöm.
Üdv
L.

ui:
Tupacko köszönöm a png-fixes megoldásodat!! és bocsi, hogy csak most!


Cím: PHP UTF-8 gondok
Írta: Tupacko - 2009. 05. 28. - 14:47:22
Szívesen :) A hasonló esetkeben többnyire össze van keveredve a karakterkódolás. Ellenőrízd le, sorra, a következőket. Ha valamelyik eltér a másiktól, akkor ott lehet a gond:
- adatbázisban a tábla és az oszlop karakterkódolása (lehetőleg legyen utf8_unicode_ci)
- a PHP file karakterkódolása
- a sablon file karakterkódolása
- a weboldal által specifikált karakterkódolás
- a böngésződ karakterkódolása (ezt jó automatikusan hagyni)

Ha semmi sem segít, írj egy pár soros kicsi szkriptet, aminek semmi köze a Joomla-hoz. Legyen egy PHP file, aminak annyi a dologa, hogy vesszővel elválasztva, kiszedi az adatbázisból a termékneveket. Ha itt is el van szállva a karakterkódolás, akkor a böngésződben próbáld meg addig váltogatni a különféle kódolást, amig jól jelenik meg. Ha megvan, akkor keresd meg, hogy hol van átállítódva a talál karakterkódolásra a termék neve (adatbázis, PHP, kliens oldalon (HTML), böngésző) ... valahol hibának kell lennie :)

Ha semmi sem segít, van egy végső megoldás, de az csúnya. Fogod a product_name változót és amikor átadod paraméterként az URLben, akkor encode-olod base64-el. Amikor fel kell dolgozni, akkor decode-olod.


Cím: Re: PHP
Írta: kovger - 2009. 06. 02. - 20:22:41
Jelenleg egy online userbar készítő honlappal foglalkozok.
Már majdnem kész vagyok, de a "szépítésnél" megakadtam. Sehogysem tudok a szöveg köré keretet húzni még az imagefilltoborder() (http://hu2.php.net/imagefilltoborder (http://hu2.php.net/imagefilltoborder)) függvénnyel se.
Mi lehet vele a gond?
Kód
Kód:
error_reporting(E_ALL ^ E_NOTICE);
session_start();
header("Content-type: image/png");
if ($_SESSION["userid"])
$userid = $_SESSION["userid"];
else
$userid = $_GET['userid'];
$im = imagecreatefrompng("stilusok/1.png");
$userid_width = imagettfbbox(10, 0, "ttf/tahoma.ttf", $userid);
$userid_start = (  ($userid_width[1]) );
$color = imagecolorallocate($im, 255, 255, 255);
imagettftext($im, 9, 0, $userid_start, 14,  $color,  "ttf/tahoma.ttf", $userid);
imagepng($im);
imagedestroy($im);

A beta oldal: http://www.puma1.extra.hu/userbargen/ (http://www.puma1.extra.hu/userbargen/)


Cím: Re: PHP
Írta: Tupacko - 2009. 06. 02. - 20:33:35
Oszinten megmondva nem dolgoztam a GD libbel. Probaltad a favago modszert? Huzol negy vonalat a negy sarokbol :) 1.-bol 2.be, 2.-bol 3.ba, 3.bol 4.be, 4.bol 1. be?


Cím: Re: PHP
Írta: lowert - 2009. 07. 14. - 09:06:18
itt a fórumon láttam sok helyen (főleg TreamX-nél), hogy mikor php-ban akar HTML tageket kiíratni (például formot), akkor echo-k tömkelegét használja, figyelmetekbe ajánlanám a

Kód:
$szoveg = <<<EOT
<form method="post" method="" >
<input type="text" name="text" />
<input type="submit" name="submit" />
</form>
EOT;
echo $szoveg;

módszert!


Cím: Re: PHP
Írta: Tupacko - 2009. 07. 14. - 18:57:54
Helyes modszer, igy igaz. Meg annyit fuznek hozza, hogy az "EOT"-t barmilyen szoveggel lehet helyettesiteni.


Cím: Re: PHP
Írta: kovger - 2009. 08. 05. - 19:07:02
Írtam egy egyszerűbb beléptető scriptet és most a tagok profiljánál tartok.
Azt szeretném megcsinálni hogyha átírják az url-ben az id-t ami nem létezik, akkor azt írja ki, hogy A tag nem létezik.
Ezt hogy lehetne megcsinálni?
A profil kódja még elég kezdetleges.
Kód:
<?
require_once("conn.php");
//require_once("vedett.php");
$id = $_GET['id'];

$parancs = mysql_query("SELECT * FROM tagok WHERE id = '$id'");
$row=mysql_fetch_array($parancs);

$tagok = $row['nev'];

?>


Cím: Re: PHP
Írta: Tupacko - 2009. 08. 05. - 22:05:07
Valami hasonlora gondolhattal:

Kód:
<?php
require_once("conn.php");
//require_once("vedett.php");

$id = -1;

if ( isset(
$_GET['id'] && is_numeric($_GET['id'] ) {
$id $_GET['id'];
}

$eredmeny mysql_query("SELECT * FROM `tagok` WHERE `id` = '$id'");

if ( !
$eredmeny ) {
echo "SQL hiba!";
die();
}

if ( 
mysql_num_rows($eredmeny) < ){
echo "A felhasznalo nem letezik";
die(); // vagy valami, amivel megallitod, hogy lefusson az a resz, amit mar csak a tagok lathatnak
}

$row mysql_fetch_assoc($eredmeny);

$felhasznaloiNev $row['nev'];

// a tovabbi kod ...

?>



Cím: Re: PHP
Írta: spier - 2009. 08. 14. - 14:43:47
Helló.

Kaptam tanulás céljából egy weboldal admin felületet és pár lapot hozzá. Az adatbázis én építem fel hozzá amit le tudok szűrni a kódból stb.
Már bizonyos funkciókat működő képessé is tudtam tenni viszont a következő hibaüzenet miatt az oldalon és az admin felületen is hiányosak a dolgok.
Ha valaki rávezetne mire jó a következő funkció, megköszönném, ezt minden lapon írja hibának. Annyit látok, hogy - lehet valami fájlt nem kaptam meg - nincs definiálva a dolog, de valószínűleg magamnak kell ezt felépíteni majd.

tehát a hibaüzenet:
Fatal error: Call to undefined function DOpen() in

így néz ki pl. ahol használná a DOpen() cuccost. Gondolom a DClose($db_lang); fogja nekem lezárni ezt a dolgot.

Kód:
<?php 
include "include/phpheader.inc.php";
$db_lang=DOpen();

if (
$_REQUEST[id])
{
$sql_stat=DMakeQueryString("SELECT id,name,data,title FROM section WHERE idx='$id'");
$sql_ered=DQuery($_REQUEST[BTDatabase],$sql_stat,$db_lang);
if (DRowNumber($sql_ered))
{
$re=DGetRow($sql_ered);
$title=$re[1];
$data=$re[4];
$metatitle=$re[5];
}
}
if (
$_REQUEST[id]==1) $title="Helló";
if (
$_REQUEST[id]==9) $title="Képek";
if (
$_REQUEST[idt]==1000) {$metatitle="Képek";$title="Képek";}

DClose($db_lang);
include_once(
"include/ImageResizeFactory.php");


Cím: Re: PHP
Írta: Tupacko - 2009. 08. 14. - 23:31:09
A 'D' kezdesu fuggvenyek nem igazan neznek ki valami standard dolognak. Google sem okosit nagyon. Kerdezd meg azt, aki adta a kodreszletet/rendszerreszletet, lehet elmaradt valami.

Sok sikert!


Cím: Re: PHP
Írta: spier - 2009. 08. 15. - 03:24:40
Ok, köszi a választ. Azért is kérdeztem itt mert nem okosított ki engem sem a gugli ezzel kapcsolatban.

Nem tudom esetleg ez ide tartozhat?
http://support.sas.com/documentation/cdl/en/sclref/59578/HTML/default/a000143549.htm (http://support.sas.com/documentation/cdl/en/sclref/59578/HTML/default/a000143549.htm)


Cím: Re: PHP
Írta: Tupacko - 2009. 08. 15. - 08:42:02
A helyet az, hogy a SAS(R) nem PHP :)


Cím: Re: PHP
Írta: kovger - 2009. 09. 19. - 13:06:10
Az előző kérdésemet egy kicsit értelmetlenül tettem fel, csak már nem tudom szerkeszteni.
Még 1x akkor. Hogy lehet azt megcsinálni, hogy a cikekk táblából csak azokat a sorokat írja ki amelyikben a "kat" mező értéke pl 2.
A táblám így néz ki.
Kód:
id|kat|szoveg|datum
1   2  pelda   1991
2   1  pelda2  1994
3   2  pelda3  2010


Cím: Re: PHP
Írta: kovger - 2009. 09. 19. - 15:23:28
Megtaláltam a megoldást a prog.hu-n.
De még 1 kérdésem lenne.
Hogy lehetne egy egyszerűbb lapozót összehozni a kódhoz? Átnéztem a prog.hu-t de nem találtam olyan kódot amivel menne.

-------------------------------
Kód:
<?
include "config.php";

$sql="select * from cikkek where kat=".addslashes($_GET['id']);

$query=mysql_query($sql);

while($sor=mysql_fetch_assoc($query))

    {

    echo '<tr><td>'.$sor['cim']."</a></td></tr>\n";

    echo '<tr><td>'.$sor['szoveg']."</a></td></tr>\n";

    echo '<tr><td>'.$sor['datum']."</a></td></tr>\n";

    echo "<tr><td>&nbsp;</a></td></tr>\n";

    };

?>


Cím: Re: PHP
Írta: spier - 2009. 09. 19. - 20:06:02
helló.

Sikerült kijavítanom a hibákat - php weboldal motor -  amit javasoltál.
Ezzel kapcsolatban lenne egy kérdésem amitről értelmes leírást nem találtam és mindenhol máshogy használják.

Minden esetben ki kell tenni a négyszögletes zárójelnél az 1 macskakörmöt? bár működik így is és úgy is éppenséggel, de ha már csinálom akkor normálisan.
pl.: !$_GET['id']
Kód:
if (!$_GET['id'] && !$_POST['id'] && !$uj)

itt pl. nincsen, kellhet? [BTDatabase]
Kód:
$sql_ered = DQuery($_REQUEST[BTDatabase],$sql_stat,$db_lang);

Köszi a helpet!
üdv.


Cím: Re: PHP
Írta: kovger - 2009. 09. 20. - 14:26:36
A prog.hu-n erre is megtaláltam a megoldást. De ebben az a gond, hogyha az utolsó oldalra érünk, akkor ott marad a "következő oldal" link. Hogy lehet ezt kiküszöbölni?
<off> A tudástárba már felvetettem a kérdéseimet de meguntam, hogy szinte csak bunkó fórumozók használják az oldalt.</off>
A lapozóval ellátott kód:
Kód:
<table>
<?
include "config.php";
$id = $_GET['id'];

  if (! isset($from))
    $from = 5;

$sql = "SELECT * FROM news where kat=$id ORDER BY id DESC LIMIT " . $from . ", 5";

$query=mysql_query($sql);
if (!$query) {
    die('Invalid query: ' . mysql_error());
}


while($sor=mysql_fetch_assoc($query))

    {

    echo '<tr><td><b>'.$sor['title']."</b></td></tr>\n";
    echo '<tr><td>'.$sor['date']."</td></tr>\n";

    echo '<tr><td>'.$sor['news']."</td></tr>\n";

    echo "<tr><td>&nbsp;</a></td></tr>\n";

    };
    echo "<a href=\"list.php?id=$id&from=" . ($from - 5) . "\">elozo oldal</a>";

  echo "<a href=\"list.php?id=$id&from=" . ($from + 5) . "\">kovetkezo oldal</a>";


?>
</table>


Cím: Re: PHP
Írta: Tupacko - 2009. 09. 30. - 21:36:08
Bocs a kimaradasert, sajnos napok ota nem neteztem komolyabban. Sok a tennivalo a lakas kornyeken.

Eloszor @spier-nek felelek, mert rovidebb: igen, mindenhol kell macskakorom, ahol karakterlancot akarsz jelolni. Ha nincs macskakorom, akkor megnezni, ha letezik olyan konstans. Ha van, akkor annak az ertekevel probal egy elemet talalni a tombben es nem a string megfelelojevel.
Hogy erthetobb legyen:

Kód:
$valami['hello'] = 10;

echo $valami[hello]; // kiir 10-et

---

define('hello', 'egyeb-tomb-kulcs');

echo $valami[hello]; // nem 10-et ir ki

@kovger:

orulok, hogy magad is megtalaltad a valaszokat. Aminek ennel is jobban orulok, hogy megosztottad a tobbi forumozoval!

Mindenek elott ugyelj arra, hogy ellenorizd a felhasznalo altal szerketszheto adatokat. Pl. a from mezot. Nem eleg azt vizsgalni, hogy ha letezik vagy sem. Nezd meg, hogy szam legyen: is_numeric vagy ami helyesebb ez esetben, hogy egesz szam legyen is_integer.
Az elozo es kovetkezo linkek kiirasanal meg kell vizsgalni, hogy van meg elozo vagy kovetkezo oldal: pozitiv szam legye a (from - 5) es pozitiv szam legyen a (from - 5 - az ossz sorok szama).


Cím: Re: PHP
Írta: kovger - 2009. 10. 02. - 14:27:33
Köszönöm a segítségedet, de sikerült véglegesen megoldanom a lapozást. Találtam az google-ben egy egszerűbb lapozót, amit egy kicsit szépítgettem, javítgattam. Bemásolom a kódot és a hozzá tartozó css stílust.
Ahol tudtam kommenteltem a kódot de nem 100%os
PHP kód...
Kód:
include "config.php";
$id = $_GET['id'];

$tbl_name="cikkek";
$adjacents = 1;

$query = "SELECT COUNT(*) as num FROM $tbl_name";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages[num];


$targetpage = "cikkek.php"; //fájl neven, amelyik oldalon listázni szeretnéd a találatokat
$limit = 5; //cikkek száma az oldalon
$page = $_GET['page'];
if($page)
$start = ($page - 1) * $limit; //az első találat megjelenítése
else
$start = 0;

/* tábla adatok. */
$sql = "SELECT * FROM $tbl_name where kat=$id ORDER BY id DESC LIMIT $start, $limit";
$result = mysql_query($sql);

/* Lapozó beállítása. */
if ($page == 0) $page = 1; //ha nincs szám megyünk az 1 oldalra
$prev = $page - 1; //előző oldalra - 1
$next = $page + 1; //következő oldalra + 1
$lastpage = ceil($total_pages/$limit); //utolsó oldal = összesoldal / találatok az oldalon, felfele kerekítve.
$lpm1 = $lastpage - 1; //utolsó oldal minusz 1




$query=mysql_query($sql);
if (!$query) {
    die('Invalid query: ' . mysql_error());
}

while($sor=mysql_fetch_assoc($query))
    {
    echo '<tr><td><b>'.$sor['cim']."</b></td></tr><br>\n";
    echo '<tr><td>'.$sor['datum']."</td></tr><br>\n";
    echo '<tr><td>'.$sor['bevezeto']."</td></tr><br>\n";
    echo "<tr><td>&nbsp;</a></td></tr><hr>\n";
    };


/*
Lapozás kiírása
*/
$pagination = "";
if($lastpage > 1)
{
$pagination .= "<div class=\"pagination\">";
//előző oldalra gomb
if ($page > 1)
$pagination.= "<a href=\"$targetpage?id=$id&page=$prev\">< El&ocirc;z&ocirc;</a>";
else
$pagination.= "<span class=\"disabled\">< El&ocirc;z&ocirc;</span>";

//oldalszámok
if ($lastpage < 7 + ($adjacents * 2))
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"current\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?id=$id&page=$counter\">$counter</a>";
}
}
elseif($lastpage > 5 + ($adjacents * 2))
{

if($page < 1 + ($adjacents * 2))
{
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"current\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?id=$id&page=$counter\">$counter</a>";
}
$pagination.= "...";
$pagination.= "<a href=\"$targetpage?id=$id&page=$lpm1\">$lpm1</a>";
$pagination.= "<a href=\"$targetpage?id=$id&page=$lastpage\">$lastpage</a>";
}

elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= "<a href=\"$targetpage?id=$id&page=1\">1</a>";
$pagination.= "<a href=\"$targetpage?id=$id&page=2\">2</a>";
$pagination.= "...";
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"current\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?id=$id&page=$counter\">$counter</a>";
}
$pagination.= "...";
$pagination.= "<a href=\"$targetpage?id=$id&page=$lpm1\">$lpm1</a>";
$pagination.= "<a href=\"$targetpage?id=$id&page=$lastpage\">$lastpage</a>";
}

else
{
$pagination.= "<a href=\"$targetpage?id=$id&page=1\">1</a>";
$pagination.= "<a href=\"$targetpage?id=$id&page=2\">2</a>";
$pagination.= "...";
for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"current\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?id=$id&page=$counter\">$counter</a>";
}
}
}

//következő oldalra gomb
if ($page < $counter - 1)
$pagination.= "<a href=\"$targetpage?id=$id&page=$next\">K&ouml;vetkez&ocirc; ></a>";
else
$pagination.= "<span class=\"disabled\">K&ouml;vetkez&ocirc; ></span>";
$pagination.= "</div>\n";
}

...és a hozzátartozó css
Ezt szerintem a dynamicdrive-on találtam. De nem biztos.
Kód:
/*Lapozás formázása*/
      div.pagination {
              text-align:center;
              padding: 7px;
              margin: 3px;
      }

      div.pagination a {
              padding: 2px 5px 2px 5px;
              margin: 2px;
              border: 1px solid #000000;
            
              text-decoration: none; /* no underline */
              color: #000000;
      }
      div.pagination a:hover, div.pagination a:active {
              border: 1px solid #000000;
              background-color:#000000;
              color: #fff;
      }
      div.pagination span.current {
              padding: 2px 5px 2px 5px;
              margin: 2px;
                      border: 1px solid #000000;
                    
                      font-weight: bold;
                      background-color: #000000;
                      color: #FFF;
              }
      div.pagination span.disabled {
                      padding: 2px 5px 2px 5px;
                      margin: 2px;
                      border: 1px solid #EEE;
            
                      color: #DDD;
              }
/*Lapozás formázás vége*/


Cím: Re: PHP
Írta: spier - 2009. 10. 02. - 18:09:25
Köszönöm, értem.

Bocs a kimaradasert, sajnos napok ota nem neteztem komolyabban. Sok a tennivalo a lakas kornyeken.

Eloszor @spier-nek felelek, mert rovidebb: igen, mindenhol kell macskakorom, ahol karakterlancot akarsz jelolni. Ha nincs macskakorom, akkor megnezni, ha letezik olyan konstans. Ha van, akkor annak az ertekevel probal egy elemet talalni a tombben es nem a string megfelelojevel.
Hogy erthetobb legyen:

Kód:
$valami['hello'] = 10;

echo $valami[hello]; // kiir 10-et

---

define('hello', 'egyeb-tomb-kulcs');

echo $valami[hello]; // nem 10-et ir ki

@kovger:

orulok, hogy magad is megtalaltad a valaszokat. Aminek ennel is jobban orulok, hogy megosztottad a tobbi forumozoval!

Mindenek elott ugyelj arra, hogy ellenorizd a felhasznalo altal szerketszheto adatokat. Pl. a from mezot. Nem eleg azt vizsgalni, hogy ha letezik vagy sem. Nezd meg, hogy szam legyen: is_numeric vagy ami helyesebb ez esetben, hogy egesz szam legyen is_integer.
Az elozo es kovetkezo linkek kiirasanal meg kell vizsgalni, hogy van meg elozo vagy kovetkezo oldal: pozitiv szam legye a (from - 5) es pozitiv szam legyen a (from - 5 - az ossz sorok szama).


Cím: Re: PHP
Írta: Tupacko - 2009. 10. 03. - 12:36:45
Orulok, hogy mindenkinek sikerult megerteni, amit kell :)


Cím: Re: PHP
Írta: spier - 2009. 10. 16. - 01:57:42
Helló

Megint leragadtam kicsit :). Gyakorlás gyanánt elkezdtem a hasznaltauto pötty hu mintájára csinálgatni egy lapot. Van benne minden finomság így el lehet vele szórakozni. Be is adnám a kódot (valószínűleg több ordas hiba is lehet benne függetlenül attól, hogy működik, de ennyit sikerült összeelmélkednem és megtanulgatnom, szívesen fogadok minden kritikát és egyebet amitől minőségibb lesz a kódolás.)

Kód:
<?php
$_REQUEST
['id']=13;
include(
"include/header.inc.php");
include(
"include/picresize.inc.php");

$db DOpen();
?>


<?php
$sql_stat DMakeQueryString("SELECT * FROM hasznaltautok where aktiv='1' and kiemelt='1' ORDER BY id DESC LIMIT 1");
$sql_ered DQuery($_REQUEST[BTDatabase],$sql_stat,$db);
if (DRowNumber($sql_ered)) {
while ($re DGetRow($sql_ered)) {

$id $re[0];
$aktiv $re[1];
$kiemelt $re[2];
$ar $re[3];
$evjarat $re[4];
$tipus $re[5];
$muszaki $re[6];
$uzemanyag $re[7];
$motor $re[8];
$teljesitmeny $re[9];
$futott $re[10];
$allapot $re[11];
$kivitel $re[12];
$ajtok $re[13];
$szin $re[14];
$onsuly $re[15];
$osszsuly $re[16];
$szallithato $re[17];
$csomagtarto $re[18];
$felszereltseg $re[19];
$leiras $re[20];
$kep $re[21];
}

if ($kiemelt==0) {
echo "";

} else {
?>


<h3>Kiemelt használtautók</h3>
<div id='haszn-bg'><div class='hasznaltauto-text'>
<div class='hasznaltauto-1'><?php echo $tipus;?></div>
<div class='hasznaltauto-2'><?php echo $motor;?></div>
<div class='hasznaltauto-3'><?php echo $uzemanyag;?></div>
                    <div class='hasznaltauto-4'><?php echo $evjarat;?></div>
                    <div class='hasznaltauto-5'><?php echo $ar;?></div>
<div class='clear'></div>
</div>

<div class='hasznaltauto-text'>
<div class='hasznaltauto-6'>

<?php
$pic $sql_ered;
if ($pic != '') { 

$datadir "hasznaltautok/";
$pic_eler $datadir.$kep;
$maxx 100;
$maxy 100;

$pic_size = array();
$pic_size pic_resize($maxx$maxy$pic_eler);
}
?>


<a href="<?php echo $datadir.$kep;?>" rel="lightbox">
<img src="<?php echo $pic_eler;?>" width="<?php echo $pic_size[0];?>" height="<?php echo $pic_size[1];?>" alt="<?php echo $tipus;?>" title="<?php echo $tipus;?>" border="0" /></a>

</div>
<div class="hasznaltauto-7-8">
<div class="hasznaltauto-7 haszn-text"><span class="haszn-kiemel">Felszereltség : </span><?php echo $felszereltseg;?></div>
<div class="hasznaltauto-8 haszn-text"><span class="haszn-kiemel">Leírás : </span><?php echo $leiras;?></div>
</div>

<div class="clear"></div>
</div>

<div>&nbsp;</div>
</div>

<?php } } ?>

<?php
DClose
($db);
include(
"include/footer.inc.php");
?>


Nos kiíratok adatbázisból egy autót mondjuk a hasznaltautok.php lapon, van kép is amit átméretez az adott helyre egy ügyes funkció meg vannak meghatározva opciók, hogy ha aktív akkor....

Egyenlőre csak pár adatot íratok ki és mondjuk ha egy tovább gombra kattintok akkor előjön az adatlap ugyan ebben az oldalban (hasznaltautok.php). És itt van nekem a bibi. A problémám az, hogy nem jövök rá az elvi felépítésére a dolognak akár, hogy is szobrozok rajta, megköszönnék egy kis lökést.

Addig eljutottam, hogy id alapján kell majd mahinálnom az átlapozást úgy a legértelmesebb. A link az valami ilyesmi lesz majd:
Kód:
<a href="hasznaltautok.php?id=1">
stb. stb.

Ahogy az adatbázisban vannak kiosztogatja 1,2,3.... Itt akkor meg kell adnom egy változót ha jól gondolom ami a megfelelő számértéket a megfelelő linkhez beszúrja.

Nem tudok rájönni, hogy miként tüntetem el a minimális kilistázást ami most van - tehát azt a pár adatot amit kiíratok most és helyére egy teljesen új <div></div> -es részben kiíratom az adott id-hez tartozó összes autóadatot.

Remélem jól fogalmaztam, de bármi másra is át lehet vezetni ezt a lapozós dolgot fagyi, süti stb. csak éppen hasra ütésre ez a használtautós dolog jött be. Nem is kérdeznék, ha látnék fényt az alagút végén de nagyon leragadtam.

Köszi a segítséget. üdv.


Cím: Re: PHP
Írta: Tupacko - 2009. 10. 17. - 19:03:11
Szia,

tehetsz egy elagazast (IF), es ha az ID be van allitva, mint parameter, akkor kiirod azt a verdat, ha meg nem, akkor tobb verdat, de nem olyan reszletesen.

Hajra!


Cím: Re: PHP
Írta: spier - 2009. 10. 18. - 16:06:42
Köszi pont ennyi instrukció kellet, már meg is oldottam, ez lett a szükséges plusz az elágazáshoz, tökéletesen működik:
Kód:
$sql_stat = DMakeQueryString("select * from hasznaltautok where id='" . $_GET['id'] . "'");

Ha nem túl nagy gond, némi seggelés után lehet bemásolnám az eredményt, megköszönném ha rápillantanál biztonsági szempontól/és minőségből. :)

Üdv.


Cím: Re: PHP
Írta: Tupacko - 2009. 10. 18. - 22:13:28
A mondo vagyok, hogyha komolyan akarsz PHPvel foglalkozni, akkor nezz utana az objektum orientalt paradigmanak es az OO PHPnak. Aztan gondold ujra az aprohirdeteses oldalt. Elemezd, gondolokodj, hogy lenne helyesebb, jobban mukodo. Nezz utana, mi az UML osztaly diagram. Probald meg elkesziteni a sajat diagrammod.
Nem kis munka es sok idot vesz igenybe. Nem is lehet egyszerre megtanulni, de valahol el kell kezdeni.

Hajra!


Cím: Re: PHP
Írta: spier - 2009. 10. 20. - 20:44:27
A mondo vagyok, hogyha komolyan akarsz PHPvel foglalkozni, akkor nezz utana az objektum orientalt paradigmanak es az OO PHPnak. Aztan gondold ujra az aprohirdeteses oldalt. Elemezd, gondolokodj, hogy lenne helyesebb, jobban mukodo. Nezz utana, mi az UML osztaly diagram. Probald meg elkesziteni a sajat diagrammod.
Nem kis munka es sok idot vesz igenybe. Nem is lehet egyszerre megtanulni, de valahol el kell kezdeni.

Hajra!

Ráugrok a témára köszönöm. közben készen lettem a kis projektemmel, be is nyomatnám, megköszönöm ha rávetnél egy pillantást, hogy szerinted... Persze lehet variálni gondolom össze-vissza, de már annak is örülök, hogy ennyi sikeredett. :)

Kód:
<?php
$_REQUEST
['id']=10;
include(
"include/header.inc.php");
include(
"include/picresize.inc.php");

$db DOpen();
?>


<?php
 
$sql_stat DMakeQueryString("select * from hasznaltautok WHERE aktiv='1' AND id='" $_GET['id'] . "'");
 $sql_ered DQuery($_REQUEST[BTDatabase],$sql_stat,$db);
 if (DRowNumber($sql_ered)) {
 while ($re DGetRow($sql_ered)) {
 
  $id $re[0]; $aktiv $re[1]; $kiemelt $re[2]; $ar $re[3]; $evjarat $re[4]; $tipus $re[5]; $muszaki $re[6]; $uzemanyag $re[7];
$motor $re[8]; $teljesitmeny $re[9]; $futott $re[10]; $allapot $re[11]; $kivitel $re[12]; $ajtok $re[13]; $szin $re[14];
$onsuly $re[15]; $osszsuly $re[16]; $szallithato $re[17]; $csomagtarto $re[18]; $felszereltseg $re[19]; $leiras $re[20]; $kep $re[21];
?>


<div id="hirdetesbox">
  <div class="hirdetesboxfejlec"></div>
     <div class="hasznaltauto-text">
      <div><span class="haszn-kiemel"><?php echo $tipus;?></span></div><br />

   <div style="float:left;">
    <div style="width:170px; line-height:24px; float:left;">Vételár:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $ar;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Évjárat:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $evjarat;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Műszaki vizsga érvényes:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $muszaki;?></strong></div>
<div class="clear"></div>

    <div style="width:170px; line-height:24px; float:left;">Futott km:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $futott;?></strong></div>
<div class="clear"></div>

    <div style="width:170px; line-height:24px; float:left;">Kivitel:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $kivitel;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Állapot:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $allapot;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Üzemanyag:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $uzemanyag;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Motor:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $motor;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Teljesítmény:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $teljesitmeny;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Szállítható szem. száma:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $szallithato;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Ajtók száma:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $ajtok;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Szín:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $szin;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Önsúly:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $onsuly;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Összsúly:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $osszsuly;?></strong></div>
<div class="clear"></div>

<div style="width:170px; line-height:24px; float:left;">Csomagtartó:</div>
<div style="width:auto; line-height:24px; float:left;"><strong><?php echo $csomagtarto;?></strong></div>
<div class="clear"></div>
</div>

<div style="width:auto; float:right;">
<?php
 $pic $sql_ered;
 if ($pic != '') { 

  $datadir "hasznaltautok/";
$pic_eler $datadir.$kep;
$maxx 200;
$maxy 200;

$pic_size = array();
$pic_size pic_resize($maxx$maxy$pic_eler);
}
?>


<a href="<?php echo $datadir.$kep;?>" rel="lightbox">
<img src="<?php echo $pic_eler;?>" width="<?php echo $pic_size[0];?>" height="<?php echo $pic_size[1];?>" alt="<?php echo $tipus;?>" title="<?php echo $tipus;?>" border="1" /></a>
<br /><br />
<img src="images/print.gif" width="16" height="16" border="0">&nbsp;<a href="javascript:print()">Adatlap nyomtatása</a><br />
<img src="images/map.gif" width="16" height="16" border="0">&nbsp;<a href="kapcsolat.php">Térkép</a><br />
<img src="images/mail.gif" width="16" height="16" border="0">&nbsp;<a href="#" onclick="Popup=window.open('ajanlo.php','Popup','width=450,height=505,left=50,top=50'); return false;">Adatlap elküldése az ismerősömnek</a>
</div>
  <div class="clear"></div>

<div style="border: none; width:100%; margin-top:10px; margin-bottom:10px; border-bottom: 1px solid; color:#d3d4d6; height: 1px;"></div>
<div><span class="haszn-kiemel">FELSZERELTSÉG: </span><?php echo $felszereltseg;?></div>

<div style="border: none; width:100%; margin-top:10px; margin-bottom:10px; border-bottom: 1px solid; color:#d3d4d6; height: 1px;"></div>
<div><span class="haszn-kiemel">LEÍRÁS: </span><?php echo $leiras;?></div>


<div class="clear"></div>
<br /><br />
<img src="images/back.gif" width="16" height="16" border="0"><a href="javascript:history.back(0);">Vissza a listához</a>
</div>

<div>&nbsp;</div>
     </div>

<?php } } else { ?>

<?php
 
$sql_stat DMakeQueryString("SELECT * FROM hasznaltautok WHERE aktiv='1' ORDER BY id DESC");
 $sql_ered DQuery($_REQUEST[BTDatabase],$sql_stat,$db);
 if (DRowNumber($sql_ered)) {
 while ($re DGetRow($sql_ered)) {

$id $re[0]; $aktiv $re[1]; $kiemelt $re[2]; $ar $re[3]; $evjarat $re[4]; $tipus $re[5]; $uzemanyag $re[7];
$motor $re[8]; $felszereltseg $re[19]; $leiras $re[20]; $kep $re[21];
?>


<div id="hirdetesbox">
  <div class="hasznaltauto-text">
     <div class="hasznaltauto-1"><a href="hasznaltautok.php?id=<?php echo $id;?>"><?php echo $tipus;?></a></div>
   <div class="hasznaltauto-2"><?php echo $motor;?></div>
   <div class="hasznaltauto-3"><?php echo $uzemanyag;?></div>
   <div class="hasznaltauto-4"><?php echo $evjarat;?></div>
   <div class="hasznaltauto-5"><?php echo $ar;?></div>
      <div class='clear'></div>
   </div>

  <div class="hasznaltauto-text">
     <div class="hasznaltauto-6">

<?php
 $pic $sql_ered;