Cómo obtener ID al enviar a MySQL desde formulario PHP

kanikase Seguir

Préstamo
Ómicron
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
22 Feb 2014
Mensajes
4.716
Necesito ayuda, como hago para saber el id que de cuando se envia a mysql, esto es lo que tengo:

PHP:
<?php
						if (isset($_POST['enviar'])) {
							if ($_POST['nombre'] && $_POST['edad'] && $_POST['genero']) {
									mysqli_query($conexion, 'INSERT INTO contenido (nombre, edad, genero, carta)
									VALUES ("'.$_POST['nombre'].'", "'.$_POST['edad'].'", "'.$_POST['genero'].'", "'.$_POST['carta1'].'")');
							} else {
								echo 'Error, tienes que llenar todos los campos.';
							}
						}
					?>


HTML:
<form action="" method="post">
						<input class="texto" type="text" name="nombre" placeholder="Escribe tu nombre" />
						<input class="texto" type="number" name="edad" placeholder="Escribe tu edad" />
						<select name="genero">
							<option selected>Seleccionar</option>
							<option id="hombre">Hombre</option>
							<option id="mujer">Mujer</option>
						</select>
						<input type="text" name="carta1" placeholder="Carta" />
						<input class="boton" type="submit" name="enviar" value="Enviar" />
					</form>

Por si no me entendieron explico mejor.
Lo que quiero es que al hacer clic en "Enviar" se valla a la página donde ya tengo el código para obtener los datos de mysql, pero no puedo, que haga clic y en vez de salir la misma pagina valla a páginax.php?id= ?? :confused:
 

Lopezito

Zeta
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
13 Dic 2011
Mensajes
1.515
[MENTION=81006]kanikase[/MENTION] proba con esto:

PHP:
<?php 
                        if (isset($_POST['enviar'])) { 
                            if ($_POST['nombre'] && $_POST['edad'] && $_POST['genero']) { 
                                    mysqli_query($conexion, 'INSERT INTO contenido (nombre, edad, genero, carta) 
                                    VALUES ("'.$_POST['nombre'].'", "'.$_POST['edad'].'", "'.$_POST['genero'].'", "'.$_POST['carta1'].'")'); 
                                    $idscons = mysqli_query($conexion,"SELECT COUNT(*) FROM contenido");
                                    $ids = $idscons->fetch_row();
                                    header('Location: pagina.php?id='.$ids[0]);
                            } else { 
                                echo 'Error, tienes que llenar todos los campos.'; 
                            } 
                        } 
                    ?>
 

kanikase

Préstamo
Ómicron
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
22 Feb 2014
Mensajes
4.716
Gracias a los dos por responder, lo que yo tenía al principio funcionaba :distant: pero e la página de destino tenía una redirección al index :fatigue:
 

irwin238

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
27 Nov 2012
Mensajes
459
PHP:
<?php

if ($_POST) {
	if (isset($_POST['enviar'])) {
		$nombre = empty($_POST['nombre']) ? NULL : mysqli_real_escape_string($conexion,$_POST['nombre']);
		$edad = empty($_POST['edad']) ? NULL : mysqli_real_escape_string($conexion,$_POST['edad']);
		$genero = empty($_POST['genero']) ? NULL : mysqli_real_escape_string($conexion,$_POST['genero']);
		$carta1 = empty($_POST['carta1']) ? NULL : mysqli_real_escape_string($conexion,$_POST['carta1']);

			if(isset($nombre) and !empty($nombre) and isset($edad) and !empty($edad) and isset($genero) and !empty($genero) and isset($carta1) and !empty($carta1)){

					$insert = mysqli_query($conexion,"INSERT INTO contenido (nombre, edad, genero, carta) VALUES ('$nombre','$edad','$genero','$carta1')");
					if (!$insert) {
						echo "Algo salio mal al guardar su registro,  intentelo nuevamente, si el error consiste reportelo a un administrador";
					}else{
						echo "Registro guardado, seras redirigido en un momento...";
						$lastid = mysqli_insert_id($conexion);
						header('Location: REGISTRADO.php?id='.$lastid);
					}

			}else{
				echo "Por favor completa todos los campos";
			}


	}
}

?>
 
Última edición:

kanikase

Préstamo
Ómicron
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
22 Feb 2014
Mensajes
4.716
PHP:
<?php

if ($_POST) {
	if (isset($_POST['enviar'])) {
		$nombre = empty($_POST['nombre']) ? NULL : mysqli_real_escape_string($conexion,$_POST['nombre']);
		$edad = empty($_POST['edad']) ? NULL : mysqli_real_escape_string($conexion,$_POST['edad']);
		$genero = empty($_POST['genero']) ? NULL : mysqli_real_escape_string($conexion,$_POST['genero']);
		$carta1 = empty($_POST['carta1']) ? NULL : mysqli_real_escape_string($conexion,$_POST['carta1']);

			if(isset($nombre) and !empty($nombre) and isset($edad) and !empty($edad) and isset($genero) and !empty($genero) and isset($carta1) and !empty($carta1)){

					$insert = mysqli_query($conexion,"INSERT INTO contenido (nombre, edad, genero, carta) VALUES ('$nombre','$edad','$genero','$carta1')");
					if (!$insert) {
						echo "Algo salio mal al guardar su registro,  intentelo nuevamente, si el error consiste reportelo a un administrador";
					}else{
						echo "Registro guardado, seras redirigido en un momento...";
						$lastid = mysqli_insert_id($conexion);
						header('Location: REGISTRADO.php?id='.$lastid);
					}

			}else{
				echo "Por favor completa todos los campos";
			}


	}
}

?>

Eso es lo que tenía, pero el destino teníauna redireccion al index y por eso crei qu no estaba funcionando :witless:
 

irwin238

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
27 Nov 2012
Mensajes
459
Eso es lo que tenía, pero el destino teníauna redireccion al index y por eso crei qu no estaba funcionando :witless:

Eso ademas evita xss por la funcion mysqli_real_escape_string... en la linea 33 encuentras
PHP:
header('Location: REGISTRADO.php?id='.$lastid);

cambias "REGISTRADO" por la pagina que quieras
 

JM0N

Gamma
Programador
Desde
20 Feb 2014
Mensajes
282
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Sigues con el error o las solucionado?
 
Arriba