Foros del Web » Programando para Internet » PHP »

como confirmar datos

Estas en el tema de como confirmar datos en el foro de PHP en Foros del Web. buenas. Tengo 2 archivos, un .htm y un .php En el htm tengo los formularios para introducir los datos y en el php compruebo que ...
  #1 (permalink)  
Antiguo 22/01/2010, 07:43
poi
 
Fecha de Ingreso: octubre-2008
Mensajes: 73
Antigüedad: 16 años, 1 mes
Puntos: 2
como confirmar datos

buenas.
Tengo 2 archivos, un .htm y un .php
En el htm tengo los formularios para introducir los datos y en el php compruebo que los datos sean correctos antes de guardarlos en una base de datos.
¿Como puedo dentro del php, una vez mostrados los datos verificados, preguntarle al usuario si esta seguro de que quiere introducir esos datos en la bd?

esto es lo que tengo:

Código PHP:
Ver original
  1. echo <<< HTML
  2.  
  3. <b>Va a ingresar: </b>
  4. <TABLE BORDER="1">
  5. <TR>
  6.    <TH>Asignatura</TH>
  7.    <TH>Curso</TH>
  8.    <TH>Nota</TH>
  9.    <TH>Creditos</TH>
  10. </TR>
  11. <TR>
  12.    <TD>$asignatura</TD>
  13.    <TD>$curso</TD>
  14.    <TD>$nota</TD>
  15.    <TD>$creditos</TD>
  16. </TR>
  17. </TABLE>
  18. <input type="submit" value="confirmar" name = "confirmar" />
  19. </head>
  20. HTML;
  21.  
  22. if(isset($_POST["confirmar"]))
  23. {
  24. //guardar
  25. }
  26. else
  27. {
  28. //no guardar
  29. }
Pero esta mal porque no hace nada, no espera ni a que pulse el boton de confirmar.

Gracias
  #2 (permalink)  
Antiguo 22/01/2010, 08:14
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: como confirmar datos

Primero que nada no entiendo que tiene que ver esto con OOP.
Por otro lado tenes un elemento input pero no tenes formulario?
Tenes una tabla en el head??? :
Ademas el valor de ese input es fijo, o sea, siempre que preguntes con isset() va a dar true porque siempre esta seteado ese valor...

Lo que deberias hacer es poner un link comun y corriente o un boton si lo prefieres asi, con un evento onclick que te lleve a una funcion javascript que haga lo que queres
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 22/01/2010, 09:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde PHP orientado a objetos a PHP
  #4 (permalink)  
Antiguo 22/01/2010, 11:56
 
Fecha de Ingreso: septiembre-2009
Ubicación: Managua
Mensajes: 128
Antigüedad: 15 años, 2 meses
Puntos: 5
Respuesta: como confirmar datos

Aca te mando el fuente de una prueba que hice

formulario.html

Aca tenemos el formulario de ingreso, el action te manda a procesodatos.php que es donde mostras la vista previa de tus datos antes de guardarlos

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulario</title>
</head>
<body>

<form name="notas" method="post" action="procesodatos.php">
Asignatura: <input type="text" name="asignatura" tabindex="1" /><br />
Curso: <select name="curso" tabindex="2">
		<option value="matematicas">Matematicas</option>
		<option value="ingles">Ingles</option>
		<option value="tecnologia de medios impresos">Tecnologia de medios impresos</option>
		<option value="diseño grafico">Diseño grafico</option>
		</select> <br />
Nota: <input type="text" name="nota" tabindex="3" /><br />
Cr&eacute;ditos: <input type="text" name="creditos" tabindex="4" /><br />
<input type="submit" name="guardar" value="guardar" />
</form>

</body>
</html> 

procesodatos.php

Aqui mostras la vista previa de la info que proporcionaste en el form anterior y pongo 2 opciones una para guardar o mas bien confirmar que deseas guardar esos datos y la otra opcion es para pasarte al form anterior y corregir por si hubo error

<?php
$asignatura = $_POST['asignatura'];
$curso = $_POST['curso'];
$nota = $_POST['nota'];
$creditos = $_POST['creditos'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script src="ajax.js" type="text/javascript" language="javascript"></script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Procesamiento de datos</title>
</head>
<body>


<b>Va a ingresar: </b>
<TABLE BORDER="1">
<TR>
<TH>Asignatura</TH>
<TH>Curso</TH>
<TH>Nota</TH>
<TH>Creditos</TH>
</TR>
<TR>
<TD><?php echo $asignatura ?></TD>
<TD><?php echo $curso ?></TD>
<TD><?php echo $nota ?></TD>
<TD><?php echo $creditos ?></TD>
</TR>
</TABLE>

<a href="javascript:history.back();">Modificar datos</a>
<br />

<input type="button" name="confirmar" value="confirmar" tabindex="1" onclick="guardardatos('<?php echo $asignatura ?>', '<?php echo $curso ?>', '<?php echo $nota ?>', '<?php echo $creditos ?>'); return false"/> // aca llamamos a la funcion guardardatos que recibe como parametro los datos del formulario para luego guardarlos a la base de datos

</body>
</html>

************************************************** ***************

guardar.php

Este archivo se encarga de insertar los datos del formulario a la base de datos

Código PHP:
$asignatura $_POST['asignatura'];
$curso $_POST['curso'];
$nota $_POST['nota'];
$creditos $_POST['creditos'];

$link mysql_connect("localhost","root","") or die("error de conexion");
mysql_select_db("prueba",$link);

$sql "insert into curso (asignatura, curso, nota, creditos) values ('" $asignatura "', '" $curso "', " $nota ", " $creditos ")";

$resultado mysql_query($sql$link);

//mysql_free_result($resultado);
mysql_close($link); 
************************************************** **************
ajax.js

El famoso ajax, que permite realizar tareas facilmente

function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

// esta funcion te permite realizar la confirmacion antes de guardar

function guardardatos(asignatura, curso, nota, creditos){

var guardar = confirm("Esta seguro de guardar los datos proporcionados?")
if ( guardar ) {
ajax=objetoAjax();
ajax.open("POST", "guardar.php", true); // usamos el metodo post para pasar las variables guardar.php que nos hace el trabajo de insertar el registro
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("curso="+curso+"&asignatura="+asignatura +"&nota="+nota+"&creditos="+creditos); // aca enviamos los parametros
alert("Los datos han sido guardados"); // por ultimo mandamos la notificacion que los datos se han guardado correctamente

}
}

************************************************** **************

Espero te sirva amigo suerte y

Etiquetas: confirmar
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 10:58.