Flavio, boa noite!
Cara, eu também uso o mac, mas não gosto do mamp.
Na verdade eu uso o apache e php que já fazem parte do sistema operacional, mas grande parte dos usuários não sabem disso.
Enfim, primeiro o erro 500 ocorre quando qualquer erro acontece, mas o debug está desativado no apache.
Neste caso, consulte os arquivos de erros do apache, lá estará detalhado o que ocorreu.
Caso não saiba como verificar isso no seu apache, você pode adicionar o trecho de código abaixo, no início do seu documento PHP onde ocorre o problema.
error_reporting(E_ALL); // habilita todos os erros
ini_set("display_errors", true); // mostra todos os erros
ini_set("log_errors", true); // indica que os erros podem ser salvos em arquivos
ini_set("error_log", "php-log-erro.log"); // caminho relativo ou absoluto de onde salvar o erro
Com isso os erros devem aparecer na tela, se não aparecerem por causa das configurações do apache, eles serão registrados no arquivo de log informado acima.
Analisando o seu código, acho que sei onde está o problema, no trecho:
O produto <? = $nome; ?> não foi adicionado
Existe um espaço antes do sinal de igual da shorttag.
Cara, não use desta forma, primeiro por que não é o padrão e muitos servidores não suportam utilizar desta forma.
Use o bom e velho echo, isso reduz muitos problemas.
Outra coisa que pode ver, é a forma de montar sua query, verifique se não existe um caracter inválido que está sendo passado nas variáveis, isso pode causar um erro ao executar o comando no banco.