Foros del Web » Programando para Internet » PHP »

Problema al integrar pagina php

Estas en el tema de Problema al integrar pagina php en el foro de PHP en Foros del Web. Buenas! Estoy haciendo una pagina con BBDD PHP y en mi casa la parte de login e insertar datos funciona, pero la he querido integrar ...
  #1 (permalink)  
Antiguo 13/07/2011, 02:53
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Problema al integrar pagina php

Buenas! Estoy haciendo una pagina con BBDD PHP y en mi casa la parte de login e insertar datos funciona, pero la he querido integrar en otro lado. (he pasado la pagina e integrado la BBDD mySQL) y ha la hora de logearme es como si no trasladase las variables de una pagina a otra no lo entiendo sabeis porque puede ser¿?Gracias.
  #2 (permalink)  
Antiguo 13/07/2011, 03:54
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Problema al integrar pagina php

Buenas,

Intenta poner algo más de información, qué errores te da? algo de código, algo...

Un saludo.
  #3 (permalink)  
Antiguo 13/07/2011, 04:47
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al integrar pagina php

Yo mando desde esta pagina con un formulario las variables del usuario
Código HTML:
<form action="validar_usuario.php" method="post">
<h3 ><strong>Usuario:</strong></h3>
<input name="usuario" type="text" value="" /> 
<br></br>
<h3><strong>Contraseña:</strong></h3>
<input name="password" type="password" value="" />      
<br></br>
<input name="boton" value="Enviar" type="submit" />                
</form> 

Y en esta la recibo las variables pero me da error de HTTP_POST_VARS que el usuario y la contraseña no llegan no lo entiendo porque desde mi ordenador me pasan las variables perfectamente y en el que lo estoy integrando no.

Código PHP:
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
    
// Puedes utilizar la funcion para eliminar algun caracter en especifico
    //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
    //$password = $HTTP_POST_VARS["password"];
   
    // o puedes convertir los a su entidad HTML aplicable con htmlentities
    
$usuario strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));   
    
$password $HTTP_POST_VARS["password"];
     
 
    
$result mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)){
        if(
$row["password"] == $password){
 
            
$_SESSION["k_username"] = $row['usuario'];
           
            echo 
'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
            echo 
'<a href="index.php">Index</a></p>';
           
// header('Location: administrador/indexAdministrador.php');
            //Elimina el siguiente comentario si quieres que re-dirigir autom&aacute;ticamente a index.php
           
?> 
Gracias.
  #4 (permalink)  
Antiguo 13/07/2011, 04:58
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Problema al integrar pagina php

Y no se ta ocurrido buscar un poquito en google el error?
Bueno te ahorro el trabajo...
http://www.php.net/manual/es/reserve...ables.post.php

Saludos.
__________________
Drupal Argentina
  #5 (permalink)  
Antiguo 13/07/2011, 04:58
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Problema al integrar pagina php

El uso de $HTTP_POST_VARS está desaconsejado, utiliza $_POST, que se utiliza igual.

Un saludo.
  #6 (permalink)  
Antiguo 13/07/2011, 05:31
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al integrar pagina php

ya lo he cambiado y me sigue pasando lo mismo de pongo el usuario y contraseña y me devuelve el navegar a las pagina de login no lo entiendo
Código PHP:
if(trim($POST["usuario"]) != "" && trim($POST["password"]) != "")
{
    // Puedes utilizar la funcion para eliminar algun caracter en especifico
    //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
    //$password = $HTTP_POST_VARS["password"];
   
    // o puedes convertir los a su entidad HTML aplicable con htmlentities
    $usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));   
    $password = $HTTP_POST_VARS["password"];
     
 
    $result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if($row = mysql_fetch_array($result)){
        if($row["password"] == $password){
 
            $_SESSION["k_username"] = $row['usuario'];
           
            echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
            echo '<a href="index.php">Index</a></p>';
           // header('Location: administrador/indexAdministrador.php');
            //Elimina el siguiente comentario si quieres que re-dirigir autom&aacute;ticamente a index.php
           
?>
            <SCRIPT LANGUAGE="javascript">
            location.href = "administrador/indexAdministrador.php";
            </SCRIPT>
 <?php
        
}else{
            echo 
'Password incorrecto';
            
        
?>
            <SCRIPT LANGUAGE="javascript">
            location.href = "login.php";
            </SCRIPT>
        <?php
        
}
    }else{

        echo 
'Usuario no existente en la base de datos';
        
?>
            <SCRIPT LANGUAGE="javascript">
            location.href = "login.php";
            </SCRIPT>
        <?php
    
}
    
mysql_free_result($result);
}else{
    echo 
'Debe especificar un usuario y password';
        
?>
            <SCRIPT LANGUAGE="javascript">
            location.href = "login.php";
            </SCRIPT>
        <?php
}
mysql_close();
Undefined variable POST in la ruta del archivo ...me da el error de Debe especificar un usuario y password en la linea 21 que es primera linea que he puesto aqui
  #7 (permalink)  
Antiguo 13/07/2011, 05:38
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Problema al integrar pagina php

Haz dos cosas:

1. Quita la redirección al login.php para que se quede en la misma página en caso de error.
2. Pon el código entero, que vea dónde está la conexión a la base de datos.

Un saludo.
  #8 (permalink)  
Antiguo 13/07/2011, 05:55
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al integrar pagina php

Sin redireccion se queda así:
Código PHP:
<?
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root','')or die ('Ha fallado la conexi&oacute;n: '.mysql_error());
mysql_select_db('catalogospapel')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
 
function 
quitar($mensaje)
{
    
$nopermitidos = array("'",'\\','<','>',"\"");
    
$mensaje str_replace($nopermitidos""$mensaje);
    return 
$mensaje;
}     
 
if(
trim($POST['usuario']) != "" && trim($POST['password']) != "")
{
    
// Puedes utilizar la funcion para eliminar algun caracter en especifico
    //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
    //$password = $HTTP_POST_VARS["password"];
   
    // o puedes convertir los a su entidad HTML aplicable con htmlentities
    
$usuario strtolower(htmlentities($POST["usuario"], ENT_QUOTES));   
    
$password $POST["password"];
     
 
    
$result mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)){
        if(
$row["password"] == $password){
 
            
$_SESSION["k_username"] = $row['usuario'];
           
            echo 
'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
            echo 
'<a href="index.php">Index</a></p>';
           
// header('Location: administrador/indexAdministrador.php');
            //Elimina el siguiente comentario si quieres que re-dirigir autom&aacute;ticamente a index.php
           
?>
            <SCRIPT LANGUAGE="javascript">
            location.href = "administrador/indexAdministrador.php";
            </SCRIPT>
 <?php
        
}else{
            echo 
'Password incorrecto';
            
        
?>
<!--            <SCRIPT LANGUAGE="javascript">
            location.href = "login.php";
            </SCRIPT>-->
        <?php
        
}
    }else{

        echo 
'Usuario no existente en la base de datos';
        
?>
<!--            <SCRIPT LANGUAGE="javascript">
            location.href = "login.php";
            </SCRIPT>-->
        <?php
    
}
    
mysql_free_result($result);
}else{
    echo 
'Debe especificar un usuario y password';
        
?>
<!--            <SCRIPT LANGUAGE="javascript">
            location.href = "login.php";
            </SCRIPT>-->
        <?php
}
mysql_close();
?>
y el error que da es:
Notice: Undefined variable: POST in C:\xampp\htdocs\CatalogosPapel\validar_usuario.php on line 21.
Debe especificar un usuario y password.
  #9 (permalink)  
Antiguo 13/07/2011, 06:05
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Problema al integrar pagina php

Es $_POST, te falta el guión bajo.
  #10 (permalink)  
Antiguo 13/07/2011, 06:19
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al integrar pagina php

hostias!!! es verdad jejejej madre miaaa vaya tela muxisimas gracias...
y ya que estamos este error k me dano es un error es un aviso por que lo le he programado me lo hace:


Tengo este formulario en una pagina:
Código HTML:
<FORM METHOD="post" ACTION="adminInsertarFabricante.php" name="formulario">
<fieldset id="fPuntoVerde" style="margin-right:200px;margin-left:200px">
  <legend style="font-weight:bold;">Datos</legend>
<br>
<strong>Nombre del Fabricante:</strong><br></br>
<INPUT TYPE="text" NAME="nombre" maxlenght="30" style="margin-left:20px;">
</br><br>
</br ><strong>¿Deseas añadir Catálogos a este Fabricante?</strong><br>
</br>
<INPUT TYPE="radio" NAME="radio" value="si"  onclick="document.formulario.numeroCatalogos.disabled=!document.formulario.numeroCatalogos.disabled" onKeyPress="return acceptNum(event)" style="margin-left:50px"/>
Si
<INPUT TYPE="radio" NAME="radio" value="no"  onclick="document.formulario.numeroCatalogos.disabled=!document.formulario.numeroCatalogos.disabled" checked>No<br /><br></br>
<p><strong>Número de Catálogos:</strong><br></br><INPUT TYPE="text" NAME="numeroCatalogos" disabled="disabled" style="margin-left:20px;" onkeypress="return soloNumerico(event)"; maxlength="2"><br></br>
<input type="submit" value="Enviar" name="enviar" style="margin-left:60px;margin-bottom:10px"/>
</p>


</fieldset>
</FORM> 
y llega la variable numeroCatalogos a esta:
Código PHP:
<?php
//Parte que genera el nuevo FABRICANTE y le inserta en la tabla
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
if(isset($_POST['enviar']) && !empty($_POST['enviar'])) {

// Si entramos es que todo se ha realizado correctamente

$link mysql_connect("localhost","root","");
mysql_select_db("catalogospapel",$link);
echo 
"<strong>El fabricante: $_POST[nombre]</strong>";
// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO fabricante (nombre)
VALUES ('{$_POST['nombre']}')"
,$link);
// Ahora comprobaremos que todo ha ido correctamente
$my_error mysql_error($link);

if(!empty(
$my_error)) {

echo 
"<p><strong>Ha habido un error al insertar los valores. $my_error</strong></p>";

} else {

echo 
"<p><strong>Los datos han sido introducidos satisfactoriamente</strong></p>";

}

} else {

echo 
"<p><strong>Error, no ha introducido todos los datos</strong></p>";
}
//ESTA SEGUNDA PARTE GENERA LA TABLA HTML A PARTIR DEL NUMERO QUE SE LE PONGA EN LA PAGINA ADMINNUEVOFABRICANTE
echo"<FORM METHOD='post' ACTION='adminInsertarCatalogos.php' name='formulario'>";

For (
$size=1;$size<=$_POST['numeroCatalogos'];$size++)
{
    
$nombreCatalogo="nombreCatalogo".$size;
   echo
"<br>Catalogo $size";
   echo
"<INPUT TYPE='text' NAME='$nombreCatalogo' maxlenght='30' style='margin-left:20px;'>";
}
if (
$_POST[numeroCatalogos]>0){
    echo
"<INPUT TYPE='hidden' NAME='nombreFabricante' value='$_POST[nombre]'>";
    echo
"<INPUT TYPE='hidden' NAME='numeroCatalogos' value='$_POST[numeroCatalogos]'>";
    echo
"<INPUT TYPE='submit' NAME='enviar' style='margin-left:20px;'>";
    }
    
echo
"</FORM>";

?>
Me da este error:
Notice: Use of undefined constant numeroCatalogos - assumed 'numeroCatalogos' in C:\xampp\htdocs\CatalogosPapel\administrador\admin InsertarCatalogos.php on line 87

Pero aun así lo que le tengo programado me lo hace pero no se como quitar ese notice o ese error. No se si es grave o no. Aunque pienso que muy grave no sera cuando me hace todo no??
Gracias por todo.
  #11 (permalink)  
Antiguo 13/07/2011, 06:22
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Problema al integrar pagina php

Es por esta línea:
if ($_POST[numeroCatalogos]>0){

Te faltan las comillas, por eso te lo toma como si fuera una constante y te salta el error, cambia por esto:
if ($_POST['numeroCatalogos']>0){

Un saludo.

EDITO: hay que pensar un poco, bastaba con irse a la línea que te dice.
  #12 (permalink)  
Antiguo 13/07/2011, 06:58
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al integrar pagina php

Muchas gracias por todo ya lo he solucionado es que soy bastante nuevo en esto de PHP.

Etiquetas: integrar, mysql, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:35.