Jump to content
php.lv forumi

Narix

Reģistrētie lietotāji
  • Posts

    39
  • Joined

  • Last visited

Posts posted by Narix

  1. Sveicināti.

    Interesē kādas varētu būt aptuvenās izmaksas iekšējai uzņēmuma uzskaites sistēmai?

    Sistēmas prasības:

    • 3 lietotāju līmeņi;
    • 5 darba lapas (1.līmenis - 2 darbas lapas, 2. līmenis - 1 darba lapa, 3. līmenis - admin - pieeja visam)
    • Darba lapas paredzētas p[asūtījuma datu ievadei un algu rēķināšanai, sasaiste notiek starp 3 darba lapām (elementāras matemātiskas darbības);
    • Tas viss programmēts ar PHP, ajax, jquery etc. - darbojas caur WEBu.

    Principa viss diezgan vienkārši.

     

    Vairāk interesē viedoklis no pieredzējušiem programmētājiem - cik jūs prasītu par tādu sistēmu?

  2. Jautājums gluži vienkāršs - kā dabūt datus izmantojot mysql_fetch.. kko no šāda pieprasījuma?

    SELECT name_lv, menu_lv, alias_lv
    FROM
    stuff, stuff_to_menu
    WHERE stuff.alias_lv= stuff_to_menu.alias_darbinieks_lv
    AND alias_menu_lv='neiromuskulara-aktivizesana'
    

    stuff - tabula ar darbiniekiem, lauks alias_lv darbinieka unikālais identifikators

    stuff to menu - tabulā glabājas piesaistes pie izvēlnes elementiem.

    Respektīvi, šajā pieprasījumā tiek atgriezti visi darbinieku, kuri pieder pie izvēlnes "neiromuskulara-aktivizesana".

     

    Šāds risinājums nedarbojās.

    while($sn = mysql_fetch_assoc($stuff)) {
    
    
    $arsta_vards=$sn ['name_lv'];
    }

     

    Lūdzu palīdzību.

     

    EDIT. Tomēr darbojās.Traucēja viens if tālākajā kodā kurš apstādināja izvadi.

     

    Anyway, ir varbūt kāds racionālāks risinājums šim visam?

  3. Nu ar esošo .htaccess es piedāvātu primitīvā variantā kaut ko šādu:

     

    $route = '/';
    if(isset($_GET['q'])) {$route = $_GET['q'];}
    $route = explode('/', $route . '////');

     

    Tālāk tu vari $_GET vietā čekot $route[0], $route[1], $route[2]...

     

    Bet vispār jau droši vien "Tiek apstrādāts ar funkciju lai dabūtu arā mainīgos" nedarbojas tā, kā esi iecerējis. var_dump($_GET) gan jau var ieviest skaidrību, kas tur kā tiek pārrakstīts.

     

    Nu līdzīgā veidā man arī tiek dabūt tie mainīgie ārā no url'a.

    Bet kā tālāk inklūdot kad atveras jauna lapa?

    Riktīgi grūti izstāstīt vienkāršu domu :)

  4. Sākšu ar to, ka izmantoju šādu htaccess:

    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)?$ index.php?q=$1 [L]

     

    Tiek apstrādāts ar funkciju lai dabūtu arā mainīgos.

     

    Tātad problēma - no URLa tiek atlasīts attiecīgais Menu ieraksts un pēc tā no DB tiek atlasīts izvēlnes elementa skats.

    Brīdī kad tiek atlasīt skats izpildās apmēram šāds kods

    if ( $var2 && $subskats =="jaunumi" || $subsideskats =="jaunumi" ) { include ('./inc/news.php');}

     

    Tālāk jau iekš news.php tiek izvilkti ārā jaunumi attiecīgajā sadaļā.

     

    Problēma ir tur, ka nevaru izveidot readmore funkciju. Atlasot datus caur GET, bez htaccess man viss strādā un esmu veidojis parastu readmore - nekā sarežģita tur nav, bet kā ir darbojoties ar htaccess?

     

    Man tagad url veidojās kā lapa.lv//lv/jaunumi/ - te izvadās ievadraksti:

    Un uzspiežot attiecōigajam rakstam uz readmore struktūrai jābūt lapa.lv//lv/jaunumi/ testa-raksts - un šeit jau izvadās pilns raksts.

     

    BEZ .htacess tas izskatās apmēram šādi:

    $eznrez = mysql_query("SELECT * FROM ".$mysql_prefikss."_zinas WHERE mid='$tid' ORDER by id DESC") or die("442324");

    while($eznail = mysql_fetch_array($eznrez)) {

    $zinas_id = $eznail['id'];

    $zinas = $eznail['zinas'.$valind ];

    if(strlen($zinas) >1500 && $_GET['r'] !== $zinas_id) {

    mb_internal_encoding("UTF-8");

    $zinas = mb_substr(trim(($zinas)), 0, 1500)."...<br /><br /> <a href=\"?l=$valid&s=$tid&r=$zinas_id\">$readmore »</a>";

    }

    else if(strlen($zinas) > 1500 && $_GET['r'] == $zinas_id) {

    $zinas = $zinas."<br /><a href=\"?l=$valid&s=$tid\">« $back </a>";

    }

    echo $zinas;

    }

     

    Kā šito piedabūt strādāt ar htacess?

  5. Tātad .htaccess kods

    Options +FollowSymlinks
    RewriteEngine on
    RewriteBase /
    RewriteRule ^(lv|ru|es|fr|pt)/$ ?l=$1 [nc]
    RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?$1=$2
    RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ index.php?$1=$2
    
    RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?$1=$2&$3
    RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ index.php?$1=$2&$3
    
    RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?$1=$2&$3=$s4
    RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ index.php?$1=$2&$3=$s4
    

     

    Url linku veidoju no datubāzes atlasot tur ierakstītos alias:

    echo "<a href ='/".$lang."/".$alias."/".$subalias."'>";
    echo stripslashes(htmlspecialchars_decode($ms['name'.$dbval])); }
    echo "</a>\n";
    

     

    Ideja tam visam tādā, ka links index.php?l=lv&sadala=1&raksts=4 tiek pārveidots par /lv/publikacija/par-mums/

     

    Šitik tālu esmu ticis. Apstājos pie tā ka ja nebūtu izmantots mod_rewrite tad datus no datubāzes atlasītu izmantojot $_GET['l'] , $_GET['sadala'] un pēc atlasītā id veiktu selectus no datubāzes.

     

    Kā veikt selectus gadījumā ar mod_rewrite? Respektīvi, kā nolasīt mainīgos lai pēc tam dabūtu datus ārā no DB. Funkcijas or SMTH?

    Tiešām nezinu, tapēc jautāju un lūdzu nelamājaties ka tēma ir 100x apspriesta. Paldies.

     

    vai maz ir iespējams atlasīt tos datus pēc ID? nedaudz apjucis ar š visu esmu...

  6. Lieta sekojoša, ir atlasīti dati no datubāzes un ielikti masīvā:

    $query = "SELECT * FROM kurss WHERE valuta='GBP' AND date BETWEEN '".$newdate."' AND '".$date."' ";
    $resultID = mysql_query($query) or die("Data not found.");
    $data = array();
    while ($row = mysql_fetch_array($resultID)) {
    array_push($data, $row["kurss"]);
    }
    

     

    Ārā es dabūju šādus datus:

    Array ( [0] => 0.83700000
    [1] => 0.83900000
    [2] => 0.83900000
    [3] => 0.84600000
    [4] => 0.84600000
    [5] => 0.84600000
    [6] => 0.84600000
    [7] => 0.84400000
    [8] => 0.83900000
    [9] => 0.83900000
    [10] => 0.83100000
    [11] => 0.83100000
    [12] => 0.83100000
    [13] => 0.82700000
    [14] => 0.82900000
    [15] => 0.82800000 )
    

     

    Problēma ir tur, ka vajag no no 0-tā elementa atņemt pirmo, no 1-mā atņemt otro, no 2-trā trešo u.t.t.. Un šo iegūto satrpību starp katru no elementiem atkal ielikt masīvā ar iegūtajām elementu starpību vērtībām.

     

    Tātad būtu nepieciešams

    Array ( [0] => -0.002
    [1] => 0
    [2] => -0.007
    [3] =>utt
    )
    

     

    Kā lai kaut ko tādu vispār izdara?

  7. Lieta sekojoša, jautājums ir par joomla un google translate, varb;ut kāds ir saskāries, tātad:

    Tiek ģenerēta tabula - php, mysql, n'shit... Izvadot viss rādās kā vajag.

    Problēma - izmantojot gtranslate moduli kodā (htmlā) tiek ģenerēts tags </ Tr>, normālā </tr> vietā.

     

    Atkal, ja paņem gatavu tabulu, kura netiek ģenerēta izmantojot php, bet vienkāršu htmla tabulu </tr> tags tiek attēlots normālā veidā.

     

    Kur varētu būt problēma? Nu mistika, vienk netieku galā.

     

    Sintakse ģenerētajā tabulā ir kārtībā.

     

    <td align="center"></td>
    <td align="center" width="40">ZAR</td>
     <td align="center" width="50">0,0686</td>
    <td align="right" width="65"><span style="color:#ab302a"><img src="images/stories/uz_leju.png"> 0,0005</span></td>
    </ TR>
    </table></td>
    

  8. Jā, jo pēc būtības $_SERVER['SERVER_NAME'] izvada tavu linku.

    Šausmīgais darbs tādā veidā. Ir varbūt citi risinājumi?

     

    Vēl jautājums -

    RewriteRule ^([^_]*)\/$ /index.php?l=$1 [QSA]
    

     

    Izmantojot šo netiek ielādēti css un js faili, bet a atkla izmantojot šo -

    RewriteRule ^([^_]*)\.html$ /index.php?l=$1 [QSA]
    

    css un js tiek ielādēti korekti. Kur atšķirība? Kapēc tā? Tam .html aliasam tik liela nozīme?

  9. Es izmantoju:

    http://". $_SERVER['SERVER_NAME']."/js/blabla.js"
    

     

    Ja es saprotu pareizi tad tas it jākabina visur kodā ja izmanto mod_rewrite?

    Nu piemēram ja man bija kodā:

    <a href=''><img id='slide-img-1' src='./images/slide_1.jpg' class='slide' alt='' /></a>
    

    Tad tagad ir jāraksta

    $base="http://". $_SERVER['SERVER_NAME'].";
    <a href=''><img id='slide-img-1' src='<php $base; ?>/images/slide_1.jpg' class='slide' alt='' /></a>
    

     

    ????

  10. Paldies.

    Un jautājums kā pareizi php failā inklūdot css un js lai izmantojot htaccess tie tiktu atrasti???

    Izmantojot $_SERVER['HTTP_HOST'] ? Jeb ir kāds racionālāks veids?

     

    Savādāk uztaisot simple nosacījumu lai tiek pārrakstīta valoda, piem, http://www.domain.com/lv/ - tiek pazaudētas visas bildes, css un js...

  11. Zinu, ka 100x apspriests.

    Problēma nav nekāda dižā, runa iet par htaccess, līdz šim esmu darbojies ar htaccess diezgan primitīvā līmenī pārrakstot statiskas lapas.

    Šoreiz ir tā, ka vajag pārrakstīt dinamiskus URL.

    Anyway url ir šādi:

    http://www.domain.com/?l=lv&s=home
    vai
    http://www.domain.com/?l=ru&s=prepare&c=2
    

    Mainīgie ir visi trīs, kuri tiek iegūti, kā jau noprotat izmantojot $_GET.

     

    Ideju ko vēlo iegūt cerams arī sapratāt, smth like:

    http://www.domain.com/ru/prepare/2/
    

     

    Varbūt kādam ir aizķēries kāds labs piemērs tieši šai situācijai? :)

     

    Paldies.

  12.  

    Tas nav labs attaisnojums. Labāk rakstīt uzreiz, nekā aizmirst vēlāk...

     

    Anyway, kād ieteikums kā droši selectot datus pēc id? izņemot mysql_real_escape_string un to kā pārbauda vai id ir cipars

  13. Ieraugot šito sašķebina -

    $id=$_GET['p'];
    $produkts = mysql_query("SELECT * FROM  products where id=".$id." ")
    

     

    Neesi dzirdējis par tādām SQL injekcijām?

     

    ir ir dzirdēts, šis kods nav domāts publicēšanai, zinu ka nav labais stils tā rakstīt, ka jādara viss uzreiz u.t.t, bet pirms publicēšanas kods tiks pārrakstīts no security viedokļa.

  14. Nedaudz atkāpšos - kādi komentāri par šādu risinājumu

    $refering=parse_url($_SERVER['HTTP_REFERER']);
    if($refering['host']==$_SERVER['HTTP_HOST']){
    izvada datus ja palaists no man vajadziga url
    } else {
    neko neizvada
    }
    

     

    BTW, šis strādā. Cik drošs šis variants?

  15. btw - kas ir domaats ar modaalais logs? Ja tas ir popups tad dalja no taa kas tur mineets iisti nestraadaas.

     

    Modālais logs ir domāts šāds http://www.ericmmart...plemodal-demos/

     

    Visas iespējamās vadlīnijas kas vien bija mūsu spēkos ir sarakstītas iepriekš.Nav jau īsti saprotams,kas no tā visa tev neder un kāpēc to nav iespējams sakombinēt.Respektīvi - fails ārpus web direktorijas (nepiekļūs neviens),headera pārbaude vai requests nāk no javascript + nočekot vai tas ir valīds json (ja vajag) + vai ir POST(ja vajag) un attiecīgi include ja viss ir ok. + piemudrīt kaut ko ar tokeniem ja gribas ūber variantu.Diez vai kaut ko inovatīvu vairs kāds varēs ieteikt,jo sāk izskatīties ka šis ir no sērijas "Gribu parādīt bildi ko neviens nevar saglabāt"

     

    Nav post, darbojas uz get, neko ūber krutu nevajag, vajag tikai to ko esmu uzrakstījis iepriekš.

     

    Neder un nedarbojas tapēc ka description.php fails ir atsevišķs no visiem pārējiem - tajā tiek izpildīta atsevišķa konekcijas datubāzei, lietots savs .css, vienīgais, kas tam tiek padots ir GET mainīgie. Fails atrodas vienā direktorijā ar index.php un tiek izmantots tikai lai ielādētu info par konkētu produktu.

     

     

    <script type="text/javascript">
       	$(function(){
               	$("a.basic").click(function(){
                       	var url = $(this).attr("href");
                       	$("#basic").load(url);
                       	$("#basic").show();
                       	return false;
               	});
       	});
    </script>
    

     

    Augstāk redzamais javascript tiek izmantots lai padotu datus failam description.php no linka.

     

    Links:

    <a class='basic' href=\"description.php?l=$valid&c=".$prod['cat_id']."&p=".$prod['id']."\"><img src='".$prod['thumb']."' alt='' /></a>

     

    Tālāk jau pašā description.php failā darbojās

    if(isset($_GET['p']) && isset($_GET['c']) && isset($_GET['l']) ) {
    $id=$_GET['p'];
    $produkts = mysql_query("SELECT * FROM  products where id=".$id." ") or die("442324");
    ut.t.t..
    

     

    Nezinu kā lai vēl paskaidro...

  16. Pag... tu izņem ārā failu no publiskās direktorijas un tagad sūdzies par to, ka tas vairs nav publiski pieejams?

    Vispār jau loģiski. Sorry.

     

    Tur jau tā burvība, ka nevar izpildīt failus, kas ir ārpus tās mapes :) Tad izdomā, vai nu inklūdo index failā, vai liec tajā pašā publiskajā mapē.

     

    Tas, lapā ko veidoju noderēs, bet ne konkrētajam gadījumam.

     

    Tas ka failu iznjems no publiskaas direktorijas shoreiz, diemzheel, neliidzees. Aka - failu vajag izpildiit tikai tad, kad vinjsh ir izsaukts caur JS.

     

    Skaties ko rakstiiju augstaak...

     

    Tā kā ar JS esmu galīgi uz Jūs, tad iespējams kādi pieturpunkti aka vadlīnijas, kurām varētu pieķerties lai atrisinātu savu problēmu? Paldies.

  17. Par inklūdu sapratu.

    Nesapratu kādā veidā nodrošināt faila izpildi ārpus public direktorijas?

    Sodienj izmēģināju, inklūdot iznāk, bet kad mēģina izpildīt failu ārpus public dierektorijas tad nekas nenotiek.

     

    Respektīvi uz servera mape var/www/domens.lv

     

    Domens.lv ir publiska direktorij, izveidojot apakšmapi var/www/include/ varu inklūdot failus - viss strādā, bet ja mēģinu pakāpties augšā un palaist kāduy, piem;eram test.php failu - nekas nestrādā.

     

    Kā rīkoties?

  18. Tur jau tā lieta, ka failā dati.php nekas netiek inklūdots, tajā tiek savākti dati caur get un tālāk izpildīti pieprasījumi datubāzē, tas fails nav sasaistīts ne ar vienu citu. Vienkārši failā katalogs.php tiek norādīts links dati.php.

     

    echo " <div class='thumb'>
    <a class='basic' href=\"description.php?l=$valid&c=".$prod['cat_id']."&p=".$prod['id']."\">
    <img src='".$prod['thumb']."' alt='' />
    </a>";
    

     

    basic klase izsauc modal logu, kurāielādē saturu no description.php.

    description.php "dzīvo savu dzīvi".

    Tas ko nemāku izdarīt, ir neļaut pa taisno atvērt

    <a href="description.php?l=lv&c=2&p=3">link</a>

     

    Respektīvi, uzspiežot uz šādu linku user ir jāpasūta @#$"@R, ja vien šī saite netiek atvērta cau modālo logu.

     

     

    Visam kam nav jaabuut publiski pieejamam (pa tiesho - vai nee) nav jaatrodas publiski pieejamaa mapee. (punkts)

     

    Kaa to realizeet testa noluukos uz xampp???

  19. Sveiki.

    Lieta sekojoša, nevaru izlauzīt galvu elementārai lietai.

    Pieņemsim ka struktūra ir šāda:

     

    Ir index.php, kurā tie inklūdots fails katalogs.php, savukārt no kataloga tiek izsaukts cits, pavisam tukšs dati.php fails kurš savāc mainīgos no katalogs.php izmantojot GET. Šis te tukšais fails dati.php tiek atvērts modālajā logā.

     

    Problēma ir sekojoša - kā lai novērš faila izpildīšanu pa tiešo, respektīvi, neļaut lietotājam atvērt failu dati.php?sadala=1&l=lv pa tiešo, bet atļaut atvērt saiti izmantojot modālo logu.

×
×
  • Create New...