Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pemoamsi

Retirar o id para definar na session

Recommended Posts

Adiciono um dado após todos os _POST:

 

include ("autentication.php");

$sqlinsert = "INSERT INTO dados( nome, morada, telefone, email) VALUES ('" . $nome. "','" . $morada. "','" . $telefone. "','" . $email. "');
mysql_query($sqlinsert) or die(mysql_error());

 

E agora como retiro desta inserção o id do dado que inseri?

 

$_SESSION['id'] = '???????????????????????????';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa função do mysql faz isso mysql_insert_id();

 

 

Coloquei o seguinte:

 

 

na primeira pagina:

$id = mysql_insert_id();
$_SESSION['id'] = $id;

 

E na outra ficou o seguinte:

$id = $_SESSION['id'];

 

Mas não funcionou... porquê?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você viu se está inserindo o registro e se ele está retornando o id inserido?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem problema de aspas no seu código ..

 

 

Que aspas?

 

 

 

você viu se está inserindo o registro e se ele está retornando o id inserido?

 

Não, fica vazio mesmo... nem se colocar:

 

$_SESSION['id'] = '1';

Compartilhar este post


Link para o post
Compartilhar em outros sites
include ("autentication.php");

$sqlinsert = "INSERT INTO dados( nome, morada, telefone, email) VALUES ('".$nome."','".$morada."','".$telefone."','".$email."')";
mysql_query($sqlinsert) or die(mysql_error());

$id = ;
$_SESSION['id'] = mysql_insert_id();

Compartilhar este post


Link para o post
Compartilhar em outros sites

include ("autentication.php");

$sqlinsert = "INSERT INTO dados( nome, morada, telefone, email) VALUES ('".$nome."','".$morada."','".$telefone."','".$email."')";
mysql_query($sqlinsert) or die(mysql_error());

$id = ;
$_SESSION['id'] = mysql_insert_id();

 

 

removi o $id = ; que dá erro e só coloquei mais o:

$id = $_SESSION['id'];

na página seguinte e não imprime nada no id....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na primeira linha do seu código você colocou session_start(); ?

 

 

Não me estavam a aparecer os Warnings, agora que falou nisso :(

 

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /homez.337/localhost/www/index.php:16) in /homez.337/localhost/www/index.php on line 16

 

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homez.337/localhost/www/index.php:16) in /homez.337/localhost/www/index.php on line 16

 

Como faço para saber o que me está a bloquear o header?

 

<?php session_start(); ?>
<!DOCTYPE html PUBLIC>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css" />
<title>Formulário</title>
</head>
<body>
<fieldset>  
<div align="center">
	<h1><legend>Formulário</legend></h1>
	<div id="stylized" class="myform">
           <?php
               $do = $_GET['do'];
               if(isset($do)){
               switch ($do)
               {
                   default:
                   case "":
                       include_once ("login.php");
                       break;
                   case "login":
                       include_once ("login.php");
                       break;
                   case "campos":
                       include_once ("campos.php");
                       break;

               else {

                   include_once ("login.php");
               }
           ?>

	</div>
</div>
</fieldset>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O session_start tem que ficar na primeira linha do código antes de tudo é por isso que esta dando esse erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O session_start tem que ficar na primeira linha do código antes de tudo é por isso que esta dando esse erro.

 

Está mesmo no inicio do documento, antes de doctype mesmo.... não tem mais nada antes... :(

 

Coloca assim na primeira linha:

<?php
    ob_start();
    session_start();

 

Coloquei e não deu :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais pq você colocou o session_start nessa página e não naquela onde cria a session?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.