Jump to content
php.lv forumi

reGative

Reģistrētie lietotāji
  • Posts

    161
  • Joined

  • Last visited

Posts posted by reGative

  1. Labdien!

     

    Esmu uztaisījis draugu sistēmu. Bet netieku es ar vienu lietu galā - ar draudzības apstiprinājumiem viss ok, bet iznāk viena štelle.

     

    Ir trīs draugi - A, B un C. A uzaicina B. A redz B savā draugu sarakstā, bet B redz sevi savā draugu sarakstā. Un ja C uzaicina A, tad C savā draugu sarakstā redz A, bet A redz B un sevi savā draugu sarakstā.

     

    MySQL pieprasījums draugu sarakstam (te arī ir problēma):

     

    <?php
    public function get_list_of_friends($invited_id)
    {
       return DB::select('friends.*', 'users.*')
       ->from('friends')
       ->join('users')
       ->on('users.id', '=', 'friends.invitor_id')
       ->where('friends.status', '=', 'accepted')
       ->and_where('friends.invitor_id', '=', $invited_id)
       ->or_where('friends.status' ,'=', 'accepted')
       ->and_where('friends.invited_id', '=', $invited_id)
       ->as_object()
       ->execute();
    }

     

    Te arī ir shēmas tabulām 'users' un 'friends':

    https://gist.github.com/3186697

     

    Ceru, ka kādam radīsies ideja, kā to varētu uztaisīt.

  2. Labdien!

     

    Iemēģinu e-pasta izsūtīšanu no PHP. Atradu SwiftMailer wrapper'i Kohana'i - https://github.com/luwe/kohana-email .

    Tātad, ir šāds kods -

    Kontrollers:

     

    https://gist.github.com/3162873

     

    Skats:

    Hello!
    <a href="http://localhost/friends_com/forgot_password/user/<?=$user_id?>/<?=$unique_id?>?>">Go to there!</a>
    

     

    Bet, šis man izvada to Exception un tur, kur ir mainīgais, tur ir integer 0.

    Ceru, ka te ir kāds, kuram ir kaut neliela pieredze e-pastu sūtīšanā no php vai kādam framework'a. Pats to daru pirmo reizi.

  3. Labdien!

     

    Jau vairāk kā gadu apgūstu Kohana Framework. Sakarā ar to, ka nav pieredzes un dažreiz trūkst kādu zināšanu, taisīt ko tādu, ko līdz šim neesmu taisījis, aizņem ļoti daudz laika. Šis jau ir mans otrais darbs ar Kohana Framework. Pirmais bija blogs un ziņu portāls (to visu atradīsiet manā GitHub profilā). Un ja godīgi, tad es pirmo reizi vispār taisīju internetveikalu.

     

    iShop'a oficiālais repo manā GitHub profilā.

     

    Ar laiku tiks veikti labojumi. Gaidu Jūsu atsauksmes, ieteikumus, kritiku.

  4. Pārtaisīju.

     

    <script>
    $('#count').change(function() {
    var count = parseInt($(this).val(), 10);
    console.log(count);
    
    });
    $('.add-to-cart').append('<a href="/over/the/rainbow">'+count+'</a>');
    </script>

    Bet, tur kur mainīgā count vietā jābūt skaitlim, tur ir [object HTMLInputElement]

     

    <input type="text" id="count" value="1" /><br />
    <div class="add-to-cart"></div>

     

    input lauks nekad nav tukšs.

  5. <script>
    $('input').change(function() {
    var count = parseInt($(this).val(), 10);
    console.log(count);
    // Now you have product count as integer.
    });
    $("div.add-to-cart")
    .append(
    "<a href='<?=URL::site('products/add_to_cart/'.$product->id.'/'.
    Security::token())?>"+count+"'>Add To Cart</a>"
    );
    </script>

     

    bet ir viena problēma - skaitļa vietā parādās [object HTMLInputElement].

    Ko darīt?

  6. Sveiki!

     

    Savai pieredzei un zināšanām veidoju internetveikalu. Izmantoju kohana 3.2 un jQuery.

     

    Nepieciešama funkcija - kad lietotājs ieraksta vēlamo preču skaitu, "add to cart" linkā uzreiz jānomainās preču skaitam.

     

    Links "Add to cart" izskatās šādi :

     

     

    <a href="<?=URL::site('products/add_to_cart/'.$product->id.'/'.Security::token())?>">Add To Cart</a>

     

    Tātad, gaidu jūsu laipnību, idejas un pseido-kodus. :)

  7. Brīnos, ka nesaprati no koda. Īsāk sakot ņem to kategorijas id laukā un liek tai funkcijā, lai meklē apakškategorijas pēc kategorijas id. Kā ar attēlojumu būs,nezinu. Tjip es nelieku kategorijas id pats, to liek funkcija.

    Tagad sintakse errorā šāda -SELECT * FROM subcategories WHERE category_id = (('1'), ('2')) OR category_id = (('1'), ('2')) ORDER By id DESC

  8. CREATE TABLE IF NOT EXISTS `subcategories` (
     `id` int(11) NOT NULL AUTO_INCREMENT,
     `category_id` text NOT NULL,
     `name` text NOT NULL,
     `description` text NOT NULL,
     `posts_count` text NOT NULL,
     PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
    
    
    
    CREATE TABLE IF NOT EXISTS `categories` (
     `id` int(11) NOT NULL AUTO_INCREMENT,
     `name` text NOT NULL,
     `description` text NOT NULL,
     `posts_count` text NOT NULL,
     PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

     

    Modelis -

    	public function get_categories(){
    
       	return $query = DB::query(Database::SELECT, 'SELECT * FROM categories ORDER BY id DESC')->execute()->as_array();
    
    }
    public function get_cat_id(){
       	return $query = DB::query(Database::SELECT, 'SELECT id FROM categories')->execute()->as_array();
    }
    
    Class Model_Subcategory Extends Model {
    public function get_subcategories($id){
       	return $query = DB::query(Database::SELECT, 'SELECT * FROM subcategories WHERE category_id = :id ORDER By id DESC')
               	->parameters(array(
                   	':id' => $id,
               	))->execute()->as_array();
    }
    }
    }

     

    Kontrolieris -

    public function action_index()
       {
      	 $model_for_categories = Model::factory('category');
               	$model_for_subcategories = Model::factory('subcategory');
               	$model_for_list = $model_for_categories->get_categories();
               	$model_for_cat_id = $model_for_categories->get_cat_id();
               	$model_for_s_list = $model_for_subcategories->get_subcategories($model_for_cat_id);
               	$view = View::factory('home/index');
               	$categories = $view->set('categories', $model_for_list);
               	$subcategories = $view->set('subcategories', $model_for_s_list);
               	$this->template->content = $view->render();
       }

     

    Errors - Operand should contain 1 column(s) [ SELECT * FROM subcategories WHERE category_id = (('1'), ('2')) ORDER By id DESC ]

  9. Tad kāpēc nosūtot

     

    Sveiki!

    Šis ir komentārs!

     

    Vietā ir Sveiki!\nŠis ir komentārs!

     

    Skatā ir htmlspecial... un nl2br()

     

    Kontrolleris:

     

    if (isset($_GET['do']) and $_GET['do'] == 'comment') {//Ja viss kārtībā, turpinam
           	if ($_SESSION['token'] == $_GET['token']) {
               	$name = trim($_POST['name']);
               	$artcl_id = trim($_POST['artcl_id']);
               	$homepage = trim($_POST['homepage']);
               	$text = trim($_POST['text']);
               	$ip = trim($_SERVER['REMOTE_ADDR']);
    
               	if (!empty($name) and !empty($artcl_id) and !empty($text)) {
    
                   	if (!empty($homepage)) {
                       	Model::factory('index')
                               	->send_commentar_with_homepage(mysql_real_escape_string($name), mysql_real_escape_string($artcl_id), mysql_real_escape_string($text), mysql_real_escape_string(time()), mysql_real_escape_string($homepage), mysql_real_escape_string($ip));
                       	Model::factory('index')->update_comment_count($artcl_id);
    
                   	} else {
                       	Model::factory('index')
                               	->send_commentar(mysql_real_escape_string($name), mysql_real_escape_string($artcl_id), mysql_real_escape_string($text), mysql_real_escape_string(time()), mysql_real_escape_string($ip));
                       	Model::factory('index')->update_comment_count($artcl_id);
                   	}
                   	?>
                   	<script type="text/javascript">
                       	alert("Paldies par komentāru! :)");
                   	</script>
                   	<meta http-equiv="REFRESH" content="0;url=/article/<?php echo $slug; ?>"/>
                   	<?php
               	} else {
                   	?>
                   	<script type="text/javascript">
                       	alert("Kļūda! Tika ievietots tukšums! :)");
                   	</script>
                   	<meta http-equiv="REFRESH" content="0;url=/article/<?php echo $slug; ?>"/>
                   	<?php
    
               	}
           	}
           	else{
               	?>
                   	<script type="text/javascript">
                       	alert("Tu esi cilvēks? :)");
                   	</script>
                   	<meta http-equiv="REFRESH" content="0;url=/article/<?php echo $slug; ?>"/>
                   	<?php
           	}
       	}

  10. Sveiki!

     

    Es gribu uzzināt, kā tie dati tiek pārbaudīti.

     

    Tiek ievadīts $_POST, piemēram, $_POST['vards'], pirms pārbauda, vai nav tukšs, izlaiž cauri trim() un pēc tam ievieto datubāzē ar funkciju mysql_real_escape_string($_POST['vards']). Izvada no datubāzes htmlspecialchars($_POST['vards']).

     

    Tā ir pareizi?

  11. Tātad, kods šāds. Izmantoju tādu metodi ,kā briedis aprakstīja

    <form action="?post=name" method="post">
    <input type="text" name="name" />
    </form>
    <?php
    if(isset($_GET['post']) and $_GET['post'] == 'name'){
    if(!empty($_POST['name'])){
    $result;
    }
    else{
    echo 'Sistēmas kļūda!';
    }
    }
    ?>
    

    skats

    public function insert_names($name){
       	$query = DB::query(DATABASE::INSERT, 'INSERT INTO names (name) VALUES (:name)')->parameters(array(':name' => $name));
    }
    

    modelis

    $this->template->content = View::factory('about/about')->set('result', Model::factory('index')->insert_names($_POST['name']));
    

    kontrolieris.

    Met erroru, ka nav nodefinēts kontrolierī $_POST['name'].

  12. login skriptu un to visu tiku galā, bet tagad ir problēma ar JS redirektiem.

    <?php
    if(isset($_REQUEST['logout']))
    {
    session_destroy();
    ?><script type='text/javascript'>windows.location = 'mansurl'</script><?php
    }
    if(isSet($_REQUEST['login']))
    {
    $user_nick = mysql_real_escape_string($_POST['nick']);
    $user_password = mysql_real_escape_string($_POST['pass']);
    
    $query = mysql_query("
       SELECT  user_nick
       FROM    users
       WHERE   user_nick = '$user_nick'
       AND     user_password = '$user_password'    
    ") or die(mysql_error());
    
    $total = mysql_num_rows($query);
    
    If($total > 0)
    {
         session_start();
         $_SESSION['user_nick'] = $user_nick;
         ?><script type='text/javascript'> windows.location = 'mansurl'</script><?php
    }
    else
    {
        echo 'Pashol ti na **j';
    }
    } ?>

    login skriptā ielogojas bet adreses lauciņā paliek ?login. Ar logout skriptu ir jāpārlādē pašam, lai parādītos login forma. Vēl kaut kad strādāja, tagad vairs ne. Kas par vainu?

  13. Paskatījos... uzliku echo $_SESSION['id'];, rāda nulli, kaut arī tam būtu jārāda 1, nevis 0.

    Logn skripts -

    if(isset($_GET['f']) and $_GET['f'] == 'l')
    {
    $nick = $_POST['nick'];
    $pass = $_POST['pass'];
    $query1 = mysql_query("select user_id from users where user_nick='$_POST[nick]'") or die(mysql_error());
    $_SESSION['id'] = $query1;?>
    <script type="text/javascript">
    window.location = "mansurl"
    </script><?php
    }

  14. Palaboju kodu

    <?php $yoo = mysql_query("SELECT user_nick FROM users WHERE user_id='$_SESSION[id]'") or die(mysql_error()); 
    echo mysql_fetch_array($yoo);?>

    un tagad 'Resource id #4' vietā nerādās nekas.

  15. sveiki. Kad jūzeris ielogojas, gribu, lai parādās visa informācija par viņu. skripts ir šāds.

    <?php $query = mysql_query("SELECT user_nick FROM users where user_id='$_SESSION[id]'"); 
    echo $query;?>

    . 'reGative' vietā parāda 'Resource id #4'. Kāpēc tāds uzraksts parādās? Jā zinu, ka kods nav pareizs, jo tad rādītu pareizi.

×
×
  • Create New...