Jump to content
php.lv forumi

eT`

Reģistrētie lietotāji
  • Posts

    361
  • Joined

  • Last visited

Everything posted by eT`

  1. eT`

    PHP OOP

    Sāku lēnām mācīties OOP. Noskatījos visus video kas bija killerphp OOP sadaļā. Tagad mēģinu kaut ko lēnām izveidot. Pagaidām man ir šādi: class.lib fails - http://paste.php.lv/79374e3c6b106d93c3a825c9ade541ea?lang=php index.php - http://paste.php.lv/ba32a3e56d12fd530a7fb2439173aa9f?lang=php un templates/default/index.php man izdevās izsaukt $site["site_title"] tālāk man ir jautājums par klašu sadalīšanu. Kā vislabāk sadalīt tās pa failiem. Atšķīrība no moduļa uz kuru tās attiecas ( piem. visas klases kas darbojas ar lietotāju profiliem ir classUser.lib utt. )? Tālāk mēģināšu templates index failā palaist kkādu MVC principu ( lai includo attiecīgo lapu no attiecīgā folder atkarībā no $_SERVER['REQUEST_URI']; ) Vai esmu uz pareizā ceļa? Ja nē, ko es daru nepreizi? Paldies!
  2. kvērijam priekšā vajag USE tava_datubāze GO [insert_query_here] edit: vair arī vienkārši: $db1 = mysql_connect('localhost' , 'root', 'pass'); $db2 = mysql_connect('localhost' , 'root', 'pass', true); $c1 = mysql_select_db('db1',$db1); $c2 = mysql_select_db('db2',$db2); $a = mysql_query("SELECT id FROM table ORDER BY id DESC",$c1); while($d = mysql_fetch_array($a)) { $b = mysql_query("SELECT id FROM table2 WHERE cat=".$d[0]." ORDER BY id DESC LIMIT 5",$c2); while($c = mysql_fetch_array($b)) { echo $c[0];//izvada ID } }
  3. eT`

    date interval

    balstoties uz daGrevis funkciju uztaisīju funkciju, kas dara visu to ko man vajag. šo ir diezgan viegli pielabot, ja vajag lielākus intervālus par dienām. <?php function date_diff($date_1, $date_2) { $date_1 = is_int($date_1) ? $date_1 : strtotime($date_1); $date_2 = is_int($date_2) ? $date_2 : strtotime($date_2); if($date_1 === $date_2) $interval = 0; else if ($date_1 > $date_2) $interval = $date_1 - $date_2; else $interval = $date_2 - $date_1; $laika_sk = array(86400,3600,60); $apz = array('d','st','min'); for($i=0;$i<3;$i++) { $main = floor($interval/($laika_sk[$i])); if($main > 0) { $interval = $interval - ($main * $laika_sk[$i]); $laiks .= $main.$apz[$i].' '; } } return $laiks; } ?>
  4. eT`

    date interval

    man arī DB glabājas sākuma un beigu datums. es izvelku šādi WHERE end_date>NOW() pamēģināšu ar timestamp. datediff neiet, to jau #1 rakstīju
  5. eT`

    date interval

    Kā lai aprēķina divu datumu intervālu formātā - x dienas y stundas z minūtes 1. date("Y-m-d H:i:s"); 2. dati no DB tādā pašā formātā NANO hostings parāda ka datediff funkciju nedrīkst ( viņu PHP versija - 5.2.1.7, bet vajag laikam vismaz 5.3.0 ) $tagad = new DateTime(date("Y-m-d H:i:s")); $beigsies = new DateTime($carr["end_date"]); $interval = $tagad->diff($beigsies); echo $interval->format('%dd %hst %imin'); man nesanāca arī, kad abus pārvērtu strtotime ( neattēlo pareizi ) $s = strtotime(date("Y-m-d H:i:s")); $b = strtotime($carr["end_date"]); $interval = $b-$s; $laiks = date("j H i",$interval);
  6. mby nostrādā. netestēju. <script type="text/javascript" language="javascript"> $('#register').submit(function() { var first = document.getElementbyId('firstname').value; if(first == '') { alert('Ievadi vārdu!'); return false; } else { $.ajax({ type: "POST", url: "register_process.php", data: ({first : first}), success: function(msg) { alert("Reģistrācijas veiksmīga!"); } }); } }); </script>
  7. eT`

    Aptauja

    Jauns jautājums: Man ir login forma, kuru validēju ar AJAX Gribētos, lai logins notiek bez lapas pārlādes. success gadījumā laikam vajadzētu ielikt kaut ko, kas to DIVu pārlādētu. pašlaik ir šādi: <script type="text/javascript" language="javascript"> function login() { var user = document.getElementById('email').value; var password = document.getElementById('password').value; $.ajax({ type: "POST", url: "<?=HOMEURL?>/login", data: ({mail : user, pass : password }), success: function(data) { //šeit vajadzētu ielikt, lai pārlādējas #login bloks } }); } </script> <div id="login"> <?php if(empty($_SESSION["logged"])) { ?> <table width="250px"> <tr><td width="50px">E-Pasts</td><td width="200px"><input name="mail" type="text" id="email" /></td></tr> <tr><td width="50px">Parole</td><td width="200px"><input name="pass" type="password" id="password" /></td></tr> <tr><td></td><td><input type="button" value="Ielogoties" onclick="login();" /> <a href="<?=HOMEURL?>/register">Reģistrēties</a></td></tr> </table> <?php } else { echo 'Sveiks,<br /> <a href="'.HOMEURL.'/profile">Mans profils</a><br /> <a href="'.HOMEURL.'/logout">Iziet</a>'; } ?> </div>
  8. eT`

    Aptauja

    Cita problēma. Šis kods uz IE9 strādā, bet uz gChrome nē o.O <script type="text/javascript" language="JavaScript"> function getCats(id) { if(id!=0) { $('#kat').load('/getcat/'+id); } } </script> <select name="topcat"> <?php $top = query("SELECT rb_topcat_id FROM rb_cat WHERE tips LIKE '%I%' GROUP BY rb_topcat_id"); while($tarr = fetchArray($top)) { $q = query("SELECT * FROM rb_topcat WHERE id=".$tarr[0]); while($arr = fetchArray($q)) { echo '<option onclick="getCats('.$arr["id"].')">'.$arr["name"].'</option>'; } } ?> </select> <div id="kat"></div> mēģināju šādi, bet tas nestrādā nevienā pārlūkā <select name="topcat" onchange="getCats(this.value)"> <?php $top = query("SELECT rb_topcat_id FROM rb_cat WHERE tips LIKE '%I%' GROUP BY rb_topcat_id"); while($tarr = fetchArray($top)) { $q = query("SELECT * FROM rb_topcat WHERE id=".$tarr[0]); while($arr = fetchArray($q)) { echo '<option value="'.$arr["id"].'">'.$arr["name"].'</option>'; } } ?> </select>
  9. eT`

    Aptauja

    palasīju par jQuery funkcijām un atradu šo load() <script language="javascript" type="text/javascript"> function vote(id) { $('#poll_content').fadeOut('slow').load('<?=HOMEURL?>/vote/'+id).fadeIn('slow'); } </script>
  10. eT`

    Aptauja

    Gribētos uztaisīt aptauju lapā bez refresha un submit pogas. Darbotos šādi: <input type="radio" name="a" value="1" onclick="funkcija()"> teksts Kāda apmēram varētu būt funkcija, kas nepārlādējot lapu nosūtītu datus uz citu failu ( kur tie ievietotos datubāzē ), un tad pārlādētos tikai tas bloks, kur ir aptauja ( <div> </div> )
  11. Meklēju cilvēku, kas izstrādātu Joomlas 1.6 templeitu no PSD Sīkāk uz e-pastu toms.tilgalis[at]inbox.lv
  12. it kā logina formu sataisīju šādi: <script language="javascript"> $(document).ready(function() { $("#login_form").submit(function() { $.post("login",{ user:$('#user').val(),pass:$('#pass').val(),rand:Math.random() } ,function(data) { document.location='home'; }); return false; }); }); </script> bet vai tā ir forši darīt?
  13. Tātad mans mod_rewrite bojā manu jQuery login formu mani pārmet uz lapu, kas izpildās no gadījumā. ar alert pārbaudīju, kādi ir dati, ko atgriež. data satur veselas lapas DOM. index.php <script language="javascript"> $(document).ready(function() { $("#login_form").submit(function() { $.post("../pages/login.php",{ user:$('#user').val(),pass:$('#pass').val(),rand:Math.random() } ,function(data) { if(data=='yes') { document.location='video'; } else { alert(data); document.location='pokers'; } }); return false; }); $("#pass").blur(function() { $("#login_form").trigger('submit'); }); }); </script> <?php $p=explode('/',$_SERVER['REQUEST_URI']); if ($p[1]=='' || $p[1] == 'home') $p[1]='index'; if (file_exists($m = 'pages/'.$p[1].'.php')) { include('pages/'.$p[1].'.php'); } else { echo '<h2>Lapa nav atrasta!</h2>'; } ?> <form method="post" id="login_form"> </form> un login.php <?php if(isset($_POST["user"]) && $_POST["user"] != '' && isset($_POST["pass"]) && $_POST["pass"] != '') { $user = escape($_POST["user"]); $pass = escape($_POST["pass"]); $pass = md5(sha1($pass)); $q = query("SELECT * FROM users WHERE username='".$user."' AND pass='".$pass."'"); if(mysql_num_rows($q) > 0) { echo 'yes'; $_SESSION["logged"] = $user; } else { echo 'no'; } } ?> un mans .htaccess Options +FollowSymlinks RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !^(.+)\.(css|js|jpg|gif|png|ico|pdf)$ RewriteRule ^(.*) index.php [QSA,L]
  14. eT`

    Username check

    mod_rewrite šo nevarētu ietekmēt? pārliku to JS uz index <head> nomainīju f-ju $(document).ready(function () { $("#username").blur(function () { $("#msgbox").removeClass().text('Pārbauda...').fadeIn("slow"); $.post("pages/check.php?action=user", { user: $(this).val() }, function (data) { if (data == 'no') { $("#msgbox").fadeTo(200, 0.1, function () { $(this).html('Šāds lietotājvārds jau ir reģistrēts').addClass('error').fadeTo(900, 1); }); } else { $("#msgbox").fadeTo(200, 0.1, function () { alert(data) $(this).html('Lietotājvārds ir pieejams').addClass('ok').fadeTo(900, 1); }); } }); }); }); mans .htaccess Options +FollowSymlinks RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !^(.+)\.(css|js|jpg|gif|png|ico)$ RewriteRule ^(.*) index.php [QSA,L] un index $p=explode('/',$_SERVER['REQUEST_URI']); if ($p[1]=='' || $p[1] == 'home') $p[1]='index'; if (file_exists($m = 'pages/'.$p[1].'.php')) { ob_start(); require $m; $content = ob_get_contents(); ob_end_clean(); } else { $content = '<h2>Lapa nav atrasta!</h2>'; }
  15. eT`

    Username check

    arī ar šādu neiet case 'user': $user_name=mysql_real_escape_string($_POST['user']); $uq = mysql_query("SELECT id FROM users WHERE username='".$user_name."'"); if (mysql_num_rows($uq)>0) { echo "no"; } else { echo "yes"; } break; edit: mysql_real_escape_string() vēl nebiju pielicis, jo tikai testēju šo f-ju. edit2: problēma laikam ir šijā vietā if (data == 'no') jo pieliekot else vietā else if kurš pārbauda vērtību yes, Pārbauda nepazūd [ nesakrīt ne viens no ifiem ]
  16. eT`

    Username check

    Nezinu, kas par iemeslu kapēc nestrādā username check Vislaik atgriež, ka lietotājvārds ir pieejams, lai gan mēģināju ierakstīt tādu, kas jau eksistē. index.php <script type="text/javascript" src="http://xxx.id.lv/js/jquery-1.5.1.min.js"></script> register.php <script type="text/javascript" language="javascript"> $(document).ready(function () { $("#username").blur(function () { $("#msgbox").removeClass().text('Pārbauda...').fadeIn("slow"); $.post("check.php?action=user", { user: $(this).val() }, function (data) { if (data == 'no') { $("#msgbox").fadeTo(200, 0.1, function () { $(this).html('Šāds lietotājvārds jau ir reģistrēts').addClass('error').fadeTo(900, 1); }); } else { $("#msgbox").fadeTo(200, 0.1, function () { $(this).html('Lietotājvārds ir pieejams').addClass('ok').fadeTo(900, 1); }); } }); }); }); </script> <input type="text" name="user" id="username" class="input" /> <span id="msgbox" style="display:none"></span> check.php <?php switch($_GET["action"]) { case 'user': $user_name=$_POST['user']; $uq = mysql_query("SELECT COUNT(*) FROM users WHERE username='".$user_name."'"); if (mysql_result($uq)>0) { echo "no"; } else { echo "yes"; } break; } ?>
  17. eT`

    cURL

    Hmm... tad laikam nav nekāda iespēja tikt garām tai captchai. un XML atbalsts viņiem arī nav [ šodien jau zvanīju ]
  18. eT`

    cURL

    Nē, vienkārši includoju captchas bildi, un tad uztaisu inputu, kur ievadīt redzamo kodu, submitot formu, kas caur cURl padod tālāk user,pw un captchas kodu.
  19. eT`

    cURL

    Nu jā. Izmet, ka nepareizs kods. Captchs ir 0-9, A-Z [ capital letters only ] un tātad 36 elementi tur uz katras bildes ir 4. Pēc variāciju formulas [ ja pareizi atceros ] sanāk 36!/(36-4)! * 4! baigi lielais cipars. biju domājis, ka var paņemt kaptču ielikt savā test.php failā caur <img src="" /> un tad logoties ar cURl, bet nevar.
  20. eT`

    cURL

    Dabūju vienu uzdevumu. Uzdevuma izpildīšanai bez cURL nevaru laikam. Apraksts: vairumtirdzniecības bāze ar preču kataloga sarakstu users un pass man ir. tur pie ielogošanās ir captcha. mēģināju captchu palaist uz lokālā skripta. http://paste.php.lv/afad0f41a13df9ba917d70d3a3baf81a?lang=php bet nesanāk. headeri, ko saņemu palaižot skriptu: HTTP/1.1 100 Continue HTTP/1.1 302 Found Date: Wed, 16 Mar 2011 15:31:25 GMT Server: Apache/2.0.52 (CentOS) X-Powered-By: PHP/5.2.9 Set-Cookie: PHPSESSID=e61aa8f6d3634a3674b4f44d05941801; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache [b]Location: index.php?err=-2[/b] Content-Length: 0 Connection: close Content-Type: text/html HTTP/1.1 200 OK Date: Wed, 16 Mar 2011 15:31:25 GMT Server: Apache/2.0.52 (CentOS) X-Powered-By: PHP/5.2.9 Set-Cookie: PHPSESSID=7a6e12f8746b72513c3ccf0b5b6391af; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Length: 3163 Connection: close Content-Type: text/html
  21. eT`

    clean urls >.<

    Paldies, codez MVC tutoriālis noderēja :)
  22. Tā, īsumā manai lapai ir saites ./a ./b etc. bet ir arī ./d/123 pašlaik .htaccess rewrite izskatās šādi: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?page=$1 [QSA,L] un PHP daļa: $page = $_GET["page"]; if(empty($page)) $page = 'index'; include_once('pages/'.$page.'.php'); bet dodoties uz saiti ./c/123 viņš mēģina includot failu /c/123.php, lai gan gribētos, lai vienkārši includo c.php un 123 padodcaur $_GET lai varu ar kvēriju izvilkt visu, ko vajag. tātad: index.php?page=gallery -- lapa.lv/gallery index.php?page=news&id=3 -- lapa.lv/news/3 kaut kas šāds nederētu - RewriteRule ^(.*)/(.*)/(.*)$ index.php?page=$1&$2=$3 [QSA,L] ? Jo var būt, ka saite ir index.php?page=users&name=useris -- lapa.lv/users/useris
  23. eT`

    Dokumentācija

    Izstrādes dokumentāciju [ ar dizaina pielikumu etc. ] Kas kur būs, kapēc, un ko ziemā ēd. It kā vakar kaut ko nebūt uzrakstīju, bet piemēri nenāks par sliktu.
  24. eT`

    Dokumentācija

    Man vienkārši vajag kādu piemēru un ieteicams latviešu valodā. Nu kā tur visu rakstīt etc. Gribēju netā atrast bet neizdevās :/
  25. eT`

    Dokumentācija

    Kāds kādreiz ir rakstījis dokumentāciju mājaslapai/projektam Varbūt var padalīties. Derēs .doc .pdf vienalga :) Paldies.
×
×
  • Create New...