Jump to content
Fórum Script Brasil
  • 0

PRECISO AJUDA PARA TERMINAR ESTE SCRIPT


joanita
 Share

Question

neste código eu listo as diversas entradas na tabela, uma abaixo da outra... a minha questão é a seguinte, queria que desse para ao clicar num link "VER" (à frente de cada entrada) me abri-se a página "individual.php" com o conteudo total dessa entrada, em vez de mostrar so o "id, nome e suite"

LISTAR.PHP

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Lista de Reservas</title>
</head>
<body>

<?php
/*
    LISTAR.PHP
    Exibe todos os dados da tabela 'suites' já com paginação
*/

    // liga-se á base de dados
    include('ligar-bd.php');

    // inclui os estilos da página
    require_once("style.css");
    
    // número de resultados a ser exibido por página
    $per_page = 10;
    
    // pesquisa o total de páginas no banco de dados
    $result = mysql_query("SELECT * FROM suites");
    $total_results = mysql_num_rows($result);
    $total_pages = ceil($total_results / $per_page);

    // verifica se a variável 'page' está definida na URL (ex: listar.php?page=1)
    if (isset($_GET['page']) && is_numeric($_GET['page']))
    {
        $show_page = $_GET['page'];
        
        // verifica se o valor em $show_page é válido
        if ($show_page > 0 && $show_page <= $total_pages)
        {
            $start = ($show_page -1) * $per_page;
            $end = $start + $per_page;
        }
        else
        {
            // erro - mostra o primeiro conjunto de resultados
            $start = 0;
            $end = $per_page;
        }        
    }
    else
    {
        // se a página não estiver definida, mostra o primeiro conjunto de resultados
        $start = 0;
        $end = $per_page;
    }
    
    // mostra o titulo da pagina atual
    echo "<p align='center'><titulo>Lista Total de Reservas MMH</p></titulo><hr size='1'>";
        
    // exibe os dados existentes na tabela
    echo "<table align='center' width='500' border='0' cellpading='3' cellspacing='3' bgcolor='#004221'>";
    echo "<tr> <th bgcolor='#55572c'>ID</th> <th bgcolor='#55872c'>Nome</th> <th bgcolor='#55872c'>Suite</th> <th bgcolor='#55872c'>Opções</th></tr>";

    // faz um loop dos resultados pesquisados na base de dados e mostra-os na tabela
    for ($i = $start; $i < $end; $i++)
    {
        // certifica-se que o PHP não está a tentar mostrar resultados que não existem
        if ($i == $total_results) { break; }
    
        // mostra o conteúdo de cada linha da tabela
        echo "<tr>";
        echo '<td bgcolor="#55872c" align="center"><txt1>' . mysql_result($result, $i, 'id') . '</txt1></td>';
        echo '<td bgcolor="#00572c" align="center"><txt2>' . mysql_result($result, $i, 'nome') . '</txt2></td>';
        echo '<td bgcolor="#004221" align="center"><txt2>' . mysql_result($result, $i, 'suite') . '<txt2></td>';
        echo '<td bgcolor="#00572c" align="center"><txt1><b><i>&nbsp;<a href="editar.php?id=' . mysql_result($result, $i, 'id') . '"><img src="imagens/editar.png" border="0" alt="editar"></a>&nbsp;&nbsp;<a href="apagar.php?id=' . mysql_result($result, $i, 'id') . '"><img src="imagens/apagar.png" border="0" alt="apagar"></a>&nbsp;</i></b></txt1></td>';
        echo "</tr>";
    }
    // fecha a tabela
    echo "</table>";
    
?>

<table align='center' width='500' border='1' cellpading='3' cellspacing='3' bgcolor=''>
<td bgcolor='#55572c' align='center'><txt1>
<p align='center'><b><i><a href="adicionar.php">Adicionar Nova Reserva</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='individual.php?page=1'>Outra Página</a></i></b></p>

<?PHP
    // mostra a paginação
    echo "</b></p><hr size='1'>";
    echo "<p align='center'><b>";
    echo "| ";
    for ($i = 1; $i <= $total_pages; $i++)
    {
        echo "<a href='listar.php?page=$i'>$i</a> | ";
    }
?>

</txt1></td></table>
</body>
</html>

 

 

abaixo o código que recupera todos os dados individuais de cada entrada (como teste coloquei a abrir a ID=7 porque é a única que tenho atualmente)

INDIVIDUAL.PHP

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Reserva Atual</title>
</head>
<body>

<?php
/*
    INDIVIDUAL.PHP
    Exibe todos os dados de uma determinada suite
*/

    // liga-se á base de dados
    include('ligar-bd.php');

    // inclui os estilos da página
    require_once("style.css");
    
    // pesquisa o total de páginas no banco de dados
    $result = mysql_query("SELECT * FROM suites WHERE (id = '7')");

    // mostra o titulo da pagina atual
    echo "<p align='center'><titulo>Reserva Atual</p></titulo><hr size='1'>";
        
    // mostra o conteúdo de cada linha da tabela
    echo "<table align='center' width='500' border='0' cellpading='3' cellspacing='3' bgcolor='#004221'>

     <tr><td align='right' width='150' height='32'><txt1>Nome:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;<font color='yellow'><b><i>" . mysql_result($result, $i, 'nome') .

"</b></i></txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Telefone:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'telefone') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Email:&nbsp;            </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'email') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Suite Reservada:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'suite') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Tipo de Reserva:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'tipo-reserva') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Data Check-in:&nbsp;        </txt1></td><td bgcolor='#91c200'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'checkin') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Data Check-out:&nbsp;        </txt1></td><td bgcolor='#ff1f1f'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'checkout') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Late Check out:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'late-checkout') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Valor já Pago:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;<b>    " . mysql_result($result, $i, 'pagamento') . " €</b>    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Hora de Chegada:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'hora-chegada') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Nº Camas Extra:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'camas-extra') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Nº Berços:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'berco') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Peq. Alm. no Quarto:&nbsp;    </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'pequeno-almoco') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Jantar Incluído:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'jantar') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Data do Jantar:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'data-jantar') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Nº Animais:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'animais') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Atividades Incluídas:&nbsp;    </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'atividades') . "        </txt2></td></tr>",        
    "<tr><td align='right' width='150'><txt1>Serviço de Transporte:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'transporte') . "        </txt2></td></tr>",        
    "<tr><td align='right' width='150'><txt1>Pedido Especial:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'pedido-especial') . "    </txt2></td></tr>";

    // fecha a tabela
    echo "</table>";
    
?>

<table align='center' width='500' border='1' cellpading='3' cellspacing='3' bgcolor=''>
<td bgcolor='#55572c' align='center'><txt1>
<p align='center'><b><i><a href="adicionar.php">Adicionar Nova Reserva</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='listar.php?page=1'>Ver Todas as Reservas</a></i></b></p>
</txt1></td></table>
</body>
</html>

Edited by joanita
Link to comment
Share on other sites

