Jump to content
php.lv forumi

forSilence

Reģistrētie lietotāji
  • Posts

    63
  • Joined

  • Last visited

Everything posted by forSilence

  1. Izveidoju pavisam vienkāršu lapu dalīšanas sistēmu: Iepriekšējā Nākošā lapa. Tākā no cikliem neko nesaprotu man ir jautājums, kā lai izveido tā, lai rādīt visas nākamās un iepriekšējās lapas. Lai būtu "Iepriekšējā 4 5 6 7 8 9 Nākamā". Tagadējais kods if(isset($_GET['page']) && ctype_digit($_GET['page'])){ $page = $_GET['page']; }else{ $page = 1; } $inonepage = 3; $start_from = ($page*$inonepage) - $inonepage; $sql = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT $start_from,$inonepage"); while($row = mysql_fetch_array($sql)){ //saturs } $pageback = $page-1; if($page > 1){ echo '<a href="?page='.$pageback.'">Atpakaļ</a>'; } echo $page; $countrows = mysql_num_rows(mysql_query("SELECT * FROM news")); if($countrows > ($page*$inonepage) - $inonepage + $inonepage){ $pagenext = $page+1; echo '<a href="?page='.$pagenext.'">Nākošā</a>'; } } Jau iepriekš paldies
  2. Man liekas manu otro kodu tu neapskatīji, man ir jau piešķirts katram lietotājam savs id, pēc tā arī viņš visu atpazīst. Par quote_smart() funkciju, jā tā ir kopēta, bet pilnveidota ar šī foruma palīdzību. Lūdzu norādīt uz vēl kļūdām, lai tās varētu novērst.
  3. Es darītu tā: mysql_query ("UPDATE tabula SET Number = Number+1 WHERE Date = $izveletais_date");
  4. Tas jau ir izdarīts, apskaties iekš quote_smart funkcijas EDIT: if(isset($_POST['nickname']) && isset($_POST['password'])) Šis nav kopēts, es daudz ko nezinu, tapēc daru uz sava prāta. Tagad skripts izskatās šādi <?php session_start(); include("config.php"); if(isset($_GET['logout'])){ session_destroy(); header('location: index.php'); } if(isset($_POST['login'])){ $nick = quote_smart($_POST['nickname']); $pass = quote_smart(md5($_POST['password'])); $testuser = mysql_query("SELECT * FROM users WHERE nickname = $nick AND password = $pass"); if(mysql_num_rows($testuser) > 0){ $user_id = mysql_fetch_array($testuser); session_regenerate_id(); $_SESSION['loged_in'] = $user_id['id']; header('location: index.php'); }else{ echo 'Lietotāj vārds vai parole nav pareiza/i!'; } } if(isset($_SESSION['loged_in'])){ $sql = mysql_query("SELECT * FROM users WHERE id = '".$_SESSION['loged_in']."'") or die(mysql_error()); while($row = mysql_fetch_array($sql)){ echo 'Sveiks! '.$row['name'].'<br /> <a href="?logout">Iziet!</a> '; }}else{ ?> <form method="post"> <input type="text" name="nickname" /><br /> <input type="password" name="password" /><br /> <input type="submit" name="login" value="login" /> </form> <?php } ?> Ar trim() funkciju, īsti nesapratu, itkā tā pārbauda atstarpes, tab utt, ja ir tad izdzēš, varbūt es kļūdos, un īsti nesapratu kru tā būtu jāliek. Mans piemērs ar atstarpju dzēšanu: $nick = quote_smart(trim($_POST['nickname']));
  5. Izveidoju savu pirmo login skriptu, un gribētu uzzināt cik drošs tas ir, un ko, un kā varētu to uzlabot. Par sessijām neko īpaši daudz nezinu. Skripts Funkcijas if( get_magic_quotes_runtime() ) { set_magic_quotes_runtime( false ); } function quote_smart($value) { if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { $value = stripslashes($value); } $value = "'" . mysql_real_escape_string($value) . "'"; return $value; Paldies jau iepriekš
  6. Cik es sapratu, tad trim funkcija tur kur ir atstarpes, tās izdzēs. Vai es kļūdos? Cik man teica tad `table` ir jāliec tad kad ir nestandarta nosaukums piemēram `tābulas` Par tām parolēm biju aizmirsis, izlabošu arī to.
  7. Skaidrs izmantošu labāk tagad !== variantu. Bet kā labāk taisīt login sistēmu? Cookie vai session un kapēc?
  8. Nesaprotu ar ko tas atšķirās, bet man ir viens jautājums. Kāda strapība ir starp !== Un !=
  9. Tiešām nebiju to iedomājies izlaboju uz if(count($reg_error) > 0) Tagad vairs nav nekā tāda, paldies.
  10. Esu izveidojis savu pirmo reģistrācijas skriptu, tāpēc lūdzu jums pastāstīt, kādas kļūdas man ir pieļautas, un kā tās vajadzētu labot. Reģistrācijas skripts Skripts darbojas un neuzrāda nekādas kļūdas. config faila funkcijas if( get_magic_quotes_runtime() ) { set_magic_quotes_runtime( false ); } function quote_smart($value) { if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { $value = stripslashes($value); } $value = "'" . mysql_real_escape_string($value) . "'"; return $value; } Vēl ir jautājums, kā labāk veidot login sistēmu ar cookie vai ar sessijām,un kapēc? Paldies jau iepriekš.
  11. Paldies indoom, piemetu klāt if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) Paldies daGrevis Izslēdzu magic_quotes_gpc. Man ir jautājums, kad izlasīju brieža post, vai man labāk likt pēdiņas ar roku vai ar quote_smart?
  12. Sk.. Vēlējos paprasīt, kā var ievietot datus datubāzē nepārlādējot lapu. Zinu ka to var panākt ar js piem Query notiek kaut kāda <div id="kkas"></div> "klucī". Vēlētos dabūt gatavu skriptu, jo neribu sākt mācīties vairākas valodas uz reiz.
  13. Paldies par ieteikumu, man iepriekš bija pašam iktas pēdiņas, bet tad es papētīju dažus skriptus un liku kopā ar quote_smart. Esu redzēji ka pēdiņas liek šādās vietās $query = "SELECT `a`, `b` FROM `table` WHERE `a` = '" . quote_smart($a) . "'"; Tas kaut ko maina?
  14. function quote_smart($value) { if (get_magic_quotes_gpc()) { $value = stripslashes($value); } $value = "'" . mysql_real_escape_string($value) . "'"; return $value; }
  15. Tātad esu izveidojis pavisam vienkāršu php kodu, caur ko viņš nogādā datus datubāzē, tā kā esu iesācējs vēlētos paprasīt, lai jūs sniegtu padomus kā passargāt kodu no caurumiem, un kas man būtu jādara. Un vēlētos, lai jūs palabotu manu skriptu vai norādītu caurumus un kā viņu labot. Lūk ir kods: <?php include("../ftop.php"); if(isset($_SESSION['ieligojies'])) { if(isset($_GET['id'])) { $mans_id = quote_smart($_SESSION['mans_id']); $id = quote_smart($_GET['id']); $sql = mysql_query("SELECT * FROM members WHERE id = $mans_id"); $row = mysql_fetch_array($sql); $name = quote_smart($row['niks']); $sql1 = mysql_query("SELECT * FROM forum_incat WHERE id = $id ") or die("Kļuda: ".mysql_error()); $row1 = mysql_fetch_array($sql1); $id2 = quote_smart($row1['cat_id']); $fid = quote_smart($row1['id']); if(isset($_POST['title'])) { $title = quote_smart($_POST['title']); $apraksts = quote_smart($_POST['apraksts']); $raksts = quote_smart(nl2br(htmlspecialchars($_POST['raksts']))); if(!empty($_POST['title']) AND !empty($_POST['raksts'])){ mysql_query("UPDATE members SET posts = posts+1 WHERE id = $mans_id"); mysql_query("UPDATE forum_incat SET topick_count = topick_count+1 WHERE id = $id"); mysql_query("INSERT INTO forum_newtopick (forum_id,title,apraksts,raksts,user_id,user,last_activity,date) VALUES ($fid,$title,$apraksts,$raksts,$mans_id,$name,".time().",".time().") ") or die (mysql_error()); $id = mysql_query("SELECT * FROM forum_newtopick ORDER BY id DESC"); $id1 = mysql_fetch_array($id); mysql_query("INSERT INTO aktivitats (title,user,locid,date,links,place) VALUES ($title,$name,'".$id1['id']."',".time().", '/forums/showtopic/','newtopic') ") or die (mysql_error()); $sucess = "Raksts veiksmigi izveidots! <meta http-equiv='refresh' content='1;url=/forums/showtopic/".$id1['id']."' >"; ?> <?php }else{ $sucess = 'Virsraksta un raksta lauki nevar būt tukši!'; } } if(empty($row1['id'])) { $forua_id = "Nav sada foruma"; }else{ $forua_id = ''?><div id="category"> <div id="cat-title">Jauns raksts</div> <form name="forma" method="post"> <table border="0"> <tr><td><b>nosaukums</b></td> <td><input style="width:400px" type="text" name="title" /></td></tr> <tr><td><b>apraksts</b></td> <td><input style="width:500px" type="text" name="apraksts" /></td></tr> <tr><td><b>Saturs</b><br /> <script>edToolbar('postarea');</script> </td> <td><textarea id='postarea' name="raksts" rows="7" cols="50"></textarea></td></tr> <tr><td></td><td><input type="submit" value="Izveidot rakstu" /></td></tr> </table> </form> <?=$sucess?> </div><? ''; } } }else{ echo 'Ilogojies!'; } include("../fbot.php"); ?> Iepriekš paldies
  16. Tas ir palicis no testēšanas, pats kodā savā jau sen esu izdzēsis. Aimirsu izdzēst šeit.
  17. Paldies izmeigināšu, kas man sanāk un tad editošu postu.
  18. Taisu video skriptam kategorijas. Visu esu sataisījis, ja piem. nav kādas kategorijas, tad uzraksta "Nav tādas kategorijas", bet vajag panāk tā, lai ja kategorija ir tukša uzraksta "kategorija tukša". Izmeiināju ar if'u un nekas nesanāca meigināju. if(empty($rows)){ echo 'kategorija tukša'; } Bet nesanāca meigināju. if($rows == ''){ echo 'Kategorija tukša'; } Bet arī nesanāca vēršos pie jums pēc palīdzības. Rekur ir kods: <?php if(isset($_GET['kat'])){ if($_GET['kat'] > 6){ echo 'Nav šadas kategorijas!'; } $kat = quote_smart($video['kat']); $sql = mysql_query("SELECT * FROM video WHERE kat = {$_GET['kat']}"); while($row = mysql_fetch_array($sql)){ ?> <div class="video-bg"> <img src="http://i2.ytimg.com/vi/<?=$row['video_id']?>/default.jpg" height="90" width="132" style="margin-left:3px; margin-top:4px; padding:2px; border:1px solid #cccccc; background:white;" /><br /> <b><a href="?p=user&id=<?=$row['user_id']?>" style="color:#0d2474; padding-left:4px;"><?=$row['user']?></a></b><br /> <div class="video-name"><b><a href="?p=video&id=<?=$row['id']?>"><?=$row['video']?></a></b></div> <ul style="margin-left:-10px; margin-top:17px;"> <li >Komentari: <?=$row['coment_count']?></li> <li>Skatijumi: <?=$row['views']?></li> </ul> </div> <? } } else{ echo 'Nav izvēlēta kategorija!'; } ?>
  19. Drošvien būs liela servera noslodze, bet kā to labot es nezinu, jo tik tiko es sācīs kko izprast par php.
  20. No query'a $result = mysql_query("SELECT * FROM video WHERE id = {$_GET['id']}"); while($row = mysql_fetch_assoc ($result)){ $ip = quote_smart($_SERVER['REMOTE_ADDR']); if($row['ip'] != $ip){ mysql_query("UPDATE video SET views = views+1 WHERE id = {$_GET['id']} ") or die(mysql_error()); mysql_query("INSERT INTO video (ip,video_id) VALUES ('$ip',{$_GET['id']} ) WHERE video_id = {$_GET['id']} "); } //te cits kods }
  21. Paldies Kaklz par aizrādījumu un paldies briedim, ka pateica kā to izlabot. Bet meigināju es, lai pieskaita vienu skatījmu tikai vienu reizi no vienas ip adreses, bet nekas nesanāca. Meigināju visu padot ar If'u, bet nekas nesanāca. Pieskaita skatījumus kā refrešo lapu, un neievada ip adreses un video id iekš db. Reku kods: $ip = quote_smart($_SERVER['REMOTE_ADDR']); if($row['ip'] != $ip){ mysql_query("UPDATE video SET views = views+1 WHERE id = {$_GET['id']} ") or die(mysql_error()); mysql_query("INSERT INTO video (ip,video_id) VALUES ($ip,{$_GET['id']} ) WHERE video_id = {$_GET['id']} "); }
  22. Viss strāda, nepareizā vietā biju viņu ielicis, bet kā sataisīt tā, lai skatījumus skaita tikai no vienas ip?
  23. Diemžēl nekādus errorus neizvada.
×
×
  • Create New...