Jump to content
php.lv forumi

CodeIgniter - padot datus no view uz controller


pelmenis

Recommended Posts

Mērķis ir dabūt no view uz controller php mainīgos. Visvisādi mēģināju, bet vienmēr šie dati ir tukši (jeb 0), lai gan view failā viņiem IR kkādas vērtības piešķirtas. Tad nu kāds varētu lūdzu pateikt, kā to izdarīt?

 

view.php

<?php echo form_open('portal/buyarmor', $_POST); ?>
//mainīgie dabū savas vērtības... un tiek ielikti input:
<input type="hidden" name="gold" value="<?php $gold ?>">
<input type="hidden" name="defense" value="<?php $defense ?>">
<input type="hidden" name="actions" value="<?php $actions ?>">
<input type="submit" name="Pirkt">
</form>

 

controller.php

function buy() {
 $this->load->model("shop_model");
 $this->shop_model->buy_armor($_POST);
}

 

model.php

function buy_armor(){
$this->gold = $this->input->post("gold");
$this->defense = $this->input->post("defense");
$this->actions = $this->input->post("actions");
$this->db->where('user', 'admin');
       $this->db->update('registered_users', $this);
redirect('portal/shop/');
}

Link to comment
Share on other sites

pelmeni, tev ačgārns priekšstats par to, kas ir view. View ir tikai plika prezentācija, tai nevajadzētu saturēt kaut kādu loģiku un datus, kas būtu nepieciešami lietošanai citur (kontrolierī, modelī).

 

Meklē no kurienes nāk tie dati un pārraksti kodu, lai tos varētu dabūt arī tajā konkrētajā kontrolierī. (iespējams, ir kaut kāds abstraktais kontrolieris ar defaulto metodi kas vienmēr izpildās un sagrūž tos datus view'ā?)

Link to comment
Share on other sites

<?php echo form_open('portal/buyarmor', $_POST); ?>

 

Kāpēc $_POST tiek padots form helperim?

http://codeigniter.c...orm_helper.html

 

+

  $this->shop_model->buy_armor($_POST);

Lieto Input Class. Līdz ar to atkrīt $_POST....

 

+

 

$_POST ir pilnībā lieks, no jebkura skatu punkta + modelī tu alkal lieto input clasi, kas, protams, ir pareizi...

 

+

 

Kapēc modelis veic redirect?

 

+

 

Mainīgos uz skatu:

 

Controlieris:

 

$data = array(
'first'   =>   'apple', 
'second'   =>   'cat'
);

$this->load->view('myView', $data)

 

View:

<p><?php $first; ?></p>
<p><?php $second; ?></p>

 

+

 

Codeigniter dokumentācija ir ļoti laba un saprotama, tākā...

Edited by Aiviss
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...