Yii Framework Forum: Recupero Dati $_Get E $_Post - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Recupero Dati $_Get E $_Post Rate Topic: -----

#1 User is offline   pippuccio76 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 174
  • Joined: 10-September 13

Posted 06 February 2014 - 01:24 PM

Salve ho creato un model con una sola regola di validazione

public function rules()
	{
		return array(
			// nome obbligatorio
			array('nome', 'required'),
			// lunghezza compresa tra 3 e 100 caratteri
			array('nome', 'length', 'min'=>3, 'max'=>100),
		);
	}


Questa la view :

<?php
/* @var $this fIL,Controller */
/* @var $model  SearchForm */
/* @var $form CActiveForm */

$this->pageTitle=Yii::app()->name . ' Ricerca Nome';
$this->breadcrumbs=array(
	'Ricerca Nome',
);
?>

<h1>Ricerca</h1>

<?php if(Yii::app()->user->hasFlash('search')): ?>

<div class="flash-success">
	<?php echo Yii::app()->user->getFlash('search'); ?>
</div>

<?php else: ?>



<div class="form">

<?php $form=$this->beginWidget('CActiveForm', array(
	'action'=>Yii::app()->createUrl('nome/risultati'),
	'method'=>'GET',
	
)); ?>

	<?php echo $form->errorSummary($model); ?>

		<div class="row">
		<?php echo $form->labelEx($model,'nome'); ?>
		<?php echo $form->textField($model,'nome',array('size'=>60,'maxlength'=>100)); ?>
		<?php echo $form->error($model,'nome'); ?>
	</div>

	<div class="row buttons">
		<?php echo CHtml::submitButton('Ricerca'); ?>
	</div>

<?php $this->endWidget(); ?>

</div><!-- form -->

<?php endif; ?>

Queste le action search e risultati :

    public function actionSearch()
	{
		
              /**
	 * Displays the contact page
	 */
	
		$model=new SearchForm;
                if($model->validate()){
                     if(isset($_GET['SearchForm'])){
                        $dati=$model->attributes=$_GET['SearchForm'];
                        
                     }
                        
                }
		
		$this->render('search',array('model'=>$model));
	
	}

public function actionRisultati()
	{
		
              /**
	 * Displays the contact page
	 */ 
                $data[nome]=Yii::app()->request->getParam('nome');

                // connessione a MySQL con yii
                $connection=Yii::app()->db;

                 // query 
                $sql = "SELECT * FROM nomi where nome like '%$data[nome]%' ";

                // esecuzione della query
                $command=$connection->createCommand($sql);

                //prendo i risultati
                $data[row]=$command->queryAll();


                //conto i risultati 
                $data[numRighe]=$command->execute();   // execute the non-query SQL

                $data[dataReader]=$command->query();
                //Stampo il numero di righe
                //echo "Numero righe: $numRighe";
		
				$this->render('risultati',$data);

		
	
	}


HO alcune domande da fare:
1 l'action Search è corretta , vorrei che facesse il controllo in base alle url e mi inviasse i dati via GET a risultati
2 appena accedo alla pagina ricerca ho :
Please fix the following input errors:
Nome cannot be blank.
Nome *

[il campo input type text]
	
Nome cannot be blank.



Nelle rules avevo impostato i valori amin 3 max 100 mi da l'errore perchè è required , il controllo si potrebbe fare sul click del button?


3- NOn riesco a catturare i risultati nella url ho (cercando casa):

/risultati?SearchForm[nome]=casa&yt0=Ricerca


nella action risultati ho provato così :

$data[nome]=Yii::app()->request->getParam('nome');


Ma niente ; i dati sono recuperabili anche dalla action per poter essere manipolati (come volevo fare io) ?

Nella view ho provato così :

<?php echo 'Nome:'.$nome;
		echo 'Nome: '.Yii::app()->request->getParam('SearchForm[nome]');
		echo 'Nome: '.Yii::app()->request->getQuery('SearchForm[nome]');
		echo 'Nome: '.Yii::app()->request->getParam('nome');
		echo 'Nome: '.Yii::app()->request->getQuery('nome');
		echo 'Nome: '.$_GET['nome'];
		echo 'Nome: '.$_GET['SearchForm[nome]'];

	 ?>


Ma escono tutti vuoti
0

#2 User is offline   emafer 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 23-February 12
  • Location:Amandola

Posted 07 February 2014 - 01:01 AM

Prova
//Carico l'array dei dati SearchForm inviatomi via GET/POST
$searchform = Yii::app()->request->getQuery('SearchForm');
echo 'Nome: '.$searchform['nome'];

0

#3 User is offline   pippuccio76 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 174
  • Joined: 10-September 13

Posted 07 February 2014 - 03:12 PM

View Postemafer, on 07 February 2014 - 01:01 AM, said:

Prova
//Carico l'array dei dati SearchForm inviatomi via GET/POST
$searchform = Yii::app()->request->getQuery('SearchForm');
echo 'Nome: '.$searchform['nome'];




Funziona, come faccio a modificare i messaggi di errore e sopratutto a farli apparire al submit ?
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users