<?php
// http://es.stackoverflow.com/q/21223/127
class ParametrosPOST
{
public $estanTodosLosParametros; // true/false si se enviaron todos
private $_valores; // guarda todos los parámetros como array
public function __construct
(Array $parametros) { $this->estanTodosLosParametros = true; // Si están todos presentes en $_POST
foreach ($parametros as $valor) { //verificar que estén todos
if (isset($_POST[$valor]) && !empty($_POST[$valor])) { //guardar un parámetro y valor
$this->_valores[$valor] = $_POST[$valor];
} else {
$this->estanTodosLosParametros = false;
}
}
}
// para poder usar $paramPOST->nombre
// y que devuelva $paramPOST->_valores['nombre']
public function __get($param){
? $this->_valores[$param]
: null;
}
public function __set($param, $valor){
return $this->_valores[$param] = $valor;
}
}
// ----------------
// Ejemplo
$_POST = array('name' => 'valentina', 'last'=>'Jerez', 'phone'=>'829837168', 'username'=>'valen', 'mail'=>'valentina0012@hotmail.com', 'password'=> 'valentina', 'state'=>1);
$paramPOST = new ParametrosPOST([
'name','last','phone',
'username','mail','password',
'state'
]);
if ($paramPOST->estanTodosLosParametros) {
echo "
<h3>Todos los datos fueron recibidos</h3>
<p>Nombre: $paramPOST->name</p>
<p>Tel: $paramPOST->phone</p>
";
} else {
echo "<h3>Error: faltaron datos para realizar el registro</h3>";;
}
PD9waHAKCi8vIGh0dHA6Ly9lcy5zdGFja292ZXJmbG93LmNvbS9xLzIxMjIzLzEyNwpjbGFzcyBQYXJhbWV0cm9zUE9TVAp7CglwdWJsaWMgJGVzdGFuVG9kb3NMb3NQYXJhbWV0cm9zOyAgLy8gdHJ1ZS9mYWxzZSBzaSBzZSBlbnZpYXJvbiB0b2RvcwoJcHJpdmF0ZSAkX3ZhbG9yZXM7ICAgICAgICAgICAgICAgIC8vIGd1YXJkYSB0b2RvcyBsb3MgcGFyw6FtZXRyb3MgY29tbyBhcnJheQoJCgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChBcnJheSAkcGFyYW1ldHJvcykgewoJCSR0aGlzLT5lc3RhblRvZG9zTG9zUGFyYW1ldHJvcyA9IHRydWU7IC8vIFNpIGVzdMOhbiB0b2RvcyBwcmVzZW50ZXMgZW4gJF9QT1NUCgkJCgkJZm9yZWFjaCAoJHBhcmFtZXRyb3MgYXMgJHZhbG9yKSB7IC8vdmVyaWZpY2FyIHF1ZSBlc3TDqW4gdG9kb3MKCQkJaWYgKGlzc2V0KCRfUE9TVFskdmFsb3JdKSAmJiAhZW1wdHkoJF9QT1NUWyR2YWxvcl0pKSB7CgkJCQkvL2d1YXJkYXIgdW4gcGFyw6FtZXRybyB5IHZhbG9yCgkJCQkkdGhpcy0+X3ZhbG9yZXNbJHZhbG9yXSA9ICRfUE9TVFskdmFsb3JdOwoJCQl9IGVsc2UgewoJCQkJJHRoaXMtPmVzdGFuVG9kb3NMb3NQYXJhbWV0cm9zID0gZmFsc2U7CgkJCX0KCQl9Cgl9CgkKCS8vIHBhcmEgcG9kZXIgdXNhciAkcGFyYW1QT1NULT5ub21icmUKCS8vICAgeSBxdWUgZGV2dWVsdmEgJHBhcmFtUE9TVC0+X3ZhbG9yZXNbJ25vbWJyZSddCglwdWJsaWMgZnVuY3Rpb24gX19nZXQoJHBhcmFtKXsKCQlyZXR1cm4gYXJyYXlfa2V5X2V4aXN0cygkcGFyYW0sICR0aGlzLT5fdmFsb3JlcykKCQkJPyAkdGhpcy0+X3ZhbG9yZXNbJHBhcmFtXQoJCQk6IG51bGw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBfX3NldCgkcGFyYW0sICR2YWxvcil7CgkJcmV0dXJuICR0aGlzLT5fdmFsb3Jlc1skcGFyYW1dID0gJHZhbG9yOwoJfQoJCn0KCgovLyAtLS0tLS0tLS0tLS0tLS0tCi8vICBFamVtcGxvCgoKJF9QT1NUID0gYXJyYXkoJ25hbWUnID0+ICd2YWxlbnRpbmEnLCAnbGFzdCc9PidKZXJleicsICdwaG9uZSc9Pic4Mjk4MzcxNjgnLCAndXNlcm5hbWUnPT4ndmFsZW4nLAoJJ21haWwnPT4ndmFsZW50aW5hMDAxMkBob3RtYWlsLmNvbScsICdwYXNzd29yZCc9PiAndmFsZW50aW5hJywgJ3N0YXRlJz0+MSk7CgkKCgoKJHBhcmFtUE9TVCA9IG5ldyBQYXJhbWV0cm9zUE9TVChbCgknbmFtZScsJ2xhc3QnLCdwaG9uZScsCgkndXNlcm5hbWUnLCdtYWlsJywncGFzc3dvcmQnLAoJJ3N0YXRlJwoJXSk7CgppZiAoJHBhcmFtUE9TVC0+ZXN0YW5Ub2Rvc0xvc1BhcmFtZXRyb3MpIHsKCWVjaG8gIgoJCTxoMz5Ub2RvcyBsb3MgZGF0b3MgZnVlcm9uIHJlY2liaWRvczwvaDM+CgkJPHA+Tm9tYnJlOiAkcGFyYW1QT1NULT5uYW1lPC9wPgoJCTxwPlRlbDogJHBhcmFtUE9TVC0+cGhvbmU8L3A+CgkJIjsKfSBlbHNlIHsKCWVjaG8gIjxoMz5FcnJvcjogZmFsdGFyb24gZGF0b3MgcGFyYSByZWFsaXphciBlbCByZWdpc3RybzwvaDM+Ijs7Cn0=