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;
}
}
?>