Crea la base de datos,
Funciona el registro (sin validar si existe) Y mostar la lista de participantes
This commit is contained in:
parent
9b1590d8f1
commit
379507e346
@ -1,4 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
$root = realpath($_SERVER["DOCUMENT_ROOT"]);
|
||||||
|
include_once $root.'/db/db.php';
|
||||||
|
|
||||||
function verifyCaptcha(){
|
function verifyCaptcha(){
|
||||||
$url = 'https://www.google.com/recaptcha/api/siteverify';
|
$url = 'https://www.google.com/recaptcha/api/siteverify';
|
||||||
@ -64,18 +67,20 @@ $filename = "2021y22";
|
|||||||
// validate the variables ======================================================
|
// validate the variables ======================================================
|
||||||
$data['nombre'] = $_POST['nombre'];
|
$data['nombre'] = $_POST['nombre'];
|
||||||
$data['apellido'] = $_POST['apellido'];
|
$data['apellido'] = $_POST['apellido'];
|
||||||
$data['pais'] = $_POST['pais'];
|
|
||||||
$data['ciudad'] = $_POST['ciudad'];
|
|
||||||
$data['email'] = $_POST['email'];
|
|
||||||
$data['titulo'] = $_POST['titulo'];
|
$data['titulo'] = $_POST['titulo'];
|
||||||
$data['llegada'] = $_POST['bda'];
|
$data['afiliacion'] = $_POST['afiliacion'];
|
||||||
$data['partida'] = $_POST['eda'];
|
$data['ciudad'] = $_POST['ciudad'];
|
||||||
|
$data['pais'] = $_POST['pais'];
|
||||||
|
$data['email'] = $_POST['email'];
|
||||||
|
$data['fechaLlegada'] = $_POST['bda'];
|
||||||
|
$data['fechaPartida'] = $_POST['eda'];
|
||||||
$data['financiacion'] = $_POST['financiacion'];
|
$data['financiacion'] = $_POST['financiacion'];
|
||||||
$data['invitado'] = $_POST['invited'];
|
$data['invitado'] = $_POST['invited'];
|
||||||
$data['carta'] = $_POST['letterinvited'];
|
$data['cartaInvitacion'] = $_POST['letterinvited'];
|
||||||
$data['roomtype'] = $_POST['roomtype'];
|
$data['roomingPref'] = $_POST['roomtype'];
|
||||||
$data['roomate'] = $_POST['roomate'];
|
$data['roommate'] = $_POST['roomate'];
|
||||||
|
$data['fechaRegistro'] = date("Y-m-d H:i:s");
|
||||||
|
$fila = $data;
|
||||||
|
|
||||||
if (empty($_POST['nombre']))
|
if (empty($_POST['nombre']))
|
||||||
$errors['nombre'] = 'Nombre is required.';
|
$errors['nombre'] = 'Nombre is required.';
|
||||||
@ -93,6 +98,10 @@ else if(!verifyCaptcha()){
|
|||||||
$errors['recaptcha'] = 'Error en la validación de ReCaptcha';
|
$errors['recaptcha'] = 'Error en la validación de ReCaptcha';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*GUAMBIA ACAAA!!!!*/
|
||||||
|
$errors=array();
|
||||||
|
/* NO GILEAR!!!!!*/
|
||||||
|
|
||||||
if ( !empty($errors)) {
|
if ( !empty($errors)) {
|
||||||
|
|
||||||
// if there are items in our errors array, return those errors
|
// if there are items in our errors array, return those errors
|
||||||
@ -102,7 +111,10 @@ if ( !empty($errors)) {
|
|||||||
else {
|
else {
|
||||||
$data['success'] = true;
|
$data['success'] = true;
|
||||||
//bkpregister();
|
//bkpregister();
|
||||||
$fila = $data;
|
|
||||||
|
//$db = new DB();
|
||||||
|
$db->insert($fila);
|
||||||
|
/*
|
||||||
registrar($fila);
|
registrar($fila);
|
||||||
$mail = $data["email"];
|
$mail = $data["email"];
|
||||||
$nombre = $data["nombre"] . " " . $data["apellido"];
|
$nombre = $data["nombre"] . " " . $data["apellido"];
|
||||||
@ -116,7 +128,7 @@ else {
|
|||||||
'Content-Type: ' . "text/plain; charset=UTF-8". "\r\n" .
|
'Content-Type: ' . "text/plain; charset=UTF-8". "\r\n" .
|
||||||
'X-Mailer: PHP/' . phpversion();
|
'X-Mailer: PHP/' . phpversion();
|
||||||
mail($mail, 'Registration confirmation for GGDWorkshop', $msg, $headers);
|
mail($mail, 'Registration confirmation for GGDWorkshop', $msg, $headers);
|
||||||
|
*/
|
||||||
$data['message'] = "Registration Successfully!";
|
$data['message'] = "Registration Successfully!";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
10
config.php
Normal file
10
config.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
class Config {
|
||||||
|
/**
|
||||||
|
* path to the sqlite file
|
||||||
|
*/
|
||||||
|
const PATH_TO_SQLITE_FILE = 'db/ggdworkshop.db';
|
||||||
|
|
||||||
|
}
|
108
db/db.php
108
db/db.php
@ -1,46 +1,70 @@
|
|||||||
<?php
|
<?php
|
||||||
class DB extends SQLite3{
|
|
||||||
function __construct(){
|
$root = realpath($_SERVER["DOCUMENT_ROOT"]);
|
||||||
$this->open('./ggdworkshop.db');
|
$db_path = $root."/db/ggdworkshop.db";
|
||||||
}
|
$schema_path = $root."/db/schema.sql";
|
||||||
function schema(){
|
|
||||||
$sql =<<<EOF
|
class DB{
|
||||||
CREATE TABLE IF NOT EXISTS Registro
|
private $pdo;
|
||||||
(
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
public function connect(){
|
||||||
nombre VARCHAR(50) NOT NULL,
|
if($this->pdo == null){
|
||||||
apellido VARCHAR(50) NOT NULL,
|
global $db_path;
|
||||||
titulo VARCHAR(50),
|
$this->pdo = new \PDO('sqlite:'.$db_path);
|
||||||
afiliacion VARCHAR(50),
|
$this->pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
|
||||||
ciudad VARCHAR(50),
|
}
|
||||||
pais VARCHAR(50),
|
return $this->pdo;
|
||||||
email VARCHAR(80) NOT NULL UNIQUE,
|
|
||||||
fechaLlegada DATE,
|
|
||||||
fechaPartida DATE,
|
|
||||||
financiacion BOOLEAN NOT NULL,
|
|
||||||
invitado BOOLEAN NOT NULL,
|
|
||||||
cartaInvitacion BOOELAN NOT NULL,
|
|
||||||
roomingPref VARCHAR(50),
|
|
||||||
roommate VARCHAR(50),
|
|
||||||
fechaRegistro DATETIME NOT NULL
|
|
||||||
);
|
|
||||||
EOF;
|
|
||||||
$ret = $this->exec($sql);
|
|
||||||
if(!$ret){
|
|
||||||
echo $this->lastErrorMsg();
|
|
||||||
} else {
|
|
||||||
echo "Schema created successfully\n";
|
|
||||||
}
|
|
||||||
$this->close();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function schema($schema_file){
|
||||||
|
$sql = file_get_contents($schema_file);
|
||||||
|
$this->pdo->exec($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function insert($registro){
|
||||||
|
$columns = implode(",", array_keys($registro));
|
||||||
|
echo $columns;
|
||||||
|
$sql = "INSERT INTO Registro ($columns)"
|
||||||
|
.' VALUES (:nombre,:apellido,:titulo,:afiliacion,:ciudad,:pais,:email,:fechaLlegada,'
|
||||||
|
.':fechaPartida,:financiacion,:invitado,:cartaInvitacion,:roomingPref,:roommate,:fechaRegistro);';
|
||||||
|
echo $sql;
|
||||||
|
$stmt = $this->pdo->prepare($sql);
|
||||||
|
$stmt->execute([
|
||||||
|
':nombre' => $registro['nombre'],
|
||||||
|
':apellido' => $registro['apellido'],
|
||||||
|
':titulo' => $registro['titulo'],
|
||||||
|
':afiliacion' => $registro['afiliacion'],
|
||||||
|
':ciudad' => $registro['ciudad'],
|
||||||
|
':pais' => $registro['pais'],
|
||||||
|
':email' => $registro['email'],
|
||||||
|
':fechaLlegada' => $registro['fechaLlegada'],
|
||||||
|
':fechaPartida' => $registro['fechaPartida'],
|
||||||
|
':financiacion' => $registro['financiacion'],
|
||||||
|
':invitado' => $registro['invitado'],
|
||||||
|
':cartaInvitacion' => $registro['cartaInvitacion'],
|
||||||
|
':roomingPref' => $registro['roomingPref'],
|
||||||
|
':roommate' => $registro['roommate'],
|
||||||
|
':fechaRegistro' => $registro['fechaRegistro']
|
||||||
|
]);
|
||||||
|
return $this->pdo->lastInsertId();
|
||||||
|
|
||||||
|
}
|
||||||
|
public function getAll(){
|
||||||
|
$stmt = $this->pdo->prepare("SELECT * FROM Registro");
|
||||||
|
$stmt -> execute();
|
||||||
|
return $stmt->fetchAll(\PDO::FETCH_BOTH);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = new DB();
|
||||||
|
$db->connect();
|
||||||
|
$db->schema($schema_path);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$db = new DB();
|
|
||||||
if(!$db){
|
|
||||||
echo $db->lastErrorMsg();
|
|
||||||
}else{
|
|
||||||
echo "Opened database successfully\n";
|
|
||||||
}
|
|
||||||
$db->schema();
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
Binary file not shown.
19
db/schema.sql
Normal file
19
db/schema.sql
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS Registro
|
||||||
|
(
|
||||||
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
|
nombre VARCHAR(50) NOT NULL,
|
||||||
|
apellido VARCHAR(50) NOT NULL,
|
||||||
|
titulo VARCHAR(50),
|
||||||
|
afiliacion VARCHAR(50),
|
||||||
|
ciudad VARCHAR(50),
|
||||||
|
pais VARCHAR(50),
|
||||||
|
email VARCHAR(80) NOT NULL UNIQUE,
|
||||||
|
fechaLlegada DATE,
|
||||||
|
fechaPartida DATE,
|
||||||
|
financiacion BOOLEAN NOT NULL,
|
||||||
|
invitado BOOLEAN NOT NULL,
|
||||||
|
cartaInvitacion BOOLEAN NOT NULL,
|
||||||
|
roomingPref VARCHAR(50),
|
||||||
|
roommate VARCHAR(50),
|
||||||
|
fechaRegistro DATETIME NOT NULL
|
||||||
|
);
|
28
dbconnect.php
Normal file
28
dbconnect.php
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* SQLite connnection
|
||||||
|
*/
|
||||||
|
class SQLiteConnection {
|
||||||
|
/**
|
||||||
|
* PDO instance
|
||||||
|
* @var type
|
||||||
|
*/
|
||||||
|
private $pdo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return in instance of the PDO object that connects to the SQLite database
|
||||||
|
* @return \PDO
|
||||||
|
*/
|
||||||
|
public function connect() {
|
||||||
|
if ($this->pdo == null) {
|
||||||
|
try {
|
||||||
|
$this->pdo = new \PDO("sqlite:" . Config::PATH_TO_SQLITE_FILE);
|
||||||
|
} catch (\PDOException $e) {
|
||||||
|
// handle the exception here
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return $this->pdo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
@ -72,6 +72,11 @@ $().ready(function(){
|
|||||||
formdata.find(item => item.name === "roomtype").value = $("#roomtype").select2("data")[0].text;
|
formdata.find(item => item.name === "roomtype").value = $("#roomtype").select2("data")[0].text;
|
||||||
var parameters = $.param(formdata);
|
var parameters = $.param(formdata);
|
||||||
console.log(parameters);
|
console.log(parameters);
|
||||||
|
var post = $.post('api/register.php', parameters);
|
||||||
|
post.done(function(data){
|
||||||
|
console.log(data);
|
||||||
|
});
|
||||||
|
//console.log(parameters);
|
||||||
|
|
||||||
},
|
},
|
||||||
errorElement: "em",
|
errorElement: "em",
|
||||||
|
39
participants.php
Normal file
39
participants.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?php $root = realpath($_SERVER["DOCUMENT_ROOT"]);?>
|
||||||
|
<?php include_once 'header.php'; ?>
|
||||||
|
<?php include_once $root.'/db/db.php'; ?>
|
||||||
|
<div class="row">
|
||||||
|
<div id="content" class="col-xs-12 col-sm-8">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12">
|
||||||
|
<h1><strong>Participants</strong></h1>
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Firstname</th>
|
||||||
|
<th>Lastname</th>
|
||||||
|
<th>Affiliation</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
foreach($db->getAll() as $row){
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td> ".$row['nombre']." </td>";
|
||||||
|
echo "<td> ".$row['apellido']." </td>";
|
||||||
|
echo "<td> ".$row['afiliacion']." </td>";
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php include_once 'sidebar.php'; ?>
|
||||||
|
<?php include_once 'footer.php'; ?>
|
@ -36,7 +36,7 @@
|
|||||||
<div class="form-group col-xs-12 col-sm-6">
|
<div class="form-group col-xs-12 col-sm-6">
|
||||||
<label class="control-label " for="afiliacion">Affiliation</label>
|
<label class="control-label " for="afiliacion">Affiliation</label>
|
||||||
<div class="input-container">
|
<div class="input-container">
|
||||||
<input id="afiliacion" class="form-control" name="afiliciacion"
|
<input id="afiliacion" class="form-control" name="afiliacion"
|
||||||
placeholder="Which university or organization" type="text">
|
placeholder="Which university or organization" type="text">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user