Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2013, 14:38
liberenatu
 
Fecha de Ingreso: agosto-2012
Mensajes: 54
Antigüedad: 11 años, 8 meses
Puntos: 1
no guarda datos en la base de datos

buenas tardes tengo un inconveniente con el envio de datos desde mi formulario de registro el cual al dar enviar me comunica que se a realizado correctamente el registro pero al ver en mi base de datos no existe los datos ingresados y la verdad no me arroja ningun error.

nota "la conexion a la base de datos es correcta y tambien se realiza desde una class llamada enlace la cual se instancio en la class conn"

agradezco su ayuda.


pagina de registro.php
<?php
session_start();
if(isset($_POST['register']))
{
include'registrar.php';
$registrar = new Registrar();

if($registrar->confirmar()) {
echo "Felicitaciones registro exitoso";
header("Refresh: 5; URL=index.php");
} else {
$registrar->_errors();
}
}
?>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" >
<label for="apodo">Nick:</label>
<input type="text" name="apodo" id="apodo" maxlength="20" value="">
<label for="password">Contraseña:</label>
<input type="password" name="password" id="password" maxlength="20" value="">
<input type="hidden" name="token" value="<?php $token = $_SESSION['token'] = md5(uniqid(mt_rand(),true)); echo $token;?>">
<input type="submit" name="register" id="submit" value="registrar">
<input type="reset" value="Borrar">
</form>




/************************************************** *********************************
************************************************** *********************************
************************************************** *********************************/

archivo conexion.php
<?php
require'enlace.php';
class conn {
private $servidor;
private $usuario;
private $password;
private $database;

private static $_instance;

private function __construct() {
$this->enlaces();
$this->conectar();
}

public static function getInstance(){
if (!(self::$_instance instanceof self)){
self::$_instance = new self();
}
return self::$_instance;
}

private function enlaces(){
$enlace = enlace::getInstance();
$this->servidor = $enlace->hostin();
$this->usuario = $enlace->rot();
$this->password = $enlace->pasw();
$this->database = $enlace->test();
}

private function __clone() {
}

private function conectar() {
$mysqli = new mysqli($this->servidor, $this->usuario, $this->password, $this->database);
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
echo 'Éxito... ' . $mysqli->host_info . "\n";
if (!$mysqli->set_charset("utf8")) {
printf("Error cargando el conjunto de caracteres utf8: %s\n", $mysqli->error);
} else {
printf("Conjunto de caracteres actual: %s\n", $mysqli->character_set_name());
}
$mysqli->close();
}
}
//conn::getInstance();
?>



/************************************************** *********************************
************************************************** *********************************
************************************************** *********************************/



registrar.php
<?php
require'conexion.php';
$mysqli = conn::getInstance();

class Registrar {
private $apodo;
private $contrase;
private $passmd5;

private $errors;
private $token;

public function __construct() {
$this->data();
}

private function data(){
$this->apodo = $_POST['apodo'];
$this->contrase = $_POST['contrase'];
$this->passmd5 = md5($this->contrase);
$this->errors = array();
$this->token = $_POST['token'];
}

public function confirmar() {
if($this->_token() && $this->_data())
$this->users();
return count($this->errors)? 0 : 1;
}

public function users() {
if (isset($mysqli)) {
$mysqli = conn::getInstance();
$mysqli->query("INSERT INTO usuario(apodo,contrase) VALUES (''{$this->apodo}','{$this->passmd5}')");
if($mysqli->affected_rows< 1)
$this->errors[] = 'Could Not Process Form';
}
}

public function existe() {
if (isset($mysqli)) {
$mysqli = conn::getInstance();
$result = $mysqli->query("SELECT id FROM usuario WHERE apodo = '{$this->apodo}'");
$row_cnt = $result->num_rows;
return $row_cnt? 1 : 0;
$result->close();
}

}

public function _errors() {
echo "<h3>Errors</h3>";
foreach($this->errors as $key=>$value)
echo $value."<br>";
}

public function _data() {
if($this->existe()) {
$this->errors[] = 'El seudonimo digitado ya se encuentra en uso';
}
if(empty($this->apodo)) {
$this->errors[] = 'Digite su seudonimo para ingresar a esta web';
}
if(empty($this->contrase)) {
$this->errors[] = 'Sin la contraseña no podra ingresar en el futuro';
}
return count($this->errors)? 0 : 1;
}

public function _token() {
if(!isset($_SESSION['token']) || $this->token != $_SESSION['token'])
$this->errors[] = 'Invalid Submission';
return count($this->errors)? 0 : 1;
}
}
?>

Última edición por liberenatu; 12/09/2013 a las 14:59