S
Strings
Es un sistema de mensajes privados
Las caracteristicas que tiene son:
config/index.php
Index.php:
register.php
mp.php
logout.php
DB:
Las caracteristicas que tiene son:
- Iniciar Session
- Registro
- Leer mensajes de terceros y eliminarlos
- Leer tus mensajes enviados y eliminarlos
- Crear nuevos mensajes.
- Logout
config/index.php
PHP:
<?php
$connection = mysqli_connect("host","user","pass","db");
?>
Index.php:
PHP:
<?php
ob_start();
session_start();
require('config/index.php');
if(isset($_SESSION['username'])):
header('Location: /mp.php');
else:
if(isset($_POST['login'])):
if(empty($_POST['username']) || empty($_POST['password'])):
echo 'Hay datos en blanco';
elseif(strlen($_POST['username']) > 30):
echo 'El usuario no puede tener mas de 30 caracteres';
else:
$login = mysqli_query($connection, "SELECT username,password FROM username WHERE username = '".mysqli_real_escape_string($connection, $_POST['username'])."' AND password = '".mysqli_real_escape_string($connection, hash('ripemd160', $_POST['password']))."'");
if($login1 = mysqli_fetch_assoc($login)):
$_SESSION['username'] = $_POST['username'];
header('Location: /mp.php');
echo 'Datos correctos';
else:
echo 'Datos incorrectos';
endif;
endif;
endif;
endif;
?>
<form action="" method="post">
<input name="username" type="text" placeholder="Introduce tu usuario"><br>
<input name="password" type="password" placeholder="Introduce tu contraseña"><br>
<input name="login" type="submit" value="Iniciar Session">
</form>
<a href="/register.php">Registrate</a>
register.php
PHP:
<?php
ob_start();
session_start();
require('config/index.php');
if(isset($_SESSION['username'])):
header('Location: /mp.php');
else:
if(isset($_POST['register'])):
if(empty($_POST['email']) || empty($_POST['username']) || empty($_POST['password'])):
echo 'No dejes campos en blanco';
elseif(strlen($_POST['email']) > 30):
echo 'El email no puede tener mas de 30 caracteres';
elseif(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)):
echo 'El email no es valido';
elseif(strlen($_POST['username']) > 30):
echo 'El username no puede tener mas de 30 caracteres';
else:
$email = mysqli_query($connection, "SELECT email FROM username WHERE email = '".mysqli_real_escape_string($connection, $_POST['email'])."'");
if($email1 = mysqli_fetch_assoc($email)):
echo 'El email ya existe';
else:
$user = mysqli_query($connection, "SELECT user FROM username WHERE user = '".mysqli_real_escape_string($connection, $_POST['username'])."'");
if($user1 = mysqli_fetch_assoc($user)):
echo 'El usuario ya existe';
else:
mysqli_query($connection, "INSERT INTO username(id,email,username,password,fecha,ip) VALUES ('', '".mysqli_real_escape_string($connection, $_POST['email'])."', '".mysqli_real_escape_string($connection, $_POST['username'])."', '".mysqli_real_escape_string($connection, hash('ripemd160', $_POST['password']))."', '".date("Y-m-d")."', '".$_SERVER['SERVER_ADDR']."')");
$_SESSION['username'] = $_POST['username'];
header('Location: /mp.php');
endif;
endif;
endif;
endif;
endif;
?>
<form method="post">
<input name="email" type="email" placeholder="Introduce tu email"><br>
<input name="username" type="text" placeholder="Introduce tu usuario"><br>
<input name="password" type="password" placeholder="Introduce tu contraseña"><br>
<input name="register" type="submit" value="Registrate">
</form>
mp.php
PHP:
<link rel="stylesheet" href="http://rawgithub.com/cheeaun/mooeditable/master/Assets/MooEditable/MooEditable.css">
<script src="http://ajax.googleapis.com/ajax/libs/mootools/1.3.0/mootools-yui-compressed.js"></script>
<script src="http://rawgithub.com/cheeaun/mooeditable/master/Source/MooEditable/MooEditable.js"></script>
<script>
window.addEvent('domready', function(){
$('textarea-1').mooEditable();
});
</script>
<?php
ob_start();
session_start();
require('config/index.php');
if(isset($_SESSION['username'])):
if(@$_GET['action'] == 'delete-receptor' AND isset($_GET['id'])):
$mensaje = mysqli_query($connection, "SELECT id,title,message FROM mp WHERE id = '".mysqli_real_escape_string($connection, $_GET['id'])."' AND receptor = '".$_SESSION['username']."'");
if($mensaje1 = mysqli_fetch_assoc($mensaje)):
mysqli_query($connection, "DELETE FROM mp WHERE id = '".mysqli_real_escape_string($connection, $_GET['id'])."' AND receptor = '".$_SESSION['username']."'");
header('Location: ?action=recibido');
else:
echo 'No puedes eliminar este mensaje<br>';
endif;
elseif(@$_GET['action'] == 'recibido' AND isset($_GET['id'])):
$mensaje = mysqli_query($connection, "SELECT id,title,message FROM mp WHERE id = '".mysqli_real_escape_string($connection, $_GET['id'])."' AND receptor = '".$_SESSION['username']."'");
if($mensaje1 = mysqli_fetch_assoc($mensaje)):
mysqli_query($connection, "UPDATE mp SET leido = 'yes' WHERE id = '".mysqli_real_escape_string($connection, $_GET['id'])."' AND receptor = '".$_SESSION['username']."'");
echo '<b>Titulo:</b> '.$mensaje1['title'].'<br><b>Mensaje:</b> '.$mensaje1['message'].'<br> <a href="?action=delete-receptor&id='.$mensaje1['id'].'">Eliminar mensaje</a><br>';
else:
echo 'No puedes leer este mensaje<br>';
endif;
elseif(@$_GET['action'] == 'recibido'):
echo '<b>Mensajes Recibidos:</b><br>';
$receptor = mysqli_query($connection, "SELECT title FROM mp WHERE receptor = '".$_SESSION['username']."'");
if($receptor1 = mysqli_fetch_assoc($receptor)):
$receptor1 = mysqli_query($connection, "SELECT id,title,leido FROM mp WHERE receptor = '".$_SESSION['username']."' ORDER BY leido");
while($receptor2 = mysqli_fetch_assoc($receptor1)):
if($receptor2['leido'] == 'no'):
echo '<a href="?action=recibido&id='.$receptor2['id'].'">'.$receptor2['title'].'</a> <img src="http://i.imgur.com/VROg8Bx.png"></img><br>';
else:
echo '<a href="?action=recibido&id='.$receptor2['id'].'">'.$receptor2['title'].'</a><br>';
endif;
endwhile;
else:
echo 'No haz enviado ningun mensaje<br><br>';
endif;
elseif(@$_GET['action'] == 'delete-emisor' AND isset($_GET['id'])):
$mensaje = mysqli_query($connection, "SELECT id,title,message FROM mp WHERE id = '".mysqli_real_escape_string($connection, $_GET['id'])."' AND emisor = '".$_SESSION['username']."'");
if($mensaje1 = mysqli_fetch_assoc($mensaje)):
mysqli_query($connection, "DELETE FROM mp WHERE id = '".mysqli_real_escape_string($connection, $_GET['id'])."' AND emisor = '".$_SESSION['username']."'");
header('Location: ?action=enviado');
else:
echo 'No puedes eliminar este mensaje<br>';
endif;
elseif(@$_GET['action'] == 'enviado' AND isset($_GET['id'])):
$mensaje = mysqli_query($connection, "SELECT id,title,message FROM mp WHERE id = '".mysqli_real_escape_string($connection, $_GET['id'])."' AND emisor = '".$_SESSION['username']."'");
if($mensaje1 = mysqli_fetch_assoc($mensaje)):
echo '<b>Titulo:</b> '.$mensaje1['title'].'<br><b>Mensaje:</b> '.$mensaje1['message'].' <a href="?action=delete-emisor&id='.$mensaje1['id'].'">Eliminar mensaje</a><br>';
else:
echo 'No puedes leer este mensaje<br>';
endif;
elseif(@$_GET['action'] == 'enviado'):
echo '<b>Mensajes Enviados:</b><br>';
$emisor = mysqli_query($connection, "SELECT title FROM mp WHERE emisor = '".$_SESSION['username']."'");
if($emisor1 = mysqli_fetch_assoc($emisor)):
$emisor1 = mysqli_query($connection, "SELECT id,title FROM mp WHERE emisor = '".$_SESSION['username']."'");
while($emisor2 = mysqli_fetch_assoc($emisor1)):
echo '<a href="?action=enviado&id='.$emisor2['id'].'">'.$emisor2['title'].'</a><br>';
endwhile;
else:
echo 'No haz enviado ningun mensaje<br><br>';
endif;
elseif(@$_GET['action'] == 'create'):
if(isset($_POST['enviar'])):
if(empty($_POST['username']) || empty($_POST['title']) || empty($_POST['message'])):
echo 'Haz dejado campos en blanco';
else:
$email = mysqli_fetch_assoc(mysqli_query($connection, "SELECT email FROM username WHERE username = '".mysqli_real_escape_string($connection, $_POST['username'])."'"));
if($email):
mysqli_query($connection, "INSERT INTO mp(id,emisor,receptor,title,message,leido,fecha,ip) VALUES ('', '".$_SESSION['username']."', '".mysqli_real_escape_string($connection, $_POST['username'])."', '".mysqli_real_escape_string($connection, $_POST['title'])."', '".mysqli_real_escape_string($connection, $_POST['message'])."', 'no', '".date("Y-m-d")."', '".$_SERVER['SERVER_ADDR']."')");
header('Location: ?action=enviado');
else:
echo 'El usuario no existe';
endif;
endif;
endif;
echo '<form action="" method="post">
<input name="username" placeholder="Usuario para enviarle el mensaje"><br>
<input name="title" value="Sin asunto"><br>
<textarea class="mooeditable" id="textarea-1" name="message" rows="10" cols="50">Mensaje</textarea><br>
<input name="enviar" type="submit" value="Enviar mensaje">
</form>';
endif;
echo '<br><a href="?action=create">Enviar mensaje</a> | <a href="?action=recibido">Mensajes recibidos</a> | <a href="?action=enviado">Mensajes enviados</a> | <a href="/logout.php">Salir</a><hr>';
else:
header('Location: /index.php');
endif;
?>
logout.php
PHP:
<?php
session_start();
session_destroy();
header('Location: /index.php');
?>
DB:
PHP:
CREATE TABLE IF NOT EXISTS `mp` (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`emisor` varchar(30) NOT NULL,
`receptor` varchar(30) DEFAULT NULL,
`title` text NOT NULL,
`message` text NOT NULL,
`leido` enum('yes','no') NOT NULL,
`fecha` varchar(10) DEFAULT NULL,
`ip` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
)
CREATE TABLE IF NOT EXISTS `username` (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`email` varchar(30) NOT NULL,
`username` varchar(30) DEFAULT NULL,
`password` varchar(40) DEFAULT NULL,
`fecha` varchar(10) DEFAULT NULL,
`ip` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
)
Última edición por un moderador: