Mostrando entradas con la etiqueta PHP. Mostrar todas las entradas
Mostrando entradas con la etiqueta PHP. Mostrar todas las entradas

martes, 28 de febrero de 2017

Crear, escribir y leer archivo de texto (.txt) con PHP

A continuación un script de PHP que crea un fichero de texto y otro que lo lee. Esto es útil cuando necesitamos guardar datos simples de algún formulario y no queremos hacer ni configurar ninguna base de datos MySQL.

1. Script PHP que crea un archivo de texto (*.txt):

$arch = fopen("archivo.txt", "w");              //abre archivo.txt modo w (write)
fwrite($arch, "Texto de ejemplo 1" . PHP_EOL);  //escribe la línea
fwrite($arch, "Otra línea extra" . PHP_EOL);    //escribe una segunda línea
fclose($arch);                                  //cerramos archivo.txt

¡Ojo! El modo fopen("archivo.txt","w") elimina el contenido que tenía anteriormente y lo sustituye por el nuevo. Si lo que queremos es añadir texto nuevo al contenido hay que abrir en modo "a", es decir, fopen("archivo.txt","a"). De esa manera el archivo será un archivo que se abre, se añade contenido nuevo, y se cierra.


2. Script PHP que lee de un archivo de texto.

$arch = fopen("archivo.txt", "r");  //abre archivo.txt
while(!feof($arch)) {               //saca todas las lineas 
echo fgets($arch);        
}
fclose($arch);                      //cierra archivo.txt                           

Evidentemente, podemos hacer un formulario con HTML y registrar los datos en fichero de texto. Recogemos con variables PHP del formulario y después lo introducimos en el fichero de texto.

¡Ánimo, hay que tener un poco de imaginación, que no nos lo van a dar todo cocinado!

Un saludo.

sábado, 9 de noviembre de 2013

Hacer una encuesta y enviarla a tu email para registrar las respuestas con PHP y HTML

Imaginemos que queremos hacer una encuesta a unos colegas para hacer una votación o para organizar una cena y queremos regitrar las respuesta. Las respuestas nos llegarán al email, asi luego podremos demostrar que no nos hemos inventado las respuestas. Para ello tenemos que crear dos archivos:
1- Formulario con HTML y JavaScript: (encuesta.php)

El HTML será el siguiente:
  

Encuesta bla bla bla

Para saber lo que opinas debes rellenar los siguientes datos. No te llevará mas de 2 minutos. Gracias!






NOTA: esta encuesta será enviada mediante correo electrónico.

