• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

SofiaR

PHP

6 mensagens neste tópico

Olá pessoal!

Estou a fazer uma BD via browser, mas inda sou novata nestas coisas.  Tenho a seguinte tabela já programada para k ao registar dados através do formulário em HTML este depois guarde os dados directamente na BD. Mas o k realmente pretendo é o seguinte: Solicitar dados e após submissão dos mesmos mostrá-los ao utilizador para confirmação  e após a mesma então inserir na BD.

Será k alguém me pode dar uma dica como é que isto se faz?

Obrigada  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Posso te ajudar, mas primeiro será interessante mostrares a tua tabela e já agora o teu formulário, para te poder dar um exemplo que va de encontro ao teu exemplo.

Penso que a primeira coisa que tens a fazer é criares uma ligação á tua bd a partir do php, aqui vai um primeiro exemplo:

<?php

$hostname_conn_login = "localhost";
$database_conn_login = "NOME_DA_BASE DE DADOS";
$username_conn_login = "root";
$password_conn_login = "";
$conn_login = mysql_pconnect($hostname_conn_login, $username_conn_login, $password_conn_login) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die                      ('Error connecting to mysql');
$dbname = 'sgbd080916';
mysql_select_db($dbname);
?>
<!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>SGBD080916</title>
</head>
<body>
<?php
//Busca as variaveis utilizando o array associative $_POST
$name_sci = $_POST['name_sci'];
$name_local=$_POST['name_local'];
$name_en=$_POST['name_en'];
$description=$_POST['description'];
$geo_distr=$_POST['geo_distr'];

//Efectua o query
mysql_query("INSERT INTO plant(name_sci, name_local,name_en,description,geo_distr) VALUES ('$name_sci', '$name_local', '$name_en', '$description', '$geo_distr');");
if(!mysql_query) {
die ("Erro ao inserir na base de dados!");
}

mysql_close($conn);?>

<h3>The information was introduced successfully!</h3>

</body>
</html>

Ficheiro HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>Formulario Plant</title></head>
<body>
<form action="plant.php" method="POST">
Scientific name: <input type="text" name="name_sci"/><br>
Local: <input type="text" name="name_local"/><br>
English name: <input type="text" name="name_en"/><br>
Description: <input type="text" name="description"/><br>
Geographic distribution: <input type="text" name="geo_distr"/><br>
<input type="submit" value="Save"/>
</form>
</body>

Gracias 
</html>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Precisas de 3 páginas:

1) formulário

2) validação

3) actualização

O teu problema é como passar os dados do formulário para a validação e da validação para a actualização.

formulário para validação

Os dados passam no $_POST.

No script de validação metes os dados numa variável de sessão e apresentas o formulário de validação.

validação para actualização

Se os dados foram validados, estão na variável de sessão. Actualiza a base de dados com eles.

<!-- formulario -->
<form ...>
  <input ...>
</form>

/* validação */
session_start();
$_SESSION['dados'] = $_POST;
print_r($_POST);
echo '<form method="post"><input type="submit" name="valida" value="Sim">';
echo '<input type="submit" name="valida" value="Não"></form>';

/* actualização */
session_start();
if ($_POST['valida'] == 'Sim') {
  $sql = "insert ... $_SESSION['dados']";
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora