Jump to content
php.lv forumi

hackerman

Reģistrētie lietotāji
  • Posts

    662
  • Joined

  • Last visited

Everything posted by hackerman

  1. Paldies, sataisīju. Viss strādā. Edit: Jauna problēma :) $k = preg_match_all('@(<div class="thumbpart"><img src=")(.*)(" id=")(.*)(" /></div>)@msU', $file, $matches); īsti nestrādā, kā vajadzētu. Es speciāli iekš tās match funkcijas esmu iekļāvis to ID un SRC. Es gribu tikai tos, bet man velkās līdzi visādi alt un citi tādi atribūti, kuri man nav vajadzīgi.
  2. Es īsti nemāku uzrakstīt strādājošu kodu ar preg_match_all. Kods: $file = file_get_contents('http://lapa.lv/tet.txt'); $k = preg_match_all('@(<div class="thumbpart">)(.*)(</div>)@', $file, $matches); echo $k; Kāpēc kods neizpildās, ja man faila tet.txt saturs ir šāds: <div class="thumbpart"> test4</div> <div class="thumbpart"> test2</div> <div class="thumbpart"> test3</div> Bet, ja kods ir bez nekādām atstarpēm, piemēram <div class="thumbpart">test4</div>, tad kods izpildās.
  3. nu bet tas hostings ir paredzējis, lai es rakstu tajā .htaccess failā. Varbūt to jāmēģina kruķīt kaut kā? Varbūt es vienkārši nepareizajā vietā ierakstīju to kodu. Mēģināju gan sākumā, gan beigās. Mēģināju vienu pašu to kodu atstāt iekš to htaccess, bet nekas nesanāk. Šitie te php kodi nelīdz. Edit: Sazinājos ar hostinga adminu, visu noskaidroju. Iekš to .htaccess bija jāraksta šitā: :)
  4. Pamēģināju, bet no errora ne miņas. Errora vietā vienkārši balta lapa. Bet, kad izlaboju erroru, tad visu rāda, kā tam būtu jābūt.
  5. Man hostigā pēc noklusējuma ir uzlikts, lai kļūdu paziņojumus nerādītu. Bet man viņus vajag. Hostinga FAQ rakstīts tā: Lūk mans htaccess: Kad es ierakstu to kodu - "php_flag display_errors on" .htaccess failā, tad rādās tas htaccess errors. Nu parasti tāds rādās, kad ir nepareizi sakonfigurēts htaccess. Izdomāju likt mierā to aizrakstīto .htaccess failu un uztaisiju vienu direktoriju augstāk vēl vienu htaccess failu, kur arī iekopēju attiecīgo kodu, taču atkal tas pats errors. Vēl mēģināju šitos te variantus - http://lv2.php.net/error_reporting , bet rezultāta nav.
  6. Hmm, laikam derēs, paldies :) Un kā ir ar datu filtrēšanu? Jāliek ir tas mysql_real_escape_string. Es tā nekad neesmu pameģinājis, bet... Vai darbotos, ja es uzliktu piem. tā: mysql_real_escape_string($_POST); ? Un tālāk tad nekas man nevajadzētu darīt :)
  7. Doma ir uztaisīt tādu skriptu, kas ielogo mysql errorus. Teiksim, ja kaut kur, kaut kas nav kā vajag, tad lai es par to tiktu informēts savlaicīgi. Es tikai nezinu, kā rakstīt to pārbaudi. Ja raksta if(mysql_error), tad visu laiku, neatkarīgi vai vispār tur ir kāds sql vaicājums, viņš izpildās kā true. Mēģināju if(mysql_error>0), bet tas arī nedarbojās. Ā, aizmirsu piebilst, ka tā pārbaude man atrodas iekš config faila (faila, kurā norāda db informāciju, lai varētu pieslēgtties mysql serverim.) Itkā jau pie katra vaicājuma varētu likt to or die [ mysql_query(SELECT x FROM.....) or die(...) ], taču tas būtu diezgan stulbi o.0 Nav kāds advancētāks veids kā to panākt?
  8. Tagad atkal saskāros ar problēmu... Man lapā ir paredzēts tā, ka kolonnas pazūd/parādās. Nu tas ir, piemēram, ja man ir sākuma lapa, tad man tur ir vairākas kolonnas, bet, teiksim, kad man ir raksts.php?readmore (nu sapratāt... tāds kārtīgāks lasāmgabals, kuram vajag vairāk vieta, vai kautkas cits, kas pieprasa lielāku platību), tad man vajadzētu,lai man viena kolonna pazūd. Lūk, piemērs, lai vieglāk uztvert šito visu -> http://www.imagegalore.com/images/luI17927.jpg Tagad, kad esmu uzlicis to backgroundu kā bildi, man nav ne jausmas, kā varētu "pazaudēt" to vienu kolonnu. Nu būtu jānomaina bilde, bet nezinu, kā to var un vai vispār to var izdarīt. Pirmīt, kad kolonnas bija dažāda izmēra (sākotnējā problēma, kuru gribēju atrisināt - lai kolonnas būtu vienāda izmēra), tad itkā viss bija vienkāršāk - es vienkārši uztaisīju divus failus, piem. coll1.php un coll2.php. Kad vajadzēja abas kolonaas, tad include abām, kad vienu - tad include tikai vienu kolonnu. A tagad... :)
  9. Nu jā... To jau es māku. Es vienkārši centos pārbaudīt, vai vispār tāda vērtība eksistē iekš tā masīva.
  10. hackerman

    array

    Tagad taisu kautko līdzīgu errora paziņojumiem. Doma ir taisīt tā, ka nodefinē, piem. $err['no_password'] = "Nav ievadīta parole"; Es paskatījos iekš php.net tās array funkcijas, kas šķiro tos arrayus (in_array un tml.) Nu man vajag pārbaude. Gribēju taisīt tā if(empty($_POST['lauks'])){header("Location: index.php?error=no_password")} Un tad nolasa padoto get vērtību un izvada no arraya. Es neatradu vajadzīgo funkciju iekš php.net. Pārsvarā tās funkcijas darbojās ar to stringa daļu, nevis ar pašu mainīgo.
  11. //----------------------------------------- // Update Stats //----------------------------------------- $this->ipsclass->cache['stats']['last_mem_name'] = $this->ipsclass->member['members_display_name']; $this->ipsclass->cache['stats']['last_mem_id'] = $this->ipsclass->member['id']; $this->ipsclass->cache['stats']['mem_count'] += 1; $this->ipsclass->update_cache( array( 'name' => 'stats', 'array' => 1, 'deletefirst' => 0 ) );
  12. Es te sāku taisīt lapu, kura balstās uz IPB foruma. Uztaisīju reģistrāciju, taču vajag vēl updeitot statistiku, lai rādītu jaunākos lietotājus un tml. IPB tos statistikas datus glabā datubāzē ~ tādā formātā: a:7:{s:13:"total_replies";s:5:"22602";s:12:"total_topics";s:4:"2437";s:9:"mem_count"; i:1487;s:13:"last_mem_name";s:9:"rishelins";s:11:"last_mem_id";s:4:"2018";s:10:"most_count";s:1:"3";s:9:"most_date"; s:10:"1203268773";} Nu un man ir problēmas ar to last_mem_name un last_mem_id updeitošanu. Laikam jau to visu smuki var izdarīt ar preg_replace, bet es īsti nemāku... Tutoriāli pētīju, viss ok, bet kad nonācu līdz darīšanai, tad čušs. :) Edit: Palasīju vēl, pačakaŗējos un iznāca laikam pašam. Edit2: Laikam tomēr vajadzēs jūsu padoms. Nu ar to preg_match funkciju apguvu, bet es nezinu kā īsti lai dara tālāk. Kods: include("config.php"); $kverijs = mysql_query("SELECT * FROM ibf_cache_store where `cs_key` = 'stats' "); $hah = mysql_fetch_array($kverijs); // šeit dabū to, kas lejā man ir ierakstīts kā $string $string = 'a:7:{s:13:"total_replies";s:5:"22602";s:12:"total_topics";s:4:"2437";s:9:"mem_count";i:1487;s:13:"last_mem_name";s:9:"rishelins"; s:11:"last_mem_id";s:4:"2018";s:10:"most_count";s:1:"3";s:9:"most_date";s:10:"1203268773";}'; $vards = "lola"; $patterns = '/"last_mem_name";s:9:"rishelins";/'; $replacements = '"last_mem_name";s:9:"'.$vards.'";'; echo preg_replace($patterns, $replacements, $string); ?> Nu šitais man tāds kods ar kuru es vienkārši mācos un testēju. Kamēr es testēju, es biju pats ierakstījis noteiktu stringu iekš mainīgā $string. Bet problēma jau ir, ka tālāk jau man jādzēš nost tas string un jāraksta, lai datus saņem no datubāzes. Ja tā, tad arī manis definētais mainīgais $patterns neder, jo tur jau ir konkrēts vārds iekšā. Ja datubāzē būs jauns lietotājs, man tas kas ierakstīts "ar roku" vairs nederēs.
  13. Hmm... Un ko dara tie nabagi, kuriem nav browserī javascript atbalsts? Kautgan tagad jau tādu ir maz...
  14. Man ir viena kolonna, kur raksta tekstu. Reizēm viņa pastiepjas garāka, kad ir vairāk teksts, bet malējā kolonna paliek savos vecajos izmēros. Kā varētu uztaisīt, lai tās sānējā kolonna stieptos tikpat gara, cik tā otra?
  15. Tagad sāku domāt, vai tomēr nepāriet uz to parasto input lauku... Vajag dabūt tā, lai tajā dropdownmenu parādās esošā vērtība. Nu tad ir jopojām tas dropdownmenu ar tādu intervālu, cik ir ieraksti. (5 ieraksti = 5 izvēlnes + iekš izvēlnēm arī intervāls no 1-5). Tas taka būtu. Bet tagad vajag dabūt tā, ja datubāzē ir jau uzstādīta vērtība, teiksim, man 2. ierakstam vērtība ir jau uzstādīta kā 5, tad man vajag, lai viņš parāda tā, lai tas menu sākas ar to 5 (Nu reāli tur uzrādās tas 5, bet joprojām paliek iespēja nospiest to menu un izvēlēties, piemēram, vērtību 3). Nu pirmīt, kad vajadzēja tikai yes/no, tad neko labāku nevarēdams izdomāt, es uztaisīju tādu primitīvu sistēmu - nodefinēju abus variantus - vienu, kas sākas ar no, bet otru, kas sākas ar yes, un tad, vienkārši, pēc pārbaudes izvadu attiecīgo. Bet tagad tāda ķēmošanās neies krastā :)
  16. Hmm... Biedzot arī sapratu savu kļūdu. Mans kods izskatījās ~ tā: <? $ii=0; while($row=mysql_fetch_array($res)) { $ii++; echo "<select>"; for($i = 1; $i <$ii; $i ++) { echo "<option>$i</option>"; } echo '</select>'; } Vaina ir ierakstu skaita noteikšanā... :)
  17. Tagad atkal kautkas līdzīgs. Tāpat kā pirmīt, datus izvada no datubāzes, viss iekš while. Un mēģinu panākt, lai iekš to dropdownmenu parādās skaitļi tādā intervālā, cik vispār tie ieraksti ir. Tas būtu, ja man tiek izvadīti 7 ieraksti, tad man parādās 7 dropdownmenu un iekš katra value būtu 1-7. Pats te pačakarējos ar tiem cikliem, saāca visādi, bet ne tā kā vajag. Nu itkā jau kā alternatīvu varētu uztaisīt input lauku, kur lietotājs pats ieraksta, bet nu es negribu piekāpties.
  18. Nu un kā tad tālāk izķidāt to array'u, lai varētu smuki izpildīt kveriju?
  19. A tur ir "automātiska sistēma" :P Teiksim, tur no datubāzes izvelk datus un piedāvā dzēst/nedzēst. Nu iekš while visa tā padarīšana.
  20. Es izvadu vairākas <select> izvēlnes. Itkā viņas neko daudz neatšķiras - katrā ir tikai divas izvēles - jā vai nē. Nu tas ir domāts, lai admins varētu izvēlēties tur kautko. Izvadu vairākus datus, līdzarto nāk vairākas tās izvēlnes līdzi. <select name='status'> <option value='yes'>Yes</option> <option value='no'>No</option> </select> Problēma sākās ar to, kad mēģinu pēc submit pogas nospiešanas apstiprināt izmaiņas. Teiksim man tur ir 4 izvēlnes, bet tas pārbaudes fails jau viņas neatšķir. Name atribūts jau ir aizņemts. Iedomājos par id atribūtu, bet pēc testēšanas sapratu, ka tā atribūta datus viņš nemaz nesūta nekur.
  21. Nope, tāds mode_spelling pie loaded modules neuzrādās. P.S. Visulaiku tā nebija. Tās lietotāju pieļautās kļūdas sāka labot tikai pēc rerite moduļa palaišanas.
×
×
  • Create New...