El CSS de ese mismo archivo será el siguiente:
body { background-color: #F2F2F2;}
#table3 { margin-top: 20px; font-family: arial, times new roman, lucida console; width: 505px; background-color: #F2F2F2;}
#table2 { width: 200px; background-color: #F2F2F2;}
#table1 { margin-top: 20px; font-family: arial, times new roman, lucida console; width: 505px; background-color: #F2F2F2;}
#table0 { margin-top: 50px; background-color: #F2F2F2;}
input {width: 100%; height: 35px; margin-top: 20px; font-size: 14px;}
select {width: 100%; height: 35px; margin-top: 20px; font-size: 14px;}
p { font-family: arial, times new roman, lucida console; font-size: 18px; font-weight: bold;}
#p { font-family: arial, times new roman, lucida console; font-size: 14px; font-style: italic; color: #FF0000;}
.gris { color: #585858;}
El JAVASCRIPT de ese mismo archivo será el siguiente:
function resetear(){if(document.formu.nombre.value.length == 0 ||  document.formu.nombre.value == ""){document.formu.nombre.style.color = "#585858"; document.formu.nombre.value = "Nombre";}}
function borrar(){document.formu.nombre.style.color = "#000000"; document.formu.nombre.value = "";}
function resetear2(){if(document.formu.apellidos.value.length == 0 ||  document.formu.apellidos.value == ""){document.formu.apellidos.style.color = "#585858"; document.formu.apellidos.value = "Apellidos";}}
function borrar2(){document.formu.apellidos.style.color = "#000000";document.formu.apellidos.value = "";}
function validarFormulario(){
 if(document.formu.nombre.value.length == 0 || document.formu.nombre.value == "Nombre"){alert("Introduce tu nombre."); return 0;}
 if(document.formu.apellidos.value.length == 0 || document.formu.apellidos.value == "Apellidos"){alert("Introduce tus apellidos."); return 0;}
 if(document.formu.anyo.value == 0){alert("Introduce un año."); return 0;}
 if(document.formu.sexo.value == 0){alert("Introduce el sexo."); return 0;}
 if(document.formu.comidaocena.value == 0){alert("Introduce comida o cena."); return 0;}
 if(document.formu.precio.value == 0){alert("Introduce precio que deseas."); return 0;}
 document.formu.submit();
}
2- PHP para registrar y mandar a email: (registrarEncuesta.php)

<?php
$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$anyo = $_POST['anyo'];
$sexo = $_POST['sexo'];
$comidaocena = $_POST['comidaocena'];
$precio = $_POST['precio'];
 
switch($anyo){
 case 1: $anyo = 1990; break;
 case 2: $anyo = 1989; break;
 case 3: $anyo = 1988; 
}
 
switch($sexo){
 case 1: $sexo = "Hombre"; break;
 case 2: $sexo = "Mujer"; break;
 case 3: $sexo = "Por las noches cambio";
}
 
switch($comidaocena){
 case 1: $comidaocena = "Comida"; break;
 case 2: $comidaocena = "Cena";
}
 
switch($precio){
 case 1: $precio = "5-10 Euros"; break;
 case 2: $precio = "10-15 Euros"; break;
 case 3: $precio = "15-20 Euros"; break;
 case 4: $precio = "20-25 Euros";
}
 
 //echo $nombre." ".$apellidos." ".$anyo." ".$sexo." ".$comidaocena." ".$precio;
 
$email = "tu_email@dominio.com";
 
$mensaje = "

Una persona ha rellenado Encuesta.

Nombre: ".$nombre.".
Apellidos: ".$apellidos.".
Año: ".$anyo.".
Sexo: ".$sexo.".
Prefiere: ".$comidaocena.".
Precio deseado: ".$precio.".

Recuerda añadirlo a la base de datos de la encuesta.

"; $cabeceras = "From: ".$nombre." ".$apellidos."@encuesta.com\r\nContent-type: text/html\r\n"; mail($email,"Encuesta bla bla bla.",$mensaje,$cabeceras); header('Location: http://www.google.com'); //redireccionamos a google ?>
Los dos archivos tienen que estar en la misma carpeta. Espero que lo podais utilizar alguna vez.

Un saludo

lunes, 14 de octubre de 2013

Comprobar si existe usuario y contraseña en base de datos con PHP y MySQL y acceder a la web

Cuando un usuario se ha registrado ya puede acceder a la web sin problema. En el formulario de acceso donde se introduce email y contraseña se pueden dar dos casos:

1- El usuario no existe:




2- El usuario existe:


Los archivos que hay que generar son los siguientes:

1- index.php
<?php
   if(!empty($HTTP_GET_VARS['user'])){
    $user = $HTTP_GET_VARS['user'];
    if($user == 'found')
    {echo "
Uste ha accedido correctamente.
"; } if($user == 'not_found') {echo "
El usuario introducido no existe
"; } } ?>
Iniciar sesión y acceder a tu perfil.



¿Todavía no tienes una cuenta? Registrate aquí

2- home.php
<?php

 include("conect.php");
 
 $email = strtoupper($_POST['correo']);
 $pass = md5($_POST['pass']);

 $sql_chk = mysql_query("SELECT * FROM users WHERE email='$email' AND passwordmd5='$pass'",$link) or die(mysql_error());
 
 if(mysql_num_rows($sql_chk)==0)
 {
  mysql_close($link);
  header("Location: index.php?user=not_found");
 }
 else
 {
  //hacer lo que quieras...
  /*
  header("Location: index.php?user=found");
  */
 }
 
 mysql_close($link);
?>

3- Javascript para el formulario (en el head de index.php)
function validateForm(){
 if(document.form.correo.value.length == 0)
 {alert("Introduce un correo v\u00e1lido."); 
  document.form.correo.focus(); 
  return 0;
 }
 if(document.form.pass.value.length == 0)
 {alert("Introduce una contrase\u00f1a."); 
  document.form.pass.focus(); 
  return 0;
 } 
 document.form.submit();}

Si os ha gustado por favor comentadlo.
Un saludo.

domingo, 13 de octubre de 2013

Registrar un usuario en una base de datos

En este caso vamos a aprender a meter un usuario que se registra en una base de datos de MySQL. Al final puede haber dos resultados: el usuario ya existe o el usuario no existe y se añade a la base de datos. Para hacer eso comprobaremos el email que introduce. Para ello necesitamos crear una página de bienvenida (index) y darle una opción de registrar usuario:


Luego nos mandará a:



Veamos el código el archivo donde se registra el usuario :

1- register.php
<?php
 if(!empty($HTTP_GET_VARS['new_user'])){
  $user = $HTTP_GET_VARS['new_user'];
  if($user == 'inserted'){
   echo "
Registrado con éxito. Comprueba los datos en tu correo electrónico.
"; } if($user == 'rejected'){ echo "
No puedes registrarte. Este email ya está registrado.
"; } } ?>
Rellena los datos para registrarte.

Una vez el usuario introduce los datos, la información se manda a otro archivo que comprobara la información y en caso de  que el usuario no exista lo añadira a la base de datos y en caso de que exista devolverá un mensaje. Si el usuario se ha añadido con éxito recibirá un email en el correo con la información que ha introducido:

2- newuser.php
<?php
 /* MySql: Este script inserta un nuevo usuario en la tabla 'users' de la base de datos. */
 include("conect.php");
 
 $nombre = $_POST['nombre'];
 $apellidos = $_POST['apellidos'];
 $email = $_POST['correo'];
 $contra = $_POST['pass'];
 $contra1 = md5($contra);
 $genre = $_POST['sex'];
 
 $day = $_POST['dia_cumple']; 
 if($day < 10){ $day = "0".$day;}
 $month = $_POST['mes_cumple'];
 if($month < 10){ $month = "0".$month;}
 $year = $_POST['anyo_cumple'];
 
 $birthday = $year."-".$month."-".$day;
 
 $sql_chk = mysql_query("SELECT * FROM users WHERE email='$email'",$link) or die(mysql_error());

 if(mysql_num_rows($sql_chk)==0){
  mysql_query("INSERT INTO users (id, name, lastname, email, password, passwordmd5, birthday, genre) VALUES ('','$nombre','$apellidos','$email','$contra','$contra1','$birthday','$genre')",$link);
  mysql_close($link);
  if($genre == 'male'){ $genre = 'hombre';} else { $genre = 'mujer';}
  $cabeceras = "From: no-reply@dominio.com\r\nContent-type: text/html\r\n";
  $mensaje = "Le damos la bienvenida por habese registrado en dominio. 
Este mensaje se ha enviado a: ".$nombre." ".$apellidos.". 
Su email es: ".$email.". 
Su password es: ".$contra.". 
Su fecha de nacimiento es: ".$birthday.". 
Su genero es: ".$genre.". 

 Muchas gracias por unirse a nuestra red. 
Un saludo. 

 El equipo de dominio.
"; mail($email,"dominio: Email de usuario.",$mensaje,$cabeceras); header("Location: register.php?new_user=inserted"); } else{ mysql_close($link); header("Location: register.php?new_user=rejected"); } ?>

El script para validar el formulario antes de enviarlo debe estar en el "head" del html en el archivo register.php.
function validateFormReg(){
 if(document.form.nombre.value.length == 0)
  {alert("Introduce un nombre.");
   document.form.nombre.focus();
   return 0;
  }
 if(document.form.apellidos.value.length == 0)
  {alert("Introduce los apellidos.");
   document.form.apellidos.focus();
   return 0;
  }
 if(document.form.correo.value.length == 0)
  {alert("Introduce un correo v\u00e1lido."); 
   document.form.correo.focus();
   return 0;
  }
 if(document.form.correo2.value.length == 0)
  {alert("Repite el correo."); 
   document.form.correo2.focus();
   return 0;
  }
 if(document.form.pass.value.length == 0)
  {alert("Introduce una contrase\u00f1a.");
   document.form.pass.focus();
   return 0;
  }
 if(document.form.pass2.value.length == 0)
  {alert("Repite la contrase\u00f1a.");
   document.form.pass2.focus();
   return 0;
  }
 if(document.form.correo.value != document.form.correo2.value)
  {alert("Introduce correos iguales.");
   document.form.correo.value = "";
   document.form.correo2.value = "";
   document.form.correo.focus();
   return 0;
  }
 if(document.form.pass.value != document.form.pass2.value)
  {alert("Introduce contrase\u00f1as iguales.");
   document.form.pass.value = "";
   document.form.pass2.value = "";
   document.form.pass.focus();
   return 0;
  }
 var meses = document.form.mes_cumple.value; 
 var dias = document.form.dia_cumple.value; 
 var anyos = document.form.anyo_cumple.value;
 if(anyos == -1 || meses == -1 || dias == -1)
  {alert("Introduce una fecha correcta.");
   document.form.anyo_cumple.value = -1;
   document.form.mes_cumple.value = -1;
   document.form.dia_cumple.value = -1;
   return 0;
  }
 if((meses == 2 || meses == 4 || meses ==  6 || meses ==  9 || meses ==  11) && dias == 31)
  {alert("Introduce una fecha correcta.");
   document.form.anyo_cumple.value = -1;
   document.form.mes_cumple.value = -1;
   document.form.dia_cumple.value = -1;
   return 0;
  }
 if(document.form.sex.value == 0)
  {alert("Introduce un sexo.");
   return 0;
  }
 document.form.submit();
}

Una vez mas espero que os haya servido de mucho esta entrada de registrar un usuario en una página web con HTML, CSS, PHP y JAVASCRIPT.
Un saludo.

sábado, 12 de octubre de 2013

Conectarse a una base de datos MySQL con PHP (conect.php)

Archivo para conectarse a una base de datos MySQL.
1- conect.php
<?php 

/* MySql: Seleccionamos nuestra base de datos de MySQL. */

$servername = "tu_dominio.com";//el dominio
$username = "tu_usuario";      //tu usuario de MySQL
$password = "tu_contraseña";   //tu contraseña de MySQL
$bbdd = "nombre_bbdd";         //nombre de la base de datos

$link = mysql_connect ($servername,$username,$password); 
mysql_select_db($bbdd, $link); 

?>

Ahora que esta hecho, para llamarlo desde otro archivo PHP podemos hacerlo solo poniendo el siguiente código (estando conect.php y otro_archivo.php en la misma carpeta).
2- otro_archivo.php
<?php
include('conect.php');
/* Código php+mysql que quieras... */
?>

martes, 22 de mayo de 2012

Script muy interesante de PHP

Este ejercicio recoge todos los valores que metamos en el input y los suma, teniendo en cuenta que pueden ser números negativos o positivos y que los valores tienen que estar entre el -9 y el 9. Los valores pueden contener espacios en blanco o no, la única regla es que estén entre el 9 y -9.

Podeis comprobar el ejercicio en AQUI


domingo, 11 de diciembre de 2011

Copiar los datos de un formulario a un archivo mediante PHP

En este vídeo podemos aprender a recoger los datos mediante PHP y a escribirlos en un archivo de texto que tengamos en el servidor de tal manera que cuando queramos podamos ver la información que queda grabada en ese archivo de texto. Es muy útil para consultas que no nos acordemos.


lunes, 28 de noviembre de 2011

Enviarte los datos de un formulario a tu dirección de correo mediante PHP

Los datos de un formulario hecho con HTML se manipulan mediante el PHP, que es el lenguaje de programación del lado del servidor capaz de manipular e interpretar datos. Una vez que sabemos como recoger los datos de un formulario el siguiente paso es guardarnos esos datos en algún lado, y una  posibilidad es que directamente cuando rellenen el formulario de nuestra página automáticamente se nos envíe un correo con la información que ha introducido esa persona. En este caso nos enviaremos el usuario y la contraseña.


Aprende mas sobre PHP en la página oficial...
Aprende mas sobre PHP en la página oficial...
Aprende mas sobre PHP en la página oficial...

miércoles, 2 de noviembre de 2011

Recoger datos de un formulario HTML mediante PHP

En este video vamos a aprender como recoger los datos que un usuario rellena en el formulario de la página mediante el lenguaje de programación PHP. De esta manera es como se recogen la mayoría de veces la información que los usuarios completan en los formularios. Si sabemos como recoger esos datos luego es muy fácil aprender que hacer con ellos: meterlos en una base de datos, mandarlos al e-mail, copiarlos en un archivo de texto....







Aprende mas sobre PHP...
Aprende mas sobre PHP...
Aprende mas sobre PHP...
Aprende mas sobre PHP...