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

eduardo carvalho

[Ajuda] encomendas

Recommended Posts

eduardo carvalho

boa tarde

casei-me esta semana e tenho um site com informações do casamento ( localização,data,download de POI para o gps,enfim essas coisas !)

passada essa fase  queria desenvolver um sistema para encomendar fotos

alguem me pode ajudar,as encomendas podem ser gravadas na bd ou enviar um email com a encomenda

pode ser uma coisa deste tipo

ozepedroconvida.com/exemplo_site.docx

Obrigado

Share this post


Link to post
Share on other sites
pmg

Para mandar mails atraves do php faco um <form> com os campos necessarios e depois uso uma coisa parecida com esta

mail('me', 'web post', print_r($_POST, true));


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
fil79

Antes de mais, Parabéns! :thumbsup:

já tens a página criada com a listagem das imagens e só precisas de saber como enviar um mail?


MCITP-MCTS-MCP

Share this post


Link to post
Share on other sites
eduardo carvalho

Antes de mais, Parabéns! B)

já tens a página criada com a listagem das imagens e só precisas de saber como enviar um mail?

Obrigado :thumbsup:

o que eu queria era criar a pagina mais ou menos com esse aspecto

depois  "ver" quais as fotos que têm alguma opção seleccionada e qual

por exemplo

foto1 ( A4 )

foto3 ( 10X15 )

para no fim apresentar as contas e enviar um email para mim com a encomenda ou registar na bd

Obrigado

Share this post


Link to post
Share on other sites
taviroquai

Viva,

Isso é praticamente um shooping cart... pode-se fazer uma coisa parecida muito simples com php...

1. listar produtos (fotos ou pacotes de fotos)

2. guardar os produtos selecionados, bem como as quantidades, em algum lado (session php?)

3. formulário de encomenda

4. guardar os dados da encomenda em algum lado (bd ou enviar email)

Share this post


Link to post
Share on other sites
eduardo carvalho

Viva,

Isso é praticamente um shooping cart... pode-se fazer uma coisa parecida muito simples com php...

1. listar produtos (fotos ou pacotes de fotos)

2. guardar os produtos selecionados, bem como as quantidades, em algum lado (session php?)

3. formulário de encomenda

4. guardar os dados da encomenda em algum lado (bd ou enviar email)

exacto

o meu problema é o criar a lista de fotos com as caixas de selecção

Share this post


Link to post
Share on other sites
fil79

colocas essas fotos numa bd, depois listas as mesmas juntamente com uma checkbox, usando o while.


MCITP-MCTS-MCP

Share this post


Link to post
Share on other sites
eduardo carvalho

colocas essas fotos numa bd, depois listas as mesmas juntamente com uma checkbox, usando o while.

Preferia numa pasta

o codigo que tenho feito ate agora,espero uma ajuda !

problemas :

1 - gravar na bd ou enviar email

2 - Peso (com 200 fotos por ex fica super pesado)

<?php

$path = 'fotos/';

$dh = opendir($path);
$i=1;
while (($file = readdir($dh)) !== false) {
echo "<table width=\"744\" height=\"156\" border=\"1\">";


    if($file != "." && $file != "..") {
            if (substr($file, -4, -3) =="."){
            echo "    <td width=\"200\"><img src=\"fotos/$file \" width=\"200\" height=\"209\" /></td>";
echo"    <td width=\"106\"><input type=\"radio\" name=\"$file\" id=\"$file\" value=\"radio\" />";
echo"    <label for=\"radio\">10 X 15</label></td>";
echo"    <td width=\"105\"><input type=\"radio\" name=\"$file\" id=\"$file._2\" value=\"radio\" />";
echo"    <label for=\"radio2\">20 X 30</label></td>";
echo"    <td width=\"126\"><input type=\"radio\" name=\"$file\" id=\"$file._3\" value=\"radio\" />";
echo"    <label for=\"radio3\">A4</label></td>";
echo"    <td width=\"173\"><label for=\"select\">Quantidade</label>";
echo"      <select name=\"select\" id=\"select\">";
echo"        <option value=\"0\" selected=\"selected\">0</option>";
echo"        <option value=\"1\">1</option>";
echo"        <option value=\"2\">2</option>";
echo"        <option value=\"3\">3</option>";
echo"        <option value=\"4\">4</option>";
echo"        <option value=\"5\">5</option>";
echo"        <option value=\"6\">6</option>";
echo"        <option value=\"7\">7</option>";
echo"        <option value=\"8\">8</option>";
echo"        <option value=\"9\">9</option>";

echo"    </select></td>";
echo"  </tr>";
            }
}
echo"</table>";
}
closedir($dh);
?>

Share this post


Link to post
Share on other sites
pmg

Delimita o codigo com as tags de GeSHi. Ve o tutorial de GeSHi.

Em vez de usares as fotos propriamente ditas, cria e usa "thumbnails". Para mais facil gestao, mete os thumbnails numa directoria propria para eles, possivelmente descendente da(s) directoria(s) onde estao as fotos:

$path = 'fotos/thumbs';


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
eduardo carvalho

Delimita o codigo com as tags de GeSHi. Ve o tutorial de GeSHi.

Em vez de usares as fotos propriamente ditas, cria e usa "thumbnails". Para mais facil gestao, mete os thumbnails numa directoria propria para eles, possivelmente descendente da(s) directoria(s) onde estao as fotos:

$path = 'fotos/thumbs';

corrigido no post original

estas fotos já são thumbnails,as fotos propriamente ditas não vão ficar alojadas

Share this post


Link to post
Share on other sites
eduardo carvalho

alguém me pode dar uma ajuda com o código ?

tenho de verificar se há alguma opção escolhida e se houver ai é que verifico a quantidade

Obrigado

Share this post


Link to post
Share on other sites
pmg

No script do action do teu form faz, para testes

<?php
echo '<pre>'; print_r($_POST); echo '</pre>';

// o resto ...
?>

Isto permite-te ver exactamente o que o script recebe. Faz varias experiencias com diversas seleccoes para averiguar as diferencas.

O que o PHP "ve" baseia-se no 'name' dos elementos no HTML: no teu caso o nome do(s) ficheiro(s).

if ($_POST['thumbnail01.jpg'] == 'radio') /* a imagem thumbnail01.jpg estava seleccionada */;

Podes mudar o 'name' para um array e o valor para o nome do ficheiro

<input type="radio" name="img[]" value="$file">

e usar o array no PHP

foreach ($_POST['img'] as $pic) {
    echo "$pic encomendada<br>\n";
}


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
eduardo carvalho

No script do action do teu form faz, para testes

<?php
echo '<pre>'; print_r($_POST); echo '</pre>';

// o resto ...
?>

Isto permite-te ver exactamente o que o script recebe. Faz varias experiencias com diversas seleccoes para averiguar as diferencas.

O que o PHP "ve" baseia-se no 'name' dos elementos no HTML: no teu caso o nome do(s) ficheiro(s).

if ($_POST['thumbnail01.jpg'] == 'radio') /* a imagem thumbnail01.jpg estava seleccionada */;

Podes mudar o 'name' para um array e o valor para o nome do ficheiro

<input type="radio" name="img[]" value="$file">

e usar o array no PHP

foreach ($_POST['img'] as $pic) {
    echo "$pic encomendada<br>\n";
}

testei mas tenho duas duvidas/problemas

ao criar o radio com o nome img[]

<input type="radio" name="img[]" value="$file">

o que vai acontecer é que só posso seleccionar uma opção para todos,visto que tem todos o mesmo nome

e tenho estes erros

Undefined index: img[]

Warning: Invalid argument supplied for foreach()

ao tentar ler o array

obrigado

pela ajuda

Share this post


Link to post
Share on other sites
pmg

testei mas tenho duas duvidas/problemas

o que vai acontecer é que só posso seleccionar uma opção

Ah! Pois ... mas se os fizeres "checkbox" em vez de "radio" ja podes seleccionar varios, mesmo com o mesmo nome.

O "img[]" do HTML (em "checkbox"ex), quando chega ao PHP transforma-se num array ($_POST['img'][0], $_POST['img'][1], ..., $_POST['img'][N]).

Podes percorre-lo com um foreach, por exemplo

foreach ($_POST['img'] as $filename) {
    echo $filename, ' seleccionado<br>';
}

------------------------------------------------------------------

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  foreach ($_POST['img'] as $v) {
    echo $v, ' seleccionado<br>';
  }
}
echo '<form method="post" action="">';
echo '<label><input type="checkbox" name="img[]" value="one">um</label><br>';
echo '<label><input type="checkbox" name="img[]" value="two">dois</label><br>';
echo '<label><input type="checkbox" name="img[]" value="three">tres</label><br>';
echo '<label><input type="checkbox" name="img[]" value="four">quatro</label><br>';
echo '<label><input type="checkbox" name="img[]" value="five">cinco</label><br>';
echo '<input type="submit" value="Go!">';
echo '</form>';
?>


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
eduardo carvalho

Ah! Pois ... mas se os fizeres "checkbox" em vez de "radio" ja podes seleccionar varios, mesmo com o mesmo nome.

O "img[]" do HTML (em "checkbox"ex), quando chega ao PHP transforma-se num array ($_POST['img'][0], $_POST['img'][1], ..., $_POST['img'][N]).

Podes percorre-lo com um foreach, por exemplo

foreach ($_POST['img'] as $filename) {
    echo $filename, ' seleccionado<br>';
}

------------------------------------------------------------------

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  foreach ($_POST['img'] as $v) {
    echo $v, ' seleccionado<br>';
  }
}
echo '<form method="post" action="">';
echo '<label><input type="checkbox" name="img[]" value="one">um</label><br>';
echo '<label><input type="checkbox" name="img[]" value="two">dois</label><br>';
echo '<label><input type="checkbox" name="img[]" value="three">tres</label><br>';
echo '<label><input type="checkbox" name="img[]" value="four">quatro</label><br>';
echo '<label><input type="checkbox" name="img[]" value="five">cinco</label><br>';
echo '<input type="submit" value="Go!">';
echo '</form>';
?>

Pus o código acima online, aqui: http://pm62eg.heliohost.org/test/htmlarray.php

podes verificar que funciona :)

vou testar mais uma vez e provavelmente alterar para checkbox !

Obrigado pela ajuda e pela paciencia !

Share this post


Link to post
Share on other sites
pmg

Pus o código online ...

Mas, por ser tão pequenino e fácil de testar, apaguei-o de lá entretanto.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.