Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Necesito alluda con GET id

Estas en el tema de Necesito alluda con GET id en el foro de PHP en Foros del Web. tengo este codigo en ejemplo.php <?php $f='visualB';?> <?php echo "<a href='nuevo.php?id="$f"'> Nuevo mensaje </a>";?> ---------------------------------------------------------------------- cuando ago click en el link Nuevo mensaje no toma ...
  #1 (permalink)  
Antiguo 08/02/2016, 19:00
 
Fecha de Ingreso: febrero-2016
Mensajes: 7
Antigüedad: 8 años, 2 meses
Puntos: 0
Pregunta Necesito alluda con GET id

tengo este codigo en ejemplo.php


<?php


$f='visualB';?>

<?php echo "<a href='nuevo.php?id="$f"'> Nuevo mensaje </a>";?>

----------------------------------------------------------------------

cuando ago click en el link Nuevo mensaje no toma el GET id, osea le doy un echo y lo imprime bien pero cuando lo quiero guardar en la bd lo guarda en blanco.

esto tengo en nuevo.php (lo de titulo y mensaje no lo tegan en cuenta , es un formulario pero lo q no guarda es el GET id.)

<?php

$titulo = isset($_POST['titulo']) ? $_POST['titulo'] : null ;
$mensaje= isset($_POST['mensaje']) ? $_POST['mensaje'] : null ;
$user= $_SESSION['k_username'];

$tema= isset($_GET['id']) ? $_GET['id'] : null ;


