Jump to content
php.lv forumi

rATRIJS

Moderatori
  • Posts

    1,505
  • Joined

  • Last visited

Everything posted by rATRIJS

  1. Dotajā failā ir jānorāda tava MySQL servera adrese (ja stāv uz tava PC, tad droši vien localhost), lietotāja vārds (ja pats liki un nēesi neko mainījis, tad droši vien root) un parole (ja pats liki un nēesi neko mainījis, tad droši vien tukša).
  2. Domāju, ka kāds no pluginiem to atļaus darīt (iepriekš parokoties uzstādījumos): http://wordpress.org/extend/plugins/
  3. 1) this attiecas un konkrēto elementu - protams, ka viņam nebūs atribūts form. Vari piešķirt a kādu id atribūtu un tad darīt tā (pieņemu, ka id = register): $("#register").click(function() { $("#login_form").submit(); }); Bet kādēļ jāizmanto ir a, ja ir submit poga? 2) tavs if nekad neizpildīses, ja rakstīts būs tā kā tavā kodā. Tev tā ir jāliek kā pirmā pārbaude un tikai pēctam jāpārbauda katrs atsevišķi. 3) tapēc, ka tas nav loģiski. #error ir jāsatur kļūdas vērtība nevis to ko atgriež serveris. (ja tagad reload'osi lapu, tad viss ir OK, jo tur rakstīsi tikai error'us)
  4. Nu bāc ej, mācīes un mēģini. Neviens tak tev nerakstīs priekšā. Sāc lasīt kas ir HTML un kā to pierakstīt. Tad pārēj pie CSS un dari to pašu. Tad stiķē kopā savu izskatu.
  5. Piedod, bet es īsti nesapratu :) Ko tieši tu gribi ģenerēt dinamiski? Input laukus HTML'ā? Pievienot jaunas $_POST vērtības? Lai nu kā asociatīvā masīva indeksus var dabūt šādi: foreach($_POST as $key => $value) { echo "$key = $value"; } tādā veidā tu vari definēt jebkādus input laukus un saņemt to vērtības un pieglabāt kā vajag. Piemēram ja vēlies izveidot atsevišķu mainīgo ar $key nosaukumu un atbilstošo vērtību, var rakstīt šādi: $$key = $value; Bet es nēesmu drošs, ka sapratu ko tu īsti vēlies panākt :)
  6. To visu var nedaudz saīsināt: $(document).ready(function() { $("#login_form").submit(function() { $.post("login.php", $(this).serialize(), function(data, status) { $("#error").html(data); }); return false; }); }); un kā redzi callback f-jai var padot otro parametru status, kurš saturēs vērtību success, ja visā procesā nebūs notikušas kļūdas (aka saņems atblidi no servera). Es gan nēesmu drošs, ka veicot šo pieprasījuma tipu ($.post) status varēs saturēt kaut kādu error tipa statusu, bet tik un tā tam vajadzētu dot kaut kādu priekšstatu. + piedevām $.post atgriež XMLHttpRequest objektu, ar kuru vari ņemties pats manuāli (skatīties statusu kaut vai). xhr = $.post(...); + piedevām - kādēļ tu visu bāz iekš #error? UPDATE: Ja gribi pēc veiksmīga login pārlādēt lapu, tad kāda mārutka pēc tu vispār gribi lietot AJAX? $.post("login.php", $(this).serialize(), function(data) { if(data == "1") { location.reload(); } else { alert("You FAILED"); ) });
  7. Man tagad ir slinkums caurskatīt to kodu, bet cik nu uzmetu aci. 1) XMLHttpRequest objektam ir parametrs responseText, kurš saturēs visu to, ko izvadīs serveris (tavā gadījumā login.php). Cik skatos tev tas glabājas mainīgajā resp. Tā kā vari apskatīties ko tas satur. 2) Kāda jēga tev ir izmantot AJAX login'u? Tikai tapēc, ka tas ir stilīgi? Manuprāt, nav daudz gadījumu, kad to vajadzētu darīt. 3) Tev nekas nenotiek arī tad ja php kods atgriež visu OK. Tu tak nemaz neskaties ko viņš vispār atgriež. Un cik es skatos, tev viņš vienmēr parādīs #error. Pārskati kodu un izdomā ko tu vispār gribi. 4) Jocīga XMLHttpRequest objekta inicializācija. Sākt, manuprāt vajadzētu ar new XMLHttpRequest(), jo tas ir visticamākais inicializēšanas variants. Tev viņš ir atstāts kā pēdējais. Vārdu sakot tas viss ir paliels FAIL. Ja jau izmanto AJAX pie ielogošanās, tad normāli būtu, ja tu to izmantotu arī citur - balstoties uz to iesaku apskatīt jQuery, kas atvieglos AJAX būšanas. Ja citur AJAX neizmanto, tad viņu nevajag tev izmantot arī te.
  8. 1kārt - kļūda noteikti ir tādēļ, ka tev ir kļūda SQL kvērijā, lai paskatītos kāda jādara šāda lieta (kura ir pieminēta katrā otrajā topikā btw): mysql_query($sql) or die(mysql_error()); 2.kārt - katram jaunumam taisīt savu kvēriju ir stulbi un tas patērē liekus resursus. Labāk ir saJOINot jaunumu tabulu ar komentāru tabulu: $sql = "SELECT table1.title, table1.content, COUNT(table2.*) AS comment_count FROM table1 INNER JOIN table1.id = table2.table1_id GROUP BY table2.table1_id" tādā veidā tev katram jaunumu row'am būs parametrs comment_count, kurā glabāsies attiecīgā jaunuma komentāru skaits. 3.kārt - vēl labāks risinājums ir glabāt komentāru skaitu jaunumu tabulā, kuru attiecīgi vajag palielināt pie jauna komentāra pievienošanas. Tādā veidā varēs atbrīvoties arī no JOINa.
  9. Ķeksīši pie raksta pievienošanas (post-new.php): http://grab.by/ILf Un vispārīgie komentāru iestatījumi (options-discussion.php): http://grab.by/ILj
  10. Nav nekādas starpības.
  11. Tavā SQL kvērijā. Nemočkā visu vienā rindā - dari visu lēnām un mierīgi: $sql = "SELECT * FROM users"; $result = mysql_query($sql) or die(mysql_error()); //pie šīs rindiņas tev viss noteikti apstāsies, jo būs kļūda kvērijā while($user = mysql_fetch_assoc($result) { echo $user["id"]; } Vaina ir tur, ka tavs kvērijs ir ar kļūdām. mysql_query() atgriež FALSE, ja neizdodas izpildīt tavu padoto kvēriju. Uz to arī vajag pārbaudīt.
  12. Pilda to pašu... Jādefinē tikai mape jā :) Lai nu kā - tikai mapi definēt, manuprāt, ir ērtāk kā definēt arī servera adresi :) Kaut vai tā iemesla dēļ ko minēju augstāk.
  13. Ja tiks izmantots localhost, tad var saskarties arī ar šādu problēmu - ja vēlēsies piekļūt lapai no citas iekārtas (piemēram mobīlā telefona, lai redzētu kā izskatās), pieslēgsies tam pašam tīklam un iesi uz lapu, ar adresi, piemēram, http://192.168.56.1/manalapa, tad absolūti norādītie path'i nedarbosies, jo viņi būs kā http://localhost/manalapa :) Oki tā ir matu skaldīšana, kura nav traģiska :D Lai vai kā var path'us norādīt arī šādi: <link rel="stylesheet" type="text/css" href="/manalapa/public/style/style.css" /> "/" norādīs uz domēna ROOT, tātad, piemēram, http://localhost. Augstāk minētais piemērs attieksies, piemēram, uz http://localhost/man...style/style.css arī tad, ja atradīsimies http://localhost/man...rija/ieraksts/1 Ja izmantos šo metodi, tad augstāk minētā problēma netiks novērota :P
  14. Reku tev piemērs: index.php <p> Man garšo <?php switch($_GET['id'] { case "pie": include("pienenes.php"); break; case "bur": include("burkani.php"); break; case "pan": include("pankukas.php"); break; default: include("pienenes.php"); //izpildīsies ja id parametrs būs kaut kas svešs break; } ?> </p> pienenes.php echo "<b> pienenes</b>!!!!"; burkani.php echo "<i> burkāni</i>!!!!"; pankukas.php echo "<b> pankūkas</b>!!!!"; Ja tava direktoriju struktūra ir šāda: mana_lapa - index.php - pienenes.php - burkani.php - pankukas.php Un tu ievadi šādu adresi - http://localhost/index.php?id=pan Tad tev izvadīs: Man garšo pankūkas!!!! Ja šādu - http://localhost/index.php?id=bur Tad izvadīs: Man garšo burkāni!!!! Ja šādu - http://localhost/index.php?id=maciesphp Tad izvadīs: Man garšo pienenes!!!! Skaties kamēr saproti un uztaisi savu versiju savai lapai.
  15. Es brīnos, ka tev tur vispār kaut kas strādā: $niks_reg = isset($_POST['niks']); Kā tu domā - kas tagad stāvēs mainīgajā $niks_reg? if(!isset($_POST['regme'])){ echo ""; } if(isset($_POST['regme'])){ //te kaut kāds sāusmīgs kods } Kāda jēga ir šim? Ir arī tāda lieta kā else. $niks_regg2 = mysql_query("SELECT niks FROM lietotaaji WHERE niks=".$niks_reg."")or die(mysql_error());; Vienā rindiņā tik daudz kļūdu...pirmām kārtām $niks_reg satur ne to ko vajag(kā jau augstāk minēju). Otrām kārtām vērtības SQL kvērijos ir jāliek pēdiņās - SELECT niks FROM lietotaaji WHERE niks = 'te ir mainīgā vērtība'. Trešām kārtām beigās ir divi semikoli. $nikss_cheeck = mysql_num_rows($niks_regg2); if(... and $nikss_cheeck != 0) Pieņemot ka $niks_regg2 tiešām veiktu pareizu kvēriju un atgrieztu ko vajag, tad tev vajadzētu lai $nikss_cheeck tieši IR vienāds ar 0 - pretējā gadījumā tas nozīmē, ka tāds niks jau eksistē. $bilde_reg = "http://localhost/noavatar.png"; Un ko tu darīsi, kad lapa stāvēs uz cita servera? $insert_reg = mysql_query("INSERT INTO falshuuks.lietotaaji(vaards, niks, parole, parolee, db_kods, punkti, bilde, pedeja_akt) VALUES('$vaards','$niks','$pw2','$pw1','$db_kods','$punkti_reg','$bilde_reg','$pedeja_akt_reg')"); Kāda jēga vispār ir piešķirt $inser_reg kaut kādu vērtību, ja tu viņu pēctam neizmanto? + protams nēesi nodrošinājies pret SQL injekcijām, nēesi nodalījis izskatu no koda un daudz, daudz citu kļūdu, nepilnību un šausmību. Es iesaku izdzēst visu ko esi sarakstījis un sākt lasīt kaut kādus tutoriāļus pirms sāc darīt kaut ko pa jaunam.
  16. rATRIJS

    php switch

    trūkst aizverošā iekava: (isset($_REQUEST['p']))
  17. kodējuma meta tags konekcijas ar DB kodējums pašas DB kodējums Daudz kas var būt pie vainas :) EDIT: briedis pasteidzās :P
  18. Nū - mūsdienās jau tviteris ir tik kruts, ka kaut kāda sveša mahinācija ar kāda twitter profilu var būt ļoti slikta. Kaut vai uzlaužot kāda cilvēka, kuram ir tūkstošiem sekotāju profilu un notvītot saiti, kura ved uz kādu vīrusu, piemēram. To atvērs daudz cilvēki un sekas var būt nu...diezgan trakas. Piedevām nekad nav jauki, ja uzlauž tavu profilu :) Ja tu tiec klāt secret token'am, tu nezināsi manu paroli, kuru es, visticamāk, lietoju arī citur :) piedevām no aplikācijām var atrakstīties :)
  19. rATRIJS

    php switch

    Reāli tas ir tikai notice, kas nav nekas traks. Lai nu kā: $_REQUEST vietā es ieteiktu rakstīt vai nu $_GET vai $_POST, atkarībā kas tad tev īsti tika dots lai atkratītos no notice, vari darīt tā: $p = (isset($_REQUEST['p']) ? $_REQUEST['p'] : ""; switch($p) { // te tas pats, kas tavā kodā } Būtībā notice saka, ka tas masīvā $_REQUEST neeksistē elements ar indeksu p.
  20. lulz. Turpmākai zināšanai: kvadrātainajās iekavās norāda optional parametrus, tie ir tādi, kas nav obligāti jānorāda. funkcijas pieraksta šādi - mb_substr($one, $two). Tātad nav jāraksta mainīgajiem priekšā to tipi, tāpat kā f-jai tās atgriežamais tips. Tajā lapā tas tiek rakstīts, lai tu zinātu kāda tipa vērtības padot f-jai un kāda tipa vērtības tā atgriezīs. fakin lasi kaut ko, nevis paskaties pirmo rindiņu, nokopē to un bļauj ka neiet
  21. Pievieno savam SQL kvērijam ORDER BY kautkas un vajadzētu iet, ja vien tur netiek darīts vēl kas mistisks.
  22. OAuth burvība ir tajā, ka nav jādod sava parole nezināmām vietām. Domāju, ka tās problēmas, kas dažreiz uzpeld vairāk ir attiecināmas uz pašām Twitter probēmām (serveru pārslodze vai citi gļuki). OAuth strādā daudz maz kārtīgi :) Protams, uzstādīšanas process nav iesācējiem labvēlīgs un tiem vajadzētu meklēt kādu klasīti, kas to visu dara viņu vietā, kuras, protams, ir i-netā pieejamas.
  23. Kādēļ tu gribi visiem publiskot šos datus? Es tādā lapā savu informāciju sevišķi negribētu ievadīt :/ Lai nu kā, e-pastiem vari, piemēram, @ simbolu aizstāt ar kaut ko citu, piemēram: $email = "[email protected]"; $email = str_replace("@", "-ābols-", $email); //sanāks lameris-ābols-example.com Tāpat vari mēģināt html'ā izvadīt kaut kādā veidā šifrētu informāciju un mouseover ar javascript to atšifrēt un parādīt īsto. Parasti spamboti nestaigā ar ieslēgtu javascriptu.
  24. Nu acīmredzot ir kāda kļūda kvērijā. Vari darīt tā: $resut = mysql_query("kvērijs") or die(mysql_error()); Piedevām tu rādi mums tabulu adds, bet kļūda notiek SELECT kvērijā, kur tiek izmantota tabula roots22
  25. Lai kaut ko parādītu vajag būt priekšzināšanām. Ja katrs, kurš tiko sāk kaut ko muhļīt iekš php prasītu: "kā dabūt datus no datu bāzes", tad padomā kāds sviests tas būtu. Re atslēgas vārdi un pat vēl vairāk: gūglē
×
×
  • Create New...