Recommended Posts

  • 0

Você precisa criar um botão para exibir os detalhes de determinado registro do banco de dados certo? Existem algumas formas de fazer isso, creio que a mais simples seria passar o ID do registro que deseja exibir de forma mais detalhada via GET, ou seja pela URL do site, ficaria da seguinte forma:

O link que será inserido na tabela de listagem:
<a href="individual.php?id=<?php echo mysql_result($result, $i, 'id'); ?>">VER</a>

Agora na página individual.php ao invés de colocar manualmente um valor vamos inserir dinamicamente resgatando o valor que passarmos através do link acima, modificando o trecho do seu código:
$result = mysql_query("SELECT * FROM suites WHERE (id = $_GET['id'])");

Espero ter ajudado!

Link to comment
Share on other sites

  • 0

no listar.php da esse erro Falkom: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in .../listar.php on line 71

e no individual.php da esse: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in .../individual.php on line 21

 

:(

 

alterei o listar.php e coloquei assim (já aparece o botão e ao clicar abre o individual.php) mas... continua a dar esse erro acima:

  <a href="individual.php?id=' . mysql_result($result, $i, 'id') . '"><img src="imagens/ver.png" border="0" alt="ver"></a>

Edited by joanita
Link to comment
Share on other sites

  • 0

se eu na pagina individual.php tiver este codigo:

echo("A 1a. variável vale " . $_GET['id']);

consigo recuperar a variavel "id" (porque esta no URL), mas não consigo recuperar as restantes...

 

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Lista de Reservas</title>
</head>
<body>

<?php

/*
    INDIVIDUAL.PHP
    Exibe todos os dados da reserva com determinado "id" na tabela 'suites'
*/

    // liga-se á base de dados
    include('ligar-bd.php');

    // inclui os estilos da página
    require_once("style.css");
    
    // pesquisa o total de páginas no banco de dados
    $result = mysql_query("SELECT * FROM suites WHERE (id = $id)");

 

 

    //TESTE PARA RECEBER A VARIAVEL id (A FUNCIONAR)
    echo("A 1a. variável vale " . $_GET['id']);

    //TESTE PARA RECEBER TODAS AS VARIAVEIS DA RESERVA (não esta a funcionar)
    echo( "<table align='center' width='500' border='0' cellpading='3' cellspacing='3' bgcolor='#004221'>

     <tr><td align='right' width='150' height='32'><txt1>Nome:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $_GET['nome'] ."            </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Telefone:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    ". $_GET['telefone'] ."            </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Email:&nbsp;            </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $_GET['email'] ."            </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Suite Reservada:&nbsp;    </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    ". $_GET['suite'] ."            </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Tipo de Reserva:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $_GET['tipo_reserva'] ."        </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Data Check-in:&nbsp;        </txt1></td><td bgcolor='#91c200'><txt2>&nbsp;&nbsp;    ". $_GET['checkin'] ."            </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Data Check-out:&nbsp;        </txt1></td><td bgcolor='#ff1f1f'><txt2>&nbsp;&nbsp;    ". $_GET['checkout'] ."            </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Late Check out:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $_GET['late_checkout'] ."        </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Valor já Pago:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;<b>    ". $_GET['pagamento'] ." €</b>        </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Hora de Chegada:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $_GET['hora_chegada'] ."        </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Nº Camas Extra:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    ". $_GET['camas_extra'] ."        </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Nº Berços:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $_GET['berco'] ."            </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Peq. Alm. no Quarto:&nbsp;    </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    ". $_GET['pequeno_almoco'] ."        </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Jantar Incluído:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $_GET['jantar'] ."            </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Data do Jantar:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    ". $_GET['data_jantar'] ."        </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Nº Animais:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $_GET['animais'] ."            </txt2></td></tr>"),
    ("<tr><td align='right' width='150'><txt1>Atividades Incluídas:&nbsp;    </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    ". $_GET['atividades'] ."        </txt2></td></tr>"),        
    ("<tr><td align='right' width='150'><txt1>Serviço de Transporte:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $_GET['transporte'] ."        </txt2></td></tr>"),        
    ("<tr><td align='right' width='150'><txt1>Pedido Especial:&nbsp;    </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    ". $_GET['pedido_especial'] ."        </txt2></td></tr>");

    // fecha a tabela
    echo "</table>";

?>

<table align='center' width='500' border='1' cellpading='3' cellspacing='3' bgcolor=''>
<td bgcolor='#55572c' align='center'><txt1>
<p align='center'><b><i><a href="adicionar.php">Adicionar Nova Reserva</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='listar.php?page=1'>Ver Todas as Reservas</a></i></b></p>
</txt1></td></table>

</body>
</html>   

Edited by joanita
Link to comment
Share on other sites

  • 0

Acho que estás a confundir um pouco as situações. Quando usas $_POST e $_GET, apenas consegues ir buscar elementos passados através de um formulário ou directamente da URL (query string). Assim, os campos da consulta à tabela não vão estar acessíveis a partir do array especial $_GET. Tens de fazer algo do género:

<?php
  $result = mysql_query("SELECT * FROM suites WHERE id = $id");
  if ($result && mysql_num_rows($result) > 0)
  {
    while ($row = mysql_fetch_assoc($result))
    {
      //aqui irás conseguir aceder aos campos da tabela através de um array associativo (ex: $row["nome"])
    }
  }
 

Atenção que, conforme já referido noutras ocasiões, deves pensar em actualizar o teu código para usar MySQLi ou PDO para aceder à BD.

Edited by wootzor
Link to comment
Share on other sites

  • 0

eu utilizo um programa que é o E++ que converte automaticamente o mysql em mysqli... como ainda não domino o mysqli, no final depois de tudo estar a funcionar tento a conversao... epa isto devia ser uma coisa tão banal e esta a tornar-se cada dia mais complicado!

não estou a conseguir aplicar isso... ajuda aí, assim não da erro mas tambem não mostra nada, aparece a pagia em branco:

 

<?php
/*
    INDIVIDUAL.PHP
    Exibe todos os dados da reserva com determinado "id" na tabela 'suites'
*/

    // liga-se á base de dados
    include('ligar-bd.php');

    // inclui os estilos da página
    require_once("style.css");
    
    // pesquisa o total de páginas no banco de dados
    $result = mysql_query("SELECT * FROM suites WHERE id = $id");

     if ($result && mysql_num_rows($result) > 0)
     {
     while ($i = mysql_fetch_assoc($result))
     {

    //TESTE PARA RECEBER TODAS AS VARIAVEIS DA RESERVA
    echo "<table align='center' width='500' border='0' cellpading='3' cellspacing='3' bgcolor='#004221'>

     <tr><td align='right' width='150' height='32'><txt1>Nome:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $i['nome']. "            </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Telefone:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    ". $i['telefone'] ."            </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Email:&nbsp;            </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    ". $i['email'] ."            </txt2></td></tr>";
   // fecha a tabela
    echo "</table>";
    }
    }

?>

Edited by joanita
Link to comment
Share on other sites

  • 0

já funciona wootzor :) mas agora inda tenho outra coisa, não estou a conseguir gravar os dados do form...

 

<?php
/*
 ADICIONAR.PHP
 Permite adicionar novas entradas á base de dados
*/


    // HABILITA TODAS AS MENSAGENS DE ERRO
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL | E_STRICT );

    // inclui acesso ao servidor
    require_once("ligar-bd.php");

    // inclui os estilos da página
    require_once("style.css");

    // cria o formulário de edição
    // função que é facilmente removível.
    function renderForm($id, $nome, $telefone, $email, $suite, $tipo_reserva, $checkin, $checkout, $late_checkout, $pagamento, $hora_chegada, $camas_extra, $berco, $pequeno_almoco, $jantar, $data_jantar, $animais, $atividades, $transporte, $pedido_especial, $error)
    {
?>

<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>

$(document).ready(
function() {
    $("#datepicker1").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker2").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker3").datepicker({dateFormat: "dd-mm-yy"});
    }
);
</script>

<title>MMH</title>

</head>
<body>

<p align="center">
<titulo>ADICIONAR RESERVAS</titulo>
</p>

<form action="" method="post">
<p align="center">

<table width="450px" border="0" cellpading="4" cellspacing="8"  bgcolor="#f0f0f0">
    <tr>
        <td align="left">
            <label for="name">Nome: </label>
        </td>
        <td>
            <input type="text" name="nome" id="nome" value="">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="telefone">Telefone: </label>
        </td>
        <td>
            <input type="text" name="telefone" maxlength="9" size="9" onkeypress="return event.charCode >= 48 && event.charCode <= 57" value=""
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="email">Email: </label>
        </td>
        <td>
            <input type="text" name="email" id="email" size="9" value=""
        </td>
    </tr>

    <tr>
    <td align="left">
        <label for="suite">Suite: </label>
        </td>
        <td>
            <select name="suite" id="suite">
                <option value="Azul Céu">Azul Céu</option>
                <option value="Verde Esperança">Verde Esperança</option>
                <option value="Verde-Lima">Verde-Lima</option>
                <option value="Vermelho Paixão">Vermelho Paixão</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="tipo_reserva">Reservado via: </label>
        </td>
        <td>
            <select name="tipo_reserva" id="tipo_reserva">
                <option value="Booking">Booking</option>
                <option value="Trip Advisor">Trip Advisor</option>
                <option value="Site Oficial">Site Oficial</option>
                <option value="Pessoalmente">Pessoalmente</option>
                <option value="Outro">Outro</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkin">Check in: </label>
        </td>
        <td bgcolor='#91c200'>
            <input type="text" name="checkin" id="datepicker1" size="12" value="<?PHP echo $checkin;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkout">Check out: </label>
        </td>
        <td bgcolor='#ff1f1f'>
            <input type="text" name="checkout" id="datepicker2" size="12" value="<?PHP echo $checkout;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="late_checkout">Late Check out: </label>
        </td>
        <td>
            <select name="late_checkout" id="late_checkout">
                <option value="---">---</option>
                <option value="Sim (Máx. até ás 14h">Sim (Máx. até ás 14h)</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pagamento">Valor já Pago (€): </label>
        </td>
        <td>
            <input type="text" name="pagamento" id="pagamento" value=" 0.00€">
        </td>
    </tr>
    
    <tr>
        <td align="left">
            <label for="hora_chegada">Hora de Chegada: </label>
        </td>
        <td>
            <select type="text" name="hora_chegada" id="hora_chegada">
            <?php
            for ($i = 0;$i<=23;$i++)
                        {
                echo ($i < 10) ? "<option>0" . $i . ":00</option>" : "<option>" . $i . ":00</option>";
                echo ($i < 10) ? "<option>0" . $i . ":30</option>" : "<option>" . $i . ":30</option>";
                        }
            ?>    
            <?PHP echo $hora_chegada;?>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="camas_extra">Camas Extra: </label>
        </td>
        <td>
            <select name="camas_extra" id="camas_extra">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="berco">Berço: </label>
        </td>
        <td>
            <select name="berco" id="berco">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pequeno_almoco">Peq. Almoço no Quarto: </label>
        </td>
        <td>
            <select name="pequeno_almoco" id="pequeno_almoco">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="jantar">Jantar Incluído: </label>
        </td>
        <td>
            <select name="jantar" id="jantar">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select name="jantar">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="data_jantar">Data do Jantar: </label>
        </td>
        <td>
            <input type="text" name="data_jantar" id="datepicker3" value="<?PHP echo $data_jantar;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="numero_animais">Nº de Animais: </label>
        </td>
        <td>
            <select name="numero_animais" id="numero_animais">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="atividades">Atividades Incluídas: </label>
        </td>
        <td>
            <select name="atividades" id="atividades">
                <option value="---">---</option>
                <option value="Mota de Água">Mota de Água</option>
                <option value="Geocaching">Geocaching</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="transporte">Serviço de Transporte: </label>
        </td>
        <td>
            <select name="transporte" id="transporte">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pedido_especial">Pedido Especial: </label>
        </td>
        <td>
            <textarea name="pedido_especial" id="pedido_especial" value="<?PHP echo $pedido_especial;?>"> Não tem pedidos especiais...</textarea>
            <input type="hidden" name="enviar" id="enviar" value="S">
    </tr>

    <tr>
        <td align="left">
            <input type ="submit" value="Adicionar Reserva">
        </td>
    </tr>

</table>
</p>
</form>

<?php
}
 // verifica se o formulário foi bem enviado, caso tenha sido... guarda o formulário na base de dados
 if (isset($_POST['submit']))
 {
 // confirma que o valor 'id' é um número inteiro válido antes de obter os dados do formulário
 if (is_numeric($_POST['id']))
 {
 // obtem os dados do formulário, certificando-se que é válido
 $id = $_POST['id'];
 $nome = mysql_real_escape_string(htmlspecialchars($_POST['nome']));
 $telefone = mysql_real_escape_string(htmlspecialchars($_POST['telefone']));
 $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
 $suite = mysql_real_escape_string(htmlspecialchars($_POST['suite']));
 $checkin = mysql_real_escape_string(htmlspecialchars($_POST['checkin']));
 $checkout = mysql_real_escape_string(htmlspecialchars($_POST['checkout']));
 $late_checkout = mysql_real_escape_string(htmlspecialchars($_POST['late_checkout']));
 $pagamento = mysql_real_escape_string(htmlspecialchars($_POST['pagamento']));
 $hora_chegada = mysql_real_escape_string(htmlspecialchars($_POST['hora_chegada']));
 $camas_extra = mysql_real_escape_string(htmlspecialchars($_POST['camas_extra']));
 $berco = mysql_real_escape_string(htmlspecialchars($_POST['berco']));
 $pequeno_almoco = mysql_real_escape_string(htmlspecialchars($_POST['pequeno_almoco']));
 $jantar = mysql_real_escape_string(htmlspecialchars($_POST['jantar']));
 $data_jantar = mysql_real_escape_string(htmlspecialchars($_POST['data_jantar']));
 $animais = mysql_real_escape_string(htmlspecialchars($_POST['animais']));
 $atividades = mysql_real_escape_string(htmlspecialchars($_POST['atividades']));
 $transpote = mysql_real_escape_string(htmlspecialchars($_POST['transporte']));
 $pedidio_especial = mysql_real_escape_string(htmlspecialchars($_POST['pedido_especial']));
 
 // verifique se os campos obrigatórios estão preenchidos
 if ($nome == '' || $telefone == '' || $suite == '' || $checkin == '' || $checkout == '' || $pagamento == '')
 {
 // cria uma mensagem de erro
 $error = 'ERRO:
Por favor, preencha todos os campos requisitados!';
 
 // exibe o erro
 renderForm($id, $nome, $suite, $error);
 }
 else
 {
 // grava os dados na base de dados
 mysql_query("INSERT INTO suites VALUES nome='$nome', telefone='$telefone', email='$email', suite='$suite', tipo_reserva='$tipo_reserva', checkin='$checkin', checkout='$checkout', late_checkout='$late_checkout', pagamento='$pagamento', hora_chegada='$hora_chegada', camas_extra='$camas_extra', berco='$berco', pequeno_almoco='$pequeno_almoco', jantar='$jantar', data_jantar='$data_jantar', animais='$animais', atividades='$atividades', transporte='$transporte', pedido_especial='$pedido_especial' WHERE id='$id'")
 or die(mysql_error());
 
 // após gravar redireciona para a página de listagem
 header("Location: listar.php");
 }
 }
 else
 {
 // se o 'id' não for válido, exibe um erro
 echo 'Erro! ID inválido';
 }
 }
 else
 // Se o formulário não tiver sido apresentado, obtem os dados da base de dados e apresenta o formulário
 {
 
 // obtem o valor 'id' do URL (caso exista), certificando-se que é válido (verifica se é numérico / maior do que 0)
 if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0)
 {
 // query da base de dados
 $id = $_GET['id'];
 $result = mysql_query("SELECT * FROM suites WHERE id=$id")
 or die(mysql_error());
 $row = mysql_fetch_array($result);
 
 // verifica se o 'id' combina com alguma linha existente na base de dados
 if($row)
 {
 
 // pega nos dados da base de dados
 $nome = $row['nome'];
 $telefone = $row['telefone'];
 $email = $row['email'];
 $suite = $row['suite'];
 $tipo_reserva = $row['tipo_reserva'];
 $checkin = $row['checkin'];
 $checkout = $row['checkout'];
 $late_checkout = $row['late_checkout'];
 $pagamento = $row['pagamento'];
 $hora_chegada = $row['hora_chegada'];
 $camas_extra = $row['camas_extra'];
 $berco = $row['berco'];
 $pequeno_almoco = $row['pequeno_almoco'];
 $jantar = $row['jantar'];
 $data_jantar = $row['data_jantar'];
 $animais = $row['animais'];
 $atividades = $row['atividades'];
 $transporte = $row['transporte'];
 $pedido_especial = $row['pedido_especial'];
 
 // mostra o formulário
 renderForm($id, $nome, $telefone, $email, $suite, $tipo_reserva, $checkin, $checkout, $late_checkout, $pagamento, $hora_chegada, $camas_extra, $berco, $pequeno_almoco, $jantar, $data_jantar, $animais, $atividades, $transporte, $pedido_especial, '');
 }
 else
 // se nenhuma correspondência existir, mostra mensagem
 {
 echo "Sem resultados!";
 }
 }
 else
 // se o 'id' na URL não for válido ou se não houver nenhum valor 'id', mostra um erro
 {
 echo '<p align="center">Erro! Não existem resultados com esse ID.</p>';
 }
 }