if (!isset($_POST['Submit'])) {

$query = 'INSERT INTO tema_bd (user, tema, titulo, mensaje ) VALUES
(\''.$user.'\',\''.$tema.'\',\''.$titulo.'\',\''.$ mensaje.'\')';

mysql_query($query) or die(mysql_error());

mysql_close($link);


}


?>

lo de iset(get... tambien lo ise y pasa lo mismo. alguna explicacion?
  #2 (permalink)  
Antiguo 08/02/2016, 19:25
 
Fecha de Ingreso: enero-2016
Ubicación: Venezuela
Mensajes: 139
Antigüedad: 8 años, 3 meses
Puntos: 3
Respuesta: Necesito alluda con GET id

En ejemplo.php debes colocar
Código PHP:
<?php echo "<a href='nuevo.php?id="$f" action="nuevo.php" method="get"'> Nuevo mensaje </a>";?>
, debes colocar el get si es que vas a recoger los datos y post si los vas a envíar en el method...

Y se escribe ayuda*

Saludos...
  #3 (permalink)  
Antiguo 08/02/2016, 22:12
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 3 meses
Puntos: 39
Respuesta: Necesito alluda con GET id

@byrong no es por desmeritar, pero lo que dices no tiene concordancia. Get y Post es para enviar datos, los dos, y solo se pueden utilizar en etiquetas form desde el inicio de los tiempos.

Y se escribe "enviar"*

Sobre tu problema @david, estás incluyendo o poniendo el código para conectarle a la bd?
  #4 (permalink)  
Antiguo 09/02/2016, 05:40
 
Fecha de Ingreso: febrero-2016
Mensajes: 7
Antigüedad: 8 años, 2 meses
Puntos: 0
Exclamación Respuesta: Necesito alluda con GET id

Cita:
Iniciado por rodocoyote15 Ver Mensaje
@byrong no es por desmeritar, pero lo que dices no tiene concordancia. Get y Post es para enviar datos, los dos, y solo se pueden utilizar en etiquetas form desde el inicio de los tiempos.

Y se escribe "enviar"*

Sobre tu problema @david, estás incluyendo o poniendo el código para conectarle a la bd?
incluyendo el codigo, seria asi : se tomaria el valor con del GET que seria un ejemplo; perro

cuando vas redirigido al link ejemplo

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. $f='perro';?>
  5.  
  6. <?php echo "<a href='nuevo.php?id="$f"'> Nuevo mensaje </a>";?>

en enviar.phph (ejemplo) seria asi; tendria que tomar el valor GET y al enviar el formulario tendria q guardarlo en la Base de datos, la cosa es que... cuando le doy un echo lo imprime, osea que toma el valor bien. pero no lo guarda en la BD, lo guarda en blanco, como dije ya probe tambien con isset(get...


Código PHP:
Ver original
  1. <?php
  2.  
  3. $titulo = isset($_POST['titulo']) ? $_POST['titulo'] : null ;
  4. $mensaje= isset($_POST['mensaje']) ? $_POST['mensaje'] : null ;
  5. $user= $_SESSION['k_username'];
  6.  
  7. $animal= isset($_GET['id']) ? $_GET['id'] : null ;
  8.  
  9.  
  10. if (!isset($_POST['Submit'])) {
  11.  
  12. $query = 'INSERT INTO tema_bd (user,raza, titulo, mensaje ) VALUES
  13. (\''.$user.'\',\''.$animal.'\',\''.$titulo.'\',\''.$ mensaje.'\')';
  14.  
  15. mysql_query($query) or die(mysql_error());
  16.  
  17. mysql_close($link);
  18.  
  19.  
  20. }
  21.  
  22.  
  23. ?>

esto es un ejemplo .Nose si se entiende.

Este ejemplo que es para mostrar funciona bien pero para guardar no:

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  
  5. if ($_GET['id']) {
  6.  
  7. $raza=$_GET['id'];
  8.  
  9.  
  10. $result = mysql_query("SELECT titulo,raza FROM tema_bd WHERE raza='".$_GET['id']."'  ");
  11.  
  12.  
  13. while($f = mysql_fetch_assoc($result)){  
  14.  
  15.  
  16. echo $f['raza'];
  17.  
  18. }
  19. }
  20.  
  21. ?>

Última edición por davidvedia2011; 09/02/2016 a las 06:10
  #5 (permalink)  
Antiguo 09/02/2016, 06:35
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 3 meses
Puntos: 39
Respuesta: Necesito alluda con GET id

Insisto, estás teniendo tu archivo para conectarte a la bd?

En la sentencia no es necesario que escapes comillas, puedes poner solo "VALUES ('$var1','$var2',) y listo
  #6 (permalink)  
Antiguo 09/02/2016, 06:45
 
Fecha de Ingreso: febrero-2016
Mensajes: 7
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Necesito alluda con GET id

Cita:
Iniciado por rodocoyote15 Ver Mensaje
Insisto, estás teniendo tu archivo para conectarte a la bd?

En la sentencia no es necesario que escapes comillas, puedes poner solo "VALUES ('$var1','$var2',) y listo
Lo unico que no graba es la variable del GET id que se graba en blanco, lo demas funciona bien...me explico?

Código PHP:
<?php 

session_start
(); 

$dbhost='localhost'
$dbusername='root'
$dbuserpass=''
$dbname='tem_bd'

//datos para establecer la conexion con la base de mysql. 
$con mysql_connect($dbhost,$dbusername,$dbuserpass) or die ("problemas al conectar server");
mysql_select_db($dbname,$con) or die ("problemas al conectar db");

?>

Última edición por davidvedia2011; 09/02/2016 a las 06:59
  #7 (permalink)  
Antiguo 09/02/2016, 07:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Necesito alluda con GET id

Necesitas mostrar el formulario porque en tu código involucras variables $_POST y la única forma de poder usarlas es con formularios.

Para que un formulario pueda usar ambos métodos en el action deben ir las variables GET y en los campos los POST.

Así que algo estás haciendo mal con el formulario, el enlace que muestras es irrelevante.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 09/02/2016, 08:33
 
Fecha de Ingreso: febrero-2016
Mensajes: 7
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Necesito alluda con GET id

Cita:
Iniciado por pateketrueke Ver Mensaje
Necesitas mostrar el formulario porque en tu código involucras variables $_POST y la única forma de poder usarlas es con formularios.

Para que un formulario pueda usar ambos métodos en el action deben ir las variables GET y en los campos los POST.

Así que algo estás haciendo mal con el formulario, el enlace que muestras es irrelevante.
Este es hnuevo.php

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. $dbhost='localhost';
  5. $dbusername='root';
  6. $dbuserpass='';
  7. $dbname='mensajes_bd';
  8.  
  9. //datos para establecer la conexion con la base de mysql.
  10. $con = mysql_connect($dbhost,$dbusername,$dbuserpass) or die ("problemas al conectar server");
  11. mysql_select_db($dbname,$con) or die ("problemas al conectar db");
  12.  
  13.  
  14. ?>

Código HTML:
Ver original
  1. <form action='hnuevo.php' method='POST'>
  2.  
  3.       <table style="width: 800px;">
  4.           <tr  style="width: 800px;">
  5.        
  6. <td width="200"> <textarea  style="width:500px;height:400px" class='fields'  type='text' name='mensaje' size='20' maxlength='1000'  required/> </textarea>
  7.          
  8.           </tr>
  9.         </table>
  10.        
  11. <input align='center' class='button'  type='submit' value='Publicar' />
  12.  
  13.        </form>

Código PHP:

<?php


$mensaje
= isset($_POST['mensaje']) ? $_POST['mensaje'] : null ;
$user$_SESSION['k_username'];

$titulo= isset($_GET['id']) ? $_GET['id'] : null ;


if (!isset(
$_POST['Submit'])) { 


    
     
// Hay campos en blanco 

    
if($mensaje==NULL) {
        echo 
"<div align='center'>Campos vacios </div>"
  }else{ 
         
         
$query 'INSERT INTO mensajes_bd (user, titulo, mensaje ) VALUES 
(\''
.$user.'\',\''.$titulo.'\',\''.$mensaje.'\')'

mysql_query($query) or die(mysql_error()); 

mysql_close($link);


}    }        
?>
la variable $Titulo viene del GET anterior.-----------------------------------------------------------------------------------------------------------------------

Este es el link que redirige a hnuevo.php

Código PHP:
<?php
if (isset($_SESSION['k_username'])) {
$titulo='Seccion Publica';
?>
<table>
          <tr  style="background-color:#131314;border: 0px">
           <td width="100" ></td> 
           <td width="600">  <?php echo "<a href='hnuevo.php?id=".$titulo."'> <font style='font-weight:bold;font-size:14px;'> Nuevo Tema </font> </a>";?> <br></td>
           <td width="100"> </td>
           <td></td>
          </tr>
</table>
<?php }?>

PROBE poniendo GET en vez de POST en el form y pasa lo mismo. la graba en blanco, lo raro es que si le doy un echo a la varieble la imprime bien.
Todo lo demas lo guarda bien , el usuario y el mensaje pero no guarda el titulo

Última edición por davidvedia2011; 09/02/2016 a las 08:41
  #9 (permalink)  
Antiguo 09/02/2016, 09:34
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Necesito alluda con GET id

y donde estas enviando la id que no la veo en el form????
__________________
[email protected]
HITCEL
  #10 (permalink)  
Antiguo 09/02/2016, 09:36
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Necesito alluda con GET id

al menos debería de ir oculta o algo asi:

Código PHP:
Ver original
  1. <form action='hnuevo.php' method='POST'>
  2.  
  3.       <table style="width: 800px;">
  4.           <tr  style="width: 800px;">
  5.        
  6. <td width="200"> <textarea  style="width:500px;height:400px" class='fields'  type='text' name='mensaje' size='20' maxlength='1000'  required/> </textarea>
  7.          
  8.           </tr>
  9.         </table>
  10. <!--esta es la id que recoges la cual es enviada desde el enlace-->
  11.  <input type="hidden" name="id" value="<?php echo $_get['id']; ?>/>
  12.        
  13. <input align='center' class='button'  type='submit' value='Publicar' />
  14.  
  15.        </form>
__________________
[email protected]
HITCEL
  #11 (permalink)  
Antiguo 09/02/2016, 10:29
 
Fecha de Ingreso: febrero-2016
Mensajes: 7
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Necesito alluda con GET id

Cita:
Iniciado por xfxstudios Ver Mensaje
al menos debería de ir oculta o algo asi:

Código PHP:
Ver original
  1. <form action='hnuevo.php' method='POST'>
  2.  
  3.       <table style="width: 800px;">
  4.           <tr  style="width: 800px;">
  5.        
  6. <td width="200"> <textarea  style="width:500px;height:400px" class='fields'  type='text' name='mensaje' size='20' maxlength='1000'  required/> </textarea>
  7.          
  8.           </tr>
  9.         </table>
  10. <!--esta es la id que recoges la cual es enviada desde el enlace-->
  11.  <input type="hidden" name="id" value="<?php echo $_get['id']; ?>/>
  12.        
  13. <input align='center' class='button'  type='submit' value='Publicar' />
  14.  
  15.        </form>
Es perfecto, graba bien , pero se ve esto una vez echo el submit

Undefined variable: link y Warning: mysql_close() expects parameter 1 to be resource, null given
  #12 (permalink)  
Antiguo 09/02/2016, 11:29
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Necesito alluda con GET id

colócalo así:

Código PHP:
Ver original 

esa es la variable de conexión que tienes
__________________
[email protected]
HITCEL

Etiquetas: mysql
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 17:23.