Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Rebeca

#1
Hola gracias por responder, entiendo lo de fechas validas, lo que quiero es usar mi base de datos.. si no tendría sentido que yo pusiera  a mano los días

Me voy a ver algún video de yutube... por hay.. encuentro algo..

Se agradece toda la información.

Saludos !!
#2
Hola Gracias por responder, estoy  haciendo pruebas y no hay caso.. 
se que el error es un parámetro mal puesto pero me fijo en los ejemplos y ninguno sale como es.. o yo no lo entiendo ..



Que estaría faltando?
#3
Hola dejo mejor explicado el código

tengo en mi base de datos el campo  $ClFechaINI =$reg['ClFechaINI']; // esta almacenado como datatime

quiero obtener la cantidad de días que hay entre ClFechaINI con la fecha actual. he probado muchos ejemplos y me salta error.

Fatal error: Uncaught TypeError: date_diff(): Argument #1 ($baseObject) must be of type DateTimeInterface, bool given in C:\xampp\htdocs
el código es el siguiente:

Código: php
$datetime1 = date_create('$ClFechaINI)');
$datetime2 = new DateTime("now");
$interval = date_diff($datetime1, $datetime2); // aca marca el error.
echo $interval->format('%R%a días');





Espero que se entienda, muchas gracias por ayudar.
Saludos
#4
Hola Gracias por responder, FechaIINI, viene de la base de datos , y esta almacenada como DATATIME,

no se porque no me hace la comparación  :(

Saludos Cordiales
Rebe
#5
Hola a todos tengo almacenado en mi base de datos mysql, la fecha de inicio de una publicación, lo que necesito ver es la cantidad de días  que le quedan de la fecha de publicación a la fecha de hoy .

Necesitaría sacar la diferencia entre la fecha almacenada y la fecha actual.
no me sale ..
dejo código:

Código: php
$fecha1= new DateTime("now");
$fecha2= new DateTime($FechaINI);///$FechaINI es la que traigo de la base de datos y esta guardada como "datatime"
$diff = $fecha1->diff($fecha2);


echo $diff->days . ' dias';


Muchas gracias de antemano, saludos a todos.!!!
Rebe
#6
Dudas y pedidos generales / Re: Validar campo Imput
Julio 23, 2021, 04:44:40 PM
Hola Gracias por responder, lo del input, lo sabia, pero se que desde la consola lo pueden borrar y aceptar cualquier archivo, por eso la idea de validar con JavaScript
Nooo sabia es verdad, elijo una imagen y un txt y me lo toma, pero si elijo una imagen y un doc, no me lo toma.. que raro.. como validar un TXT?'....

el siguiente codigo lo que hace es que salga un alert cuando eliges archivos que no son imagenes...

Código: javascript
<script type="text/javascript">
function validarExt()
{
    var archivoInput = document.getElementById('archivoInput');
    var files = document.getElementById('archivoInput').files;
   
    var archivoRuta = archivoInput.value;
    var extPermitidas = /(.png|.gif|.jpg)$/i;
    if(!extPermitidas.exec(archivoRuta)){
        alert('Asegurese de haber seleccionado una Imagen');
        archivoInput.value = '';
        return false;
    }
    if (!files.length) { //linea 217
      alert('selecciones un fila !');
      return false;


    }
  }
  </script>


Desde la lineal 217 no funciona :(

Gracias por tu repuesta
Saludos a todos
rebe
Pd: Hice lo del input ponerle "accept=".jpg, .jpeg, .png"
se agradece
#7
Dudas y pedidos generales / Validar campo Imput
Julio 22, 2021, 04:08:38 PM
Hola a todos, quiero validar el campo input, que si esta vacío no me permita seguir...

lo logre con las extensiones, pero no así con si esta vacío o no..

mi html:

Código: html5
<div class="mb-3 fondo">
  <label for="exampleFormControlInput1" class="form-label"><b>Elija una Imagen (2)</b></label>
  <input type="file" class="form-control" name="my_files[]" multiple id="archivoInput" onchange="return validarExt()">
</div>


y el código de JavaScript

Código: javascript
function validarExt()
{
    var archivoInput = document.getElementById('archivoInput');
    var files = document.getElementById('archivoInput').files;
   
    var archivoRuta = archivoInput.value;
    var extPermitidas = /(.png|.gif|.jpg)$/i;
    if(!extPermitidas.exec(archivoRuta)){
        alert('Asegurese de haber seleccionado una Imagen');
        archivoInput.value = '';
        return false;
    }
    if (!files.length) {
      alert('selecciones un fila !');
      return false;


    }
  }
  </script>



Muchas gracias de antemano  por su tiempo ..
Saludos.!!!
Rebe
#8
Solucionado
#9
Hola he realizado lo siguiente:

Código: php
$email=$_SESSION['email'];


$names = [];
$count = 0;
print_r($_FILES);
foreach ($_FILES as $file){
    if ($file['error'] == UPLOAD_ERR_OK){
        $name = $file['name'];
        $temp = $file['tmp_name'];
        $type = $file['type'];
        $size = $file['size'];

        $names[$count] = $name;
        $count++; //Se incrementa en uno cuando el archivo fue subido con éxito

        //Otras instrucciones...

        move_uploaded_file($temp, 'images/' . $name);

        if ($count == 2) break; //Se termina el bucle cuando se hayan subido dos archivos
     
    }
}


$query = "UPDATE alumnos SET img_a = '{$names[0]}', img_b = '{$names[1]}' WHERE ClEmail = '$email'"; // linea 31
$res = mysqli_query($cone, $query);


?>


el error que sale es el siguiente:

Array ( [file] => Array ( [name] => Array (
  • => 4.jpg [1] => 5.jpg ) [type] => Array (
  • => image/jpeg [1] => image/jpeg ) [tmp_name] => Array (
  • => C:\xampp\tmp\php2F3F.tmp [1] => C:\xampp\tmp\php2F50.tmp ) [error] => Array (
  • => 0 [1] => 0 ) [size] => Array (
  • => 2245406 [1] => 2463818 ) ) )
    Notice: Undefined offset: 0 in C:\xampp\htdocs\03_V.01_2021_ESTEEEE\userspublicar\CuaSaveD.php on line 31

    Notice: Undefined offset: 1 in C:\xampp\htdocs\03_V.01_2021_ESTEEEE\userspublicar\CuaSaveD.php on line 31

    Gracias,
    Saludos Rebe
#10
Hola nuevamente, he cambiado un poco el código, voy lenta pero sabiendo mas o menos lo que se trata cada linea, ahora me encuentro al guardar el nombre de las imágenes que quiero que sean dos...
no me las gurda, me las guarda  si hago un insert. en columnas , pero si quiero hacer un UPDATE que es lo que necesito no me las guarda. estuve leyendo en separar el array de $_Files[].. pero no me sale
alguna sugerencia. ?
dejo el código
Código: php

if (isset($_FILES["file"]))
{
   $reporte = null;
     for($x=0; $x<count($_FILES["file"]["name"]); $x++)
    {
        $file = $_FILES["file"];
        $nombre = $file["name"][$x];
       // $cuantas=count($_FILES['file']['name']);//rebe
        $tipo = $file["type"][$x];
        $ruta_provisional = $file["tmp_name"][$x];
        $size = $file["size"][$x];
        $dimensiones = getimagesize($ruta_provisional);
        $width = $dimensiones[0];
        $height = $dimensiones[1];
        $carpeta = "images/";

   
          $src = $carpeta.$nombre;


          //Caragamos imagenes al servidor
          move_uploaded_file($ruta_provisional, $src);       


         $porciones = explode(" ", $nombre);
     var_dump( $porciones[0]); //
     var_dump(   $porciones[1]); //LINEA 33


          //Codigo para insertar imagenes a tu Base de datos.
          //Sentencia SQL
         
        //  $query="INSERT INTO indiimag (imgA) VALUE ('$nombre')";
        //  $res = mysqli_query($cone, $query);

        $query="UPDATE alumnos SET img_a=$nombre[0] , img_b=$nombre[1] WHERE ClEmail='$email')";
        $res = mysqli_query($cone, $query);








gracias por ayudarme.. saludos a todos, buenas noches.
:)
#11
Hola chicos, muchas gracias por sus respuestas, me ayudan mucho para seguir aprendiendo, estoy leyendo y entendiendo lo que me dicen..
Gracias, a todos por colaborar y ayudarme.  :) :)
Saludos.!
Rebe
#12
Hola, no, no es ese el error,
Gracias de todas Manera.
Saludos
Rebe
#13
Hola .. Tengo un código copiado de internet ,,, lo que necesito es que en un solo botón de un input tipo file, me mande dos fotos y me guarde el nombre en la base de datos, pero antes de eso, me sale error.. y no se que estoy haciendo mal, ,, dejo código espero que me ayuden, gracias .
código html

Código: html5
<form action="upload.php" method="POST" id="frm-test" enctype="multipart/form-data">
<div class="mb-3 fondo">
  <label for="exampleFormControlInput1" class="form-label"><b>Elija una Imagen </b></label>
  <input type="file" class="form-control" name="file[]" multiple  >

</div>
<button type="submit" type="button" id="btn-enviar" class="btn btn-success btn-block segir_a">Seguir</button>
</form>


y el codigo de PHP
Código: php

if (isset($_FILES["file"]))
{
   $reporte = null;
     for($x=0; $x<count($_FILES["file"]["name"]); $x++)
    {
     echo  $file = $_FILES["file"];
     echo  $nombre = $file["name"][$x];
     echo  $tipo = $file["type"][$x];
    echo   $ruta_provisional = $file["tmp_name"][$x];
    echo   $size = $file["size"][$x];
    echo   $dimensiones = getimagesize($ruta_provisional);
    echo   $width = $dimensiones[0];
    echo   $height = $dimensiones[1];
     echo  $carpeta = "./FilesUploA/";

      if ($tipo != 'image/jpeg' && $tipo != 'image/jpg' && $tipo != 'image/png' && $tipo != 'image/gif')
      {
          $reporte .= "<p style='color: red'>Error $nombre, el archivo no es una imagen.</p>";
      }
      else if($size > 2024*2024)
      {
          $reporte .= "<p style='color: red'>Error $nombre, el tamaño máximo permitido es 1mb</p>";
      }
      else if($width > 2500 || $height > 2500)
      {
          $reporte .= "<p style='color: red'>Error $nombre, la anchura y la altura máxima permitida es de 500px</p>";
      }
      else if($width < 60 || $height < 60)
      {
          $reporte .= "<p style='color: red'>Error $nombre, la anchura y la altura mínima permitida es de 60px</p>";
      }
      else
      {
          $src = $carpeta.$nombre;

          //Caragamos imagenes al servidor
          move_uploaded_file($ruta_provisional, $src);       

          //Codigo para insertar imagenes a tu Base de datos.
          //Sentencia SQL

          echo "<p style='color: blue'>La imagen $nombre ha sido subida con éxito</p>";
      }
    }

    echo $reporte;
}


el erro que me sale es el siguiente.:



Desde ya muchas gracias...
Saludos
rebe
#14
Hola A todos nuevamente... estoy viendo el tema de $_FILES[], tengo que sacar los nombres cambiarlos, validarlos ,etc..

Mi pregunta, perdón o disculpas por preguntar tanto es como formateo la visualización de las 2 imágenes que me muestra antes de mandar a PHP.. he probado de todo ,, pero es como que no me toma nada en html, me salen verticales las imágenes, quería agregar algo de estilos, o usar boostrap.. no se... estoy en blanco......

Buque la salida de "reader.readAsDataURL(file);" no encontré como darle formato y también busque formdata.append('images[]', file); ... tampoco sale mucha información o la poca que sale no la se utilizar..

la fila de html que se visualizan las imágenes es:

<div id="lista-imagenes" ></div>


Saludos y gracias por sus tiempo  :)
Rebe

#15
Hola chicos/as. Gracias por responder, me sirvió muchísimo la ayuda de JavaScript .. MUCHAS GRACIAS.
Del lado del servidor estoy usando PHP ,  puedo validar, pero recorro hasta los errores.. y no se como solucionarlo..
Si subo dos archivos, me sale dos veces que esta bien,...

no se si se puede colocar lo de php acá, creo que no..

Muchas gracias enserio, a todos, una pequeña ayuda hace seguir adelante.

Saludos
Rebe
#16
Hola a todos, necesito su ayuda,
tengo un código (copiado), que selecciona todas las imágenes que queramos y la muestra y después las sube...

Lo que necesito hacer es limitar la cantidad de fotos , a 2 ó 3 y que solo me muestre 2 o 3 ,,, o el numero de imágenes que yo necesite subir...

Dejo código , si necesitan todo el código me avisan y lo subo..
Código: javascript

(function(){
    var button=document.getElementById('btnSubmit')
   
    var input = document.getElementById('images'),
        formdata = false;
   
    function mostrarImagenSubida(source){
        var list = document.getElementById('lista-imagenes'),
            li   = document.createElement('li'),
            img  = document.createElement('img');
        img.src = source;
        li.appendChild(img);
        list.appendChild(li);
    }
   
    //Revisamos si el navegador soporta el objeto FormData
    if(window.FormData){
        formdata = new FormData();
//        document.getElementById('btnSubmit').style.display = 'none';
    }
   
    if(input.addEventListener){
        input.addEventListener('change', function(evt){
            var i = 0, len = input.files.length, img, reader, file;
            //Si hay varias imágenes, las obtenemos una a una
            for( ; i < len; i++){
                file = input.files[i];
//                console.log(file);
                //Una pequeña validación para subir imágenes
                if(!!file.type.match(/image.*/)){
                    //Si el navegador soporta el objeto FileReader
                    if(window.FileReader){
                        reader = new FileReader();
                        //Llamamos a este evento cuando la lectura del archivo es completa
                        //Después agregamos la imagen en una lista
                        reader.onloadend = function(e){
                            mostrarImagenSubida(e.target.result);
                        };
                        //Comienza a leer el archivo
                        //Cuando termina el evento onloadend es llamado
                        reader.readAsDataURL(file);
                    }
                }
            }
        }, false);
    }
   
    //Aplicamos la subida de imágenes al evento change del input file
    if(button.addEventListener){
        button.addEventListener('click', function(evt){
            var i = 0, len = input.files.length, img, reader, file;
           
            document.getElementById('response').innerHTML = 'Subiendo...';
           
            //Si hay varias imágenes, las obtenemos una a una
            for( ; i < len; i++){
                file = input.files[i];
//                console.log(file);
                //Una pequeña validación para subir imágenes
                if(!!file.type.match(/image.*/)){
                    //Si el navegador soporta el objeto FileReader
//                    if(window.FileReader){
//                        reader = new FileReader();
//                        //Llamamos a este evento cuando la lectura del archivo es completa
//                        //Después agregamos la imagen en una lista
//                        reader.onloadend = function(e){
//                            mostrarImagenSubida(e.target.result);
//                        };
//                        //Comienza a leer el archivo
//                        //Cuando termina el evento onloadend es llamado
//                        reader.readAsDataURL(file);
//                    }
                   
//                    Si existe una instancia de FormData
                    if(formdata)
                        //Usamos el método append, cuyos parámetros son:
                            //name : El nombre del campo
                            //value: El valor del campo (puede ser de tipo Blob, File e incluso string)
                        formdata.append('images[]', file);
                }
            }
           
            //Por último hacemos uso del método proporcionado por jQuery para hacer la petición ajax
            //Como datos a enviar, el objeto FormData que contiene la información de las imágenes
            if(formdata){
                $.ajax({
                   url : 'upload.php',
                   type : 'POST',
                   data : formdata,
                   processData : false,
                   contentType : false,
                   success : function(res){
                       document.getElementById('response').innerHTML = res;
                   }               
                });
            }
        });
    }
}());

Desde ya muchas gracias por su tiempo..
Saludos a todos
Rebe.
:)
#17
Solucionado.!!
Saludos a todos.
rebe
#18
Hola Disculpen  la demora al contestar, ...

el archivo .primerpost.php es:
Código: php

session_start();
include("../config.php");
$cone=conectar();
$ClEmail =$_SESSION['email'];
$ClNomCompleto = $_POST['ClNomCompleto'];
$ClDnIE = $_POST['ClDnIE'];
$duplicado="";

if($ClNomCompleto  === '' || $ClDnIE=== ''){/*COMPROBAMOS QUE LOS DATOS NO LLEGUEN NULOS */
   
header("Location:../iniedenind.php");

}
/* COMPROBAMOS QUE EL EMAIL NO ESTE DUPLICADO */
    $registros=mysqli_query($cone,"SELECT ClDnIE FROM alumnos WHERE ClDnIE='$ClDnIE'") or die("Problemas en el select:".mysqli_error($cone));
    while ($reg=mysqli_fetch_array($registros)){ /* PRIMER WHILE */
   echo  $duplicado=$reg['ClDnIE'];
    }//echo "email duplicado";
   
    if($duplicado==$ClDnIE){
       
        header('Location:PrFormA.php?VaDup="Y"');
   
    }else{

       
            $registros=mysqli_query($cone,"SELECT user_id FROM users WHERE email='$ClEmail'") or die("Problemas en el select:".mysqli_error($cone));
            while ($reg=mysqli_fetch_array($registros)){ /**SEGUNDO WHILE */
            $id_alumnos=$reg['user_id'];
        }

        $query = "INSERT INTO   alumnos (ClNomCompleto,ClDnIE,ClEmail)  VALUES ('$ClNomCompleto','$ClDnIE','$ClEmail')";
        $res = mysqli_query($cone, $query);
       
        $publico="SIP";
       
        $query = "UPDATE  users SET UserPubli='$publico' WHERE email='$ClEmail'";
        $res = mysqli_query($cone, $query);
   header('Location:SeFormB.php');
}


?>



Ahora modifique el script , como no me anduvo hice lo siguiente.:

Código: javascript
<script>
  document.addEventListener("DOMContentLoaded", function() {
  document.getElementById("formulario").addEventListener('submit', validarFormulario);

});

function validarFormulario(evento) {
  evento.preventDefault();
  var usuario = document.getElementById('clN').value;
  if(usuario.length == 0) {

   swal("Nombre Vacio");
    //alert('No has escrito nada en el usuario');

    return;
  }
  var clave = document.getElementById('clE').value;
  if (clave.length < 8) {
    swal("Faltan Numeros");
   // alert('La clave no es válida');
    return;
  }
  this.submit();
}
</script>



Lo que me molesta y creo que a varios, son ventanas emergentes ... en lo personal me molestan.. prefiero un div de error .. pero no un "alert"
Tampoco se pintarlo en la pagina html, este ultimo una vez que valida si pasa a primer post.php
Estoy viendo muchos videos de javascript... pero en los videos es como que siempre si olvidan de algo... :)

Gracias todos,
Saludos
ReB.
#19
Hola a todos, quiero validar dos campos, anda muy bien , el tema es que una vez validado no me manda al post...

dejo mi form_
Código: html5
<form action="PrimerPost.php" method="POST" enctype="multipart/form-data" id="form"> 
<div class="container fondo">
<div class="row">
<div class="mb-3 fondo">

  <label  class="form-label"><b>Nombre Completo</b></label>
  <input type="tetx" class="form-control" id="name" name="cl_NomCompleto"  placeholder="Nombre Completo">
</div>

<div class="mb-3">
  <label  class="form-label"><b>DNI</b></label>
  <input type="text" class="form-control" id="cldne" name="cl_DnIE" placeholder="Su DNI">
</div>
<br>

<br>
</div>

<button type="submit" type="button" class="btn btn-success">Seguir</button>
<p class="warnings" id="warnings"></p>
</form>
<br>
<script src="publicar.js"></script>


y el código de validación con JavaScript.
Código: javascript


const nombre = document.getElementById("name")
const cldne = document.getElementById("cldne")
const form = document.getElementById("form")
const parrafo =document.getElementById("warnings")

    form.addEventListener("submit", e=>{
        e.preventDefault()
        let warnings =""
        parrafo.innerHTML=""
        if(nombre.value.length <4){
           
            warnings +=`El nombre es muy corto <br>`
            entrar= true
        }

        if(cldne.value.length<8){
            warnings +=`El nombre es muy corto <br>`
            entrar= true
        }
        if(entrar){
            parrafo.innerHTML= warnings
        }else{
            //this.submit();
            //document.forms.submit();
            $form.submit();
        }
    })





Posrqie no manda a "PrimerPost.php" ..... 

Sinceramente no lo se hacer , lo he sacado de youtube y anda bien pero no se encvia el form... :(
Gracias nuevamente !
Saludos
rebe
#20
Hola .. encontré Mi error...
1º es isset y después lo compruebo normalmente ...

dejo código por si alguien lo necesita.... o lo ayuda como a mi .. gracias...

Código: php
if ((isset($_SESSION['email'])==null)  AND (isset($_SESSION['UserPubli'])==null) AND (isset($_SESSION['TipoUser'])==null)){
// echo "USUARIO INVITADO";
  $TercerItems=null;
   $invItem1="<a class='nav-link' href='./registrocliente/login/login/index.php'>Ingresar</a>";
   $PrimerItems=null;
   $invItem2 =null;
   $SegundItems=null;


}elseif ( $_SESSION['UserPubli']=="SIP"  AND $_SESSION['TipoUser'] =="INVR")  {

  $TercerItems=null;
  $invItem1="<a class='nav-link' href='./registrocliente/login/login/index.php'><b>Mi Cuenta</b></a>";
  $PrimerItems=null;
  $invItem2 =null;
  $SegundItems=  "<a class='nav-link' href='./salir.php'>Salir</a>";


Muchas Gracias.!!
Saludos Rebe