?>

<table align='center' width='500' border='1' cellpading='3' cellspacing='3' bgcolor=''>
<td bgcolor='#55572c' align='center'><txt1>
<p align='center'><b><i><a href='listar.php?page=1'>Ver Todas as Reservas</a></i></b></p>
</txt1></td></table>
</body>
</html>

 

Link to comment
Share on other sites

  • 0

é mesmo uma serie de erros com o php, o melhor é pegar no html e reconstruir a parte do php limpinho... tenho isto ate agora ve la:

 

<?php
/*
 ADICIONAR.PHP
 Permite adicionar novas entradas á base de dados
*/

    // HABILITA TODAS AS MENSAGENS DE ERRO
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL | E_STRICT );

    // inclui acesso ao servidor
    require_once("ligar-bd.php");

    // inclui os estilos da página
    require_once("style.css");
?>

<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>

$(document).ready(
function() {
    $("#datepicker1").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker2").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker3").datepicker({dateFormat: "dd-mm-yy"});
    }
);
</script>

<title>MMH</title>

</head>
<body>

<p align="center">
<titulo>ADICIONAR RESERVAS</titulo>
</p>

<form action="" method="post">
<p align="center">

<table width="450px" border="0" cellpading="4" cellspacing="8"  bgcolor="#f0f0f0">
    <tr>
        <td align="left">
            <label for="name">Nome: </label>
        </td>
        <td>
            <input type="text" name="nome" id="nome" value="">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="telefone">Telefone: </label>
        </td>
        <td>
            <input type="text" name="telefone" maxlength="9" size="9" onkeypress="return event.charCode >= 48 && event.charCode <= 57" value=""
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="email">Email: </label>
        </td>
        <td>
            <input type="text" name="email" id="email" size="9" value=""
        </td>
    </tr>

    <tr>
    <td align="left">
        <label for="suite">Suite: </label>
        </td>
        <td>
            <select name="suite" id="suite">
                <option value="Azul Céu">Azul Céu</option>
                <option value="Verde Esperança">Verde Esperança</option>
                <option value="Verde-Lima">Verde-Lima</option>
                <option value="Vermelho Paixão">Vermelho Paixão</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="tipo_reserva">Reservado via: </label>
        </td>
        <td>
            <select name="tipo_reserva" id="tipo_reserva">
                <option value="Booking">Booking</option>
                <option value="Trip Advisor">Trip Advisor</option>
                <option value="Site Oficial">Site Oficial</option>
                <option value="Pessoalmente">Pessoalmente</option>
                <option value="Outro">Outro</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkin">Check in: </label>
        </td>
        <td bgcolor='#91c200'>
            <input type="text" name="checkin" id="datepicker1" size="12" value="<?PHP echo $checkin;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkout">Check out: </label>
        </td>
        <td bgcolor='#ff1f1f'>
            <input type="text" name="checkout" id="datepicker2" size="12" value="<?PHP echo $checkout;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="late_checkout">Late Check out: </label>
        </td>
        <td>
            <select name="late_checkout" id="late_checkout">
                <option value="---">---</option>
                <option value="Sim (Máx. até ás 14h">Sim (Máx. até ás 14h)</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pagamento">Valor já Pago (€): </label>
        </td>
        <td>
            <input type="text" name="pagamento" id="pagamento" value=" 0.00€">
        </td>
    </tr>
    
    <tr>
        <td align="left">
            <label for="hora_chegada">Hora de Chegada: </label>
        </td>
        <td>
            <select type="text" name="hora_chegada" id="hora_chegada">
            <?php
            for ($i = 0;$i<=23;$i++)
                        {
                echo ($i < 10) ? "<option>0" . $i . ":00</option>" : "<option>" . $i . ":00</option>";
                echo ($i < 10) ? "<option>0" . $i . ":30</option>" : "<option>" . $i . ":30</option>";
                        }
            ?>    
            <?PHP echo $hora_chegada;?>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="camas_extra">Camas Extra: </label>
        </td>
        <td>
            <select name="camas_extra" id="camas_extra">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="berco">Berço: </label>
        </td>
        <td>
            <select name="berco" id="berco">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pequeno_almoco">Peq. Almoço no Quarto: </label>
        </td>
        <td>
            <select name="pequeno_almoco" id="pequeno_almoco">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="jantar">Jantar Incluído: </label>
        </td>
        <td>
            <select name="jantar" id="jantar">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select name="jantar">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="data_jantar">Data do Jantar: </label>
        </td>
        <td>
            <input type="text" name="data_jantar" id="datepicker3" value="<?PHP echo $data_jantar;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="numero_animais">Nº de Animais: </label>
        </td>
        <td>
            <select name="numero_animais" id="numero_animais">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="atividades">Atividades Incluídas: </label>
        </td>
        <td>
            <select name="atividades" id="atividades">
                <option value="---">---</option>
                <option value="Mota de Água">Mota de Água</option>
                <option value="Geocaching">Geocaching</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="transporte">Serviço de Transporte: </label>
        </td>
        <td>
            <select name="transporte" id="transporte">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pedido_especial">Pedido Especial: </label>
        </td>
        <td>
            <textarea name="pedido_especial" id="pedido_especial" value="<?PHP echo $pedido_especial;?>"> Não tem pedidos especiais...</textarea>
            <input type="hidden" name="enviar" id="enviar" value="S">
    </tr>

    <tr>
        <td align="left">
            <input type ="submit" name="submit" id="submit" value="Adicionar Reserva">
        </td>
    </tr>

</table>
</p>
</form>

Link to comment
Share on other sites

  • 0

adicionei o seguinte codigo PHP a esse HTML

<?php
/*
 ADICIONAR.PHP
 Permite adicionar novas entradas á base de dados
*/

    // HABILITA TODAS AS MENSAGENS DE ERRO
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL | E_STRICT );

    // inclui os estilos da página
    require_once("style.css");

    // inclui acesso ao servidor
    require_once("ligar-bd.php");

    // Se existir algum erro é mostrado
    if ($error != '')
    {
    echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
    }

 // verifica se o formulário foi bem enviado, caso tenha sido... guarda o formulário na base de dados
 if (isset($_POST['submit']))
 {

 $id =            $POST['id'];
 $nome =        $POST['nome'];
 $telefone =         $POST['telefone'];
 $email =        $POST['email'];
 $suite =        $POST['suite'];
 $tipo_reserva =     $POST['tipo_reserva'];
 $checkin =         $POST['checkin'];
 $checkout =         $POST['checkout'];
 $late_checkout =     $POST['late_checkout'];
 $pagamento =         $POST['pagamento'];
 $hora_chegada =     $POST['hora_chegada'];
 $camas_extra =     $POST['camas_extra'];
 $berco =         $POST['berco'];
 $pequeno_almoco =     $POST['pequeno_almoco'];
 $jantar =         $POST['jantar'];
 $data_jantar =     $POST['data_jantar'];
 $animais =         $POST['animais'];
 $atividades =         $POST['atividades'];
 $transporte =         $POST['transporte'];
 $pedido_especial =     $POST['pedido_especial'];

// insere os dados na base de dados
$sql  = "INSERT INTO suites ('nome', 'telefone', 'email', 'suite', 'tipo_reserva', 'checkin', 'checkout', 'late_checkout', 'pagamento', 'hora_chegada', 'camas_extra', 'berco', 'pequeno_almoco', 'jantar',

'data_jantar', 'animais', 'atividades', 'transporte', 'pedido_especial') VALUES

('$nome','$telefone','$email','$suite','$tipo_reserva','$checkin','$checkout','$late_checkout','$pagamento','$hora_chegada','$camas_extra','$berco','$pequeno_almoco','$jantar','$data_jantar','$animais','$atividade

s','$transporte','$pedido_especial)" or die(mysql_error());

 // após gravar redireciona para a página de listagem
 echo "<p align='center'>Adicionado com sucesso!</p>";
 header("Location: listar.php");
 }
 else
 {
 echo "Nada foi gravado!";
 }

?>

 

mas mal abro a pagina "adicionar.php" no topo aparece logo isto:

Notice: Undefined variable: error in /home/rpublici/public_html/matodoshomens/adicionar.php on line 18
Nada foi gravado!

e quando clico em enviar os dados do form aparece:

Notice: Undefined variable: error in /.../adicionar.php on line 18

Notice: Undefined variable: POST in /.../adicionar.php on line 27... etc ate ao 46

Edited by joanita
Link to comment
Share on other sites

  • 0

1. onde está:
$POST['pagamento'];
$POST['hora_chegada'];

etc.

troque por:

$_POST['pagamento'];
$_POST['hora_chegada'];

etc.

2. novamente você esta declarando uma variavel:
$sql  = "INSERT INTO suites ( etc.

precisa transformar isso num comando ao banco de dados, ex:

$sql= mysql_query("INSERT INTO ETC.) or die(mysql_error());

como já expliquei em outro tópico

3. tire as aspas dos nomes de colunas:
'nome', 'telefone', 'email', 'suite', 'tipo_reserva', 'checkin', 'checkout',
etc.

deixe assim:

nome, telefone, email, suite, tipo_reserva, checkin, checkout,

etc.

4. na ultima variavel faltou uma aspa simples:

'$pedido_especial

a proposito, sugiro que de uma melhorada nos teus "ifs" (lógica);
ex:

if(isset(botao gravar))
{
executa inserção
}

if(inserção ok)
{
exibe mensagem OU redireciona
(não tem como fazer as 2 operações simultaneamente,a menos que exiba a mensagem,de um "delay" e depois redireciona
}

else{
exibe mensagem "nada foi gravado"
}

 

Link to comment
Share on other sites

  • 0

continua a não dar... está assim atualmente:

<?php
/*
 ADICIONAR.PHP
 Permite adicionar novas entradas á base de dados
*/

    // HABILITA TODAS AS MENSAGENS DE ERRO
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL | E_STRICT );

    // inclui os estilos da página
    require_once("style.css");

    // inclui acesso ao servidor
    require_once("ligar-bd.php");

    // Se existir algum erro é mostrado
    if ($error != '')
    {
    echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
    }

 // verifica se o formulário foi bem enviado, caso tenha sido... guarda o formulário na base de dados
 if (isset($_POST['submit']))
 {

 $id =            $_POST['id'];
 $nome =        $_POST['nome'];
 $telefone =         $_POST['telefone'];
 $email =        $_POST['email'];
 $suite =        $_POST['suite'];
 $tipo_reserva =     $_POST['tipo_reserva'];
 $checkin =         $_POST['checkin'];
 $checkout =         $_POST['checkout'];
 $late_checkout =     $_POST['late_checkout'];
 $pagamento =         $_POST['pagamento'];
 $hora_chegada =     $_POST['hora_chegada'];
 $camas_extra =     $_POST['camas_extra'];
 $berco =         $_POST['berco'];
 $pequeno_almoco =     $_POST['pequeno_almoco'];
 $jantar =         $_POST['jantar'];
 $data_jantar =     $_POST['data_jantar'];
 $animais =         $_POST['animais'];
 $atividades =         $_POST['atividades'];
 $transporte =         $_POST['transporte'];
 $pedido_especial =     $_POST['pedido_especial'];

// insere os dados na base de dados
$sql = mysql_query("INSERT INTO suites (nome, telefone, email, suite, tipo_reserva, checkin, checkout, late_checkout, pagamento, hora_chegada, camas_extra, berco,

pequeno_almoco, jantar, data_jantar, animais, atividades, transporte, pedido_especial) VALUES

('$nome','$telefone','$email','$suite','$tipo_reserva','$checkin','$checkout','$late_checkout','$pagamento','$hora_chegada','$camas_extra','$berco','$pequeno_almoco','$jant

ar','$data_jantar','$animais','$atividades','$transporte','$pedido_especial") or die(mysql_error());

 // após gravar redireciona para a página de listagem
 echo "<p align='center'>Adicionado com sucesso!</p>";
 }
 else
 {
 echo "Nada foi gravado!";
 }

?>

<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>

$(document).ready(
function() {
    $("#datepicker1").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker2").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker3").datepicker({dateFormat: "dd-mm-yy"});
    }
);
</script>

<title>MMH</title>

</head>
<body>

<p align="center">
<titulo>ADICIONAR RESERVAS</titulo>
</p>

<form action="" method="post">
<p align="center">

<table width="450px" border="0" cellpading="4" cellspacing="8"  bgcolor="#f0f0f0">
    <tr>
        <td align="left">
            <label for="name">Nome: </label>
        </td>
        <td>
            <input type="text" name="nome" id="nome" value="">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="telefone">Telefone: </label>
        </td>
        <td>
            <input type="text" name="telefone" maxlength="9" size="9" onkeypress="return event.charCode >= 48 && event.charCode <= 57" value=""
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="email">Email: </label>
        </td>
        <td>
            <input type="text" name="email" id="email" size="9" value=""
        </td>
    </tr>

    <tr>
    <td align="left">
        <label for="suite">Suite: </label>
        </td>
        <td>
            <select name="suite" id="suite">
                <option value="Azul Céu">Azul Céu</option>
                <option value="Verde Esperança">Verde Esperança</option>
                <option value="Verde-Lima">Verde-Lima</option>
                <option value="Vermelho Paixão">Vermelho Paixão</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="tipo_reserva">Reservado via: </label>
        </td>
        <td>
            <select name="tipo_reserva" id="tipo_reserva">
                <option value="Booking">Booking</option>
                <option value="Trip Advisor">Trip Advisor</option>
                <option value="Site Oficial">Site Oficial</option>
                <option value="Pessoalmente">Pessoalmente</option>
                <option value="Outro">Outro</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkin">Check in: </label>
        </td>
        <td bgcolor='#91c200'>
            <input type="text" name="checkin" id="datepicker1" size="12" value="<?PHP echo $checkin;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkout">Check out: </label>
        </td>
        <td bgcolor='#ff1f1f'>
            <input type="text" name="checkout" id="datepicker2" size="12" value="<?PHP echo $checkout;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="late_checkout">Late Check out: </label>
        </td>
        <td>
            <select name="late_checkout" id="late_checkout">
                <option value="---">---</option>
                <option value="Sim (Máx. até ás 14h">Sim (Máx. até ás 14h)</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pagamento">Valor já Pago (€): </label>
        </td>
        <td>
            <input type="text" name="pagamento" id="pagamento" value=" 0.00€">
        </td>
    </tr>
    
    <tr>
        <td align="left">
            <label for="hora_chegada">Hora de Chegada: </label>
        </td>
        <td>
            <select type="text" name="hora_chegada" id="hora_chegada">
            <?php
            for ($i = 0;$i<=23;$i++)
                        {
                echo ($i < 10) ? "<option>0" . $i . ":00</option>" : "<option>" . $i . ":00</option>";
                echo ($i < 10) ? "<option>0" . $i . ":30</option>" : "<option>" . $i . ":30</option>";
                        }
            ?>    
            <?PHP echo $hora_chegada;?>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="camas_extra">Camas Extra: </label>
        </td>
        <td>
            <select name="camas_extra" id="camas_extra">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="berco">Berço: </label>
        </td>
        <td>
            <select name="berco" id="berco">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pequeno_almoco">Peq. Almoço no Quarto: </label>
        </td>
        <td>
            <select name="pequeno_almoco" id="pequeno_almoco">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="jantar">Jantar Incluído: </label>
        </td>
        <td>
            <select name="jantar" id="jantar">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select name="jantar">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="data_jantar">Data do Jantar: </label>
        </td>
        <td>
            <input type="text" name="data_jantar" id="datepicker3" value="<?PHP echo $data_jantar;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="numero_animais">Nº de Animais: </label>
        </td>
        <td>
            <select name="numero_animais" id="numero_animais">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="atividades">Atividades Incluídas: </label>
        </td>
        <td>
            <select name="atividades" id="atividades">
                <option value="---">---</option>
                <option value="Mota de Água">Mota de Água</option>
                <option value="Geocaching">Geocaching</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="transporte">Serviço de Transporte: </label>
        </td>
        <td>
            <select name="transporte" id="transporte">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pedido_especial">Pedido Especial: </label>
        </td>
        <td>
            <textarea name="pedido_especial" id="pedido_especial" value="<?PHP echo $pedido_especial;?>"> Não tem pedidos especiais...</textarea>
            <input type="hidden" name="enviar" id="enviar" value="S">
    </tr>

    <tr>
        <td align="left">
            <input type ="submit" name="submit" id="submit" value="Adicionar Reserva">
        </td>
    </tr>

</table>
</p>
</form>

<table align='center' width='500' border='1' cellpading='3' cellspacing='3' bgcolor=''>
<td bgcolor='#55572c' align='center'><txt1>
<p align='center'><b><i><a href='listar.php?page=1'>Ver Todas as Reservas</a></i></b></p>
</txt1></td></table>
</body>
</html>

Link to comment
Share on other sites

  • 0
$sql = mysql_query("INSERT INTO suites (nome, telefone, email, suite, tipo_reserva, checkin, checkout, late_checkout, pagamento, hora_chegada, camas_extra, berco, pequeno_almoco, jantar, data_jantar, animais, atividades, transporte, pedido_especial) VALUES ('$nome','$telefone','$email','$suite','$tipo_reserva','$checkin','$checkout','$late_checkout','$pagamento','$hora_chegada','$camas_extra','$berco','$pequeno_almoco','$jantar','$data_jantar','$animais','$atividades','$transporte','$pedido_especial'");

Falta fechar uma plica a seguir a $pedido_especial.

Link to comment
Share on other sites

  • 0

tens razao, mas n da na mesma, aparece-me isto:

Notice: Undefined index: id in /.../adicionar.php on line 27

Notice: Undefined index: animais in /.../adicionar.php on line 43
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Link to comment
Share on other sites

  • 0

Linha 43: A combo box (select) chama-se 'numero_animais' e não apenas 'animais'.

Se estás a criar uma nova reserva, ela ainda não tem um ID associado, logo não precisas da linha 27. De qualquer forma, só consegues ir buscar elementos passados na URL a partir do array $_GET (a tal questão da query string), o $_POST só recebe os dados de formulários que usem esse método de envio para o servidor.

Edited by wootzor
Link to comment
Share on other sites

  • 0

já corrigi a 43, bem eu simplifiquei a aparencia do sql e retirei um erro inicial, mas ainda ao enviar aparece: Notice: Undefined index: id in /.../adicionar.php on line 21
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 39

 

alem disso dentro dos campos checkin/checkout/data_jantar em vez de aparecer em branco aparece: <br /><b>Notice</b>:  Undefined variable: checkout in <b>/.../adicionar.php</b> on line <b>193</b><br /> (isto abre um calendario para selecionar as datas)

e por fim não envia nada lol... há e tambem aparece logo o erro: ERRO: Não foi possível adicionar a reserva! no inicio mesmo antes de enviar

<?php
/*
 ADICIONAR.PHP
 Permite adicionar novas entradas á base de dados
*/

    // HABILITA TODAS AS MENSAGENS DE ERRO
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL | E_STRICT );

    // inclui os estilos da página
    require_once("style.css");

    // inclui acesso ao servidor
    require_once("ligar-bd.php");

 // verifica se o formulário foi bem enviado, caso tenha sido... guarda o formulário na base de dados
 if (isset($_POST['submit']))
 {

 $id =            $_POST['id'];
 $nome =        $_POST['nome'];
 $telefone =         $_POST['telefone'];
 $email =        $_POST['email'];
 $suite =        $_POST['suite'];
 $tipo_reserva =     $_POST['tipo_reserva'];
 $checkin =         $_POST['checkin'];
 $checkout =         $_POST['checkout'];
 $late_checkout =     $_POST['late_checkout'];
 $pagamento =         $_POST['pagamento'];
 $hora_chegada =     $_POST['hora_chegada'];
 $camas_extra =     $_POST['camas_extra'];
 $berco =         $_POST['berco'];
 $pequeno_almoco =     $_POST['pequeno_almoco'];
 $jantar =         $_POST['jantar'];
 $data_jantar =     $_POST['data_jantar'];
 $animais =         $_POST['animais'];
 $atividades =         $_POST['atividades'];
 $transporte =         $_POST['transporte'];
 $pedido_especial =     $_POST['pedido_especial'];

// insere os dados na base de dados
$sql = mysql_query("INSERT INTO suites (
nome,
telefone,
email,
suite,
tipo_reserva,
checkin,
checkout,
late_checkout,
pagamento,
hora_chegada,
camas_extra,
berco, pequeno_almoco,
jantar, data_jantar,
animais, atividades,
transporte,
pedido_especial

) VALUES (

'$nome',
'$telefone',
'$email',
'$suite',
'$tipo_reserva',
'$checkin',
'$checkout',
'$late_checkout',
'$pagamento',
'$hora_chegada',
'$camas_extra',
'$berco',
'$pequeno_almoco',
'$jantar',
'$data_jantar',
'$animais',
'$atividades',
'$transporte',
'$pedido_especial'
") or die(mysql_error());

 // após gravar mostra a mensagem de sucesso ou erro
 echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font color='red'>Reserva

adicionada com sucesso!</font></p></h3></div>";
 }
 else
 {
 echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font color='red'>ERRO: Não

foi possível adicionar a reserva!</font></p></h3></div>";
 }

?>

<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>

$(document).ready(
function() {
    $("#datepicker1").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker2").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker3").datepicker({dateFormat: "dd-mm-yy"});
    }
);
</script>

<title>MMH</title>

</head>
<body>

<p align="center">
<titulo>ADICIONAR RESERVAS</titulo>
</p>

<form action="" method="post">
<p align="center">

<table width="450px" border="0" cellpading="4" cellspacing="8"  bgcolor="#f0f0f0">
    <tr>
        <td align="left">
            <label for="name">Nome: </label>
        </td>
        <td>
            <input type="text" name="nome" id="nome" value="">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="telefone">Telefone: </label>
        </td>
        <td>
            <input type="text" name="telefone" maxlength="9" size="9" onkeypress="return event.charCode >= 48 && event.charCode <= 57" value=""
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="email">Email: </label>
        </td>
        <td>
            <input type="text" name="email" id="email" size="9" value=""
        </td>
    </tr>

    <tr>
    <td align="left">
        <label for="suite">Suite: </label>
        </td>
        <td>
            <select name="suite" id="suite">
                <option value="Azul Céu">Azul Céu</option>
                <option value="Verde Esperança">Verde Esperança</option>
                <option value="Verde-Lima">Verde-Lima</option>
                <option value="Vermelho Paixão">Vermelho Paixão</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="tipo_reserva">Reservado via: </label>
        </td>
        <td>
            <select name="tipo_reserva" id="tipo_reserva">
                <option value="Booking">Booking</option>
                <option value="Trip Advisor">Trip Advisor</option>
                <option value="Site Oficial">Site Oficial</option>
                <option value="Pessoalmente">Pessoalmente</option>
                <option value="Outro">Outro</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkin">Check in: </label>
        </td>
        <td bgcolor='#91c200'>
            <input type="text" name="checkin" id="datepicker1" size="12" value="<?PHP echo $checkin;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkout">Check out: </label>
        </td>
        <td bgcolor='#ff1f1f'>
            <input type="text" name="checkout" id="datepicker2" size="12" value="<?PHP echo $checkout;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="late_checkout">Late Check out: </label>
        </td>
        <td>
            <select name="late_checkout" id="late_checkout">
                <option value="---">---</option>
                <option value="Sim (Máx. até ás 14h">Sim (Máx. até ás 14h)</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pagamento">Valor já Pago (€): </label>
        </td>
        <td>
            <input type="text" name="pagamento" id="pagamento" value=" 0.00€">
        </td>
    </tr>
    
    <tr>
        <td align="left">
            <label for="hora_chegada">Hora de Chegada: </label>
        </td>
        <td>
            <select type="text" name="hora_chegada" id="hora_chegada">
            <?php
            for ($i = 0;$i<=23;$i++)
                        {
                echo ($i < 10) ? "<option>0" . $i . ":00</option>" : "<option>" . $i . ":00</option>";
                echo ($i < 10) ? "<option>0" . $i . ":30</option>" : "<option>" . $i . ":30</option>";
                        }
            ?>    
            <?PHP echo $hora_chegada;?>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="camas_extra">Camas Extra: </label>
        </td>
        <td>
            <select name="camas_extra" id="camas_extra">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="berco">Berço: </label>
        </td>
        <td>
            <select name="berco" id="berco">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pequeno_almoco">Peq. Almoço no Quarto: </label>
        </td>
        <td>
            <select name="pequeno_almoco" id="pequeno_almoco">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="jantar">Jantar Incluído: </label>
        </td>
        <td>
            <select name="jantar" id="jantar">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select name="jantar">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="data_jantar">Data do Jantar: </label>
        </td>
        <td>
            <input type="text" name="data_jantar" id="datepicker3" value="<?PHP echo $data_jantar;?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="animais">Nº de Animais: </label>
        </td>
        <td>
            <select name="animais" id="animais">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="atividades">Atividades Incluídas: </label>
        </td>
        <td>
            <select name="atividades" id="atividades">
                <option value="---">---</option>
                <option value="Mota de Água">Mota de Água</option>
                <option value="Geocaching">Geocaching</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="transporte">Serviço de Transporte: </label>
        </td>
        <td>
            <select name="transporte" id="transporte">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pedido_especial">Pedido Especial: </label>
        </td>
        <td>
            <textarea name="pedido_especial" id="pedido_especial" value="<?PHP echo $pedido_especial;?>"> Não tem pedidos especiais...</textarea>
            <input type="hidden" name="enviar" id="enviar" value="S">
    </tr>

    <tr>
        <td align="left">
            <input type ="submit" name="submit" id="submit" value="Adicionar Reserva">
        </td>
    </tr>

</table>
</p>
</form>

<table align='center' width='500' border='1' cellpading='3' cellspacing='3' bgcolor=''>
<td bgcolor='#55572c' align='center'><txt1>
<p align='center'><b><i><a href='listar.php?page=1'>Ver Todas as Reservas</a></i></b></p>
</txt1></td></table>
</body>
</html>

Edited by joanita
Link to comment
Share on other sites

  • 0

A questão da mensagem de erro é simples. Estás a dizer que se o formulário for enviado correctamente, aparece a mensagem de êxito. Porém, se a variável $_POST estiver vazia (i. e., se acabaste de entrar na página e ainda não enviaste o formulário), vais receber a mensagem de erro. Ou seja, o que precisas é de verificar se a inserção na BD correu bem ou não e mostrar a mensagem correspondente apenas nessa altura.

<?php
(...)
// verifica se o formulário foi bem enviado, caso tenha sido... guarda o formulário na base de dados
 if (isset($_POST['submit']))
 {

 $id =            $_POST['id'];
 $nome =        $_POST['nome'];
 $telefone =         $_POST['telefone'];
 $email =        $_POST['email'];
 $suite =        $_POST['suite'];
 $tipo_reserva =     $_POST['tipo_reserva'];
 $checkin =         $_POST['checkin'];
 $checkout =         $_POST['checkout'];
 $late_checkout =     $_POST['late_checkout'];
 $pagamento =         $_POST['pagamento'];
 $hora_chegada =     $_POST['hora_chegada'];
 $camas_extra =     $_POST['camas_extra'];
 $berco =         $_POST['berco'];
 $pequeno_almoco =     $_POST['pequeno_almoco'];
 $jantar =         $_POST['jantar'];
 $data_jantar =     $_POST['data_jantar'];
 $animais =         $_POST['animais'];
 $atividades =         $_POST['atividades'];
 $transporte =         $_POST['transporte'];
 $pedido_especial =     $_POST['pedido_especial'];

// insere os dados na base de dados
$result = mysql_query("INSERT INTO suites (
nome,
telefone,
email,
suite,
tipo_reserva,
checkin,
checkout,
late_checkout,
pagamento,
hora_chegada,
camas_extra,
berco, pequeno_almoco,
jantar, data_jantar,
animais, atividades,
transporte,
pedido_especial

) VALUES (

'$nome',
'$telefone',
'$email',
'$suite',
'$tipo_reserva',
'$checkin',
'$checkout',
'$late_checkout',
'$pagamento',
'$hora_chegada',
'$camas_extra',
'$berco',
'$pequeno_almoco',
'$jantar',
'$data_jantar',
'$animais',
'$atividades',
'$transporte',
'$pedido_especial'
") or die(mysql_error());
  if ($result) //se os dados foram correctamente inseridos, mostra mensagem de sucesso
  {
	// após gravar mostra a mensagem de sucesso ou erro
	echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font color='red'>Reserva adicionada com sucesso!</font></p></h3></div>";
  }
  else //caso contrário, mostra erro.
  {
	echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font color='red'>ERRO: Não foi possível adicionar a reserva!</font></p></h3></div>";
  }
}
?>

Alterei o nome da variável de $sql para $result porque penso que é mais directo para quem lê perceber rapidamente o que está a ser feito.

Link to comment
Share on other sites

  • 0

ok, fizeste bem, já não aparece logo a mensagem de erro no inicio, mas mesmo assim continua sem enviar, ao clicar em enviar aparece: Notice: Undefined index: id in /.../adicionar.php on line 21
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 42

 

já resolvi a cena do checkin etc... era so retirar o php la dentro que já não fazia sentido aqui.

Edited by joanita
Link to comment
Share on other sites

  • 0

Experimenta comentar a linha onde fazes o INSERT na BD e logo abaixo faz um echo da instrução. De seguida, faz submit do formulário e verifica se não há nenhum valor vazio em algum campo que não permita valores nulos.

Finalmente, experimenta executar a instrução resultante do echo directamente no MySQL (se tiveres acesso a tal).

Edited by wootzor
Link to comment
Share on other sites

  • 0

tou a toa... não sei fazer nada disso

o unico erro que tou a obter agora é: Notice: Undefined index: id in /.../adicionar.php on line 20
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 40

e com isso claro... não envia coisa alguma pro bd

Edited by joanita
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...