Ir para conteúdo
View in the app

A better way to browse. Learn more.

Portal do Host

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Php] - Ajuda

Featured Replies

Postado

Primeiramente não sei se estou na área correta, "Desenvolvimento & Programação" envolve o PHP então queria uma ajuda muito simples, eu marcaria como a melhor resposta quem ajudasse.

Meu problema é com um sistema de contato do meu site, envolvendo o código PHP e o complemento Javascript.

 

Como funciona? : no site quando eu clico em enviar a mensagem, tem um código Javascript executando o arquivo .JS e nele processa o .PHP

 

Ele ta enviando a mensagem, mas não chega nada do meu e-mail, vejam :

 

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

SCRIPT .JS

$(document).ready(function () {
        $('div#output').hide();

        //bind send message here

        $('#send-message').click(sendMessage);

        $('button.close').live('click', function () {

                $(this).parent().find('p').html('');

                $(this).parent().hide();

        });

});



/* Contact Form */

function checkEmail(email) {

        var check = /^[\w\.\+-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,6}$/;

        if (!check.test(email)) {

                return false;

        }

        return true;

}



function sendMessage() {



        // receive the provided data

        var name = $("input#name").val();

        var email = $("input#email").val();

        var subject = $("input#subject").val();

        var phone = $("input#phone").val();

        var message = $("textarea#message").val();



        message = 'message';

        // check if all the fields are filled

        if (name == '' || phone == '' || email == '' || subject == '' || message == '') {

                $("div#output").show().html('<button type="button" class="close" data-dismiss="alert-close">x</button><p class="alert-close">Você deve preencher todos os campos</p>');



                return false;

        }



        // verify the email address

        if (!checkEmail(email)) {

                $("div#output").show().html('<button type="button" class="close" data-dismiss="alert">x</button><p>Por favor, coloque um endereço de e-mail válido</p>');

                return false;

        }



        // make the AJAX request

        var dataString = $('#cform').serialize();

        $.ajax({

                type: "POST",

                url: 'contact.php',

                data: dataString,

                dataType: 'json',

                success: function (data) {

                        if (data.success == 0) {

                                var errors = '<ul><li>';

                                if (data.name_msg != '')

                                        errors += data.name_msg + '</li>';

                                if (data.email_msg != '')

                                        errors += '<li>' + data.email_msg + '</li>';

                                if (data.phone_msg != '')

                                        errors += '<li>' + data.phone_msg + '</li>';

                                if (data.message_msg != '')

                                        errors += '<li>' + data.message_msg + '</li>';

                                if (data.subject_msg != '')

                                        errors += '<li>' + data.subject_msg + '</li>';



                                $("div#output").removeClass('alert-success').addClass('alert-error').show().html('<button type="button" class="close" data-dismiss="alert">x</button><p> Could not complete your request. See the errors below!</p>' + errors);

                        }

                        else if (data.success == 1) {



                                $("div#output").removeClass('alert-error').addClass('alert-success').show().html('<button type="button" class="close" data-dismiss="alert">x</button><p>You message has been sent successfully!</p>');

                        }



                },

                error: function (error) {

                        $("div#output").removeClass('alert-success').addClass('alert-error').show().html('<button type="button" class="close" data-dismiss="alert">x</button><p> Could not complete your request. See the error below!</p>' + error.statusText);

                }

        });



        return false;

}

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

 

Script .PHP


<?php


$send_email_to = "equipe@streemhost.com";



function send_email($name,$email,$phone,$subject,$message)

{

  global $send_email_to;  

  if($message=='message')$message='';

  $headers = "MIME-Version: 1.0" . "\r\n";

  $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

  $headers .= "From: ".$email. "\r\n";

  $message = "<strong>Email = </strong>".$email."<br>";  

  $message .= "<strong>Nome = </strong>".$name."<br>";  

  $message .= "<strong>Telefone/celular = </strong>".$phone."<br>";      

  $message .= "<strong>Mensagem = </strong>".$message."<br>";

  mail($send_email_to, $subject, $message,$headers);

  return true;

}



function validate($name,$email,$phone,$message,$subject)

{

  $return_array = array();

  $return_array['success'] = '1';

  $return_array['name_msg'] = '';  

  $return_array['email_msg'] = '';

  $return_array['phone_msg'] = '';

  $return_array['message_msg'] = '';

  $return_array['subject_msg'] = '';



 if($email == '')

  {

        $return_array['success'] = '0';

        $return_array['email_msg'] = 'E-Mail é obrigatório';

  }

  else

  {

        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';

        if(!preg_match($email_exp,$email)) {

          $return_array['success'] = '0';

          $return_array['email_msg'] = 'Coloque um e-mail válido';  

        }

  }



  if($name == '')

  {

        $return_array['success'] = '0';

        $return_array['name_msg'] = 'Nome é obrigatório';

  }

  else

  {

         $string_exp = "/^[A-Za-z .'-]+$/";

        if (!preg_match($string_exp, $name)) {

          $return_array['success'] = '0';

         $return_array['name_msg'] = 'Coloque um nome válido';

        }

  }



  if($phone == '')

  {

        $return_array['success'] = '0';

        $return_array['phone_msg'] = 'Telefone/Celular é obrigatório';

  }

  else

  {

        $string_exp = "/^[A-Za-z .'-]+$/";

         if (!preg_match($string_exp, $phone)) {

           $return_array['success'] = '0';

         $return_array['phone_msg'] = 'Coloque um número de telefone/celular válido';

        }

  }



  if($subject == '')

  {

        $return_array['success'] = '0';

        $return_array['subject_msg'] = 'Assunto da mensagem é obrigatório';

  }



  if($message == '')

  {

        $return_array['success'] = '0';

        $return_array['message_msg'] = 'Mensagem é obrigatório';

  }

  else

  {

        if (strlen($message) < 2) {

          $return_array['success'] = '0';

          $return_array['message_msg'] = 'Coloque uma mensagem válida';

        }

  }  

  return $return_array;

}



$name = $_POST['name'];

$phone = $_POST['phone'];

$email = $_POST['email'];

$message = $_POST['message'];

$subject = $_POST['subject'];



$return_array = validate($name,$email,$phone,$message,$subject);

if($return_array['success'] == '1')

{

  send_email($fname,$email,$phone,$subject,$message);

}



header('Content-type: text/json');

echo json_encode($return_array);

die();



?>

Obrigado e um forte abraço!


Postado

não tem a página de onde está o formulário? O problema pode estar lá!


Postado
  • Autor

Acredito que não, porque ele executa primeiro o .JS e depois puxa as informações do PHP.

Conhece alguém que possa me ajudar?

 

Eu preciso disso URGENTE, obrigado.


Postado

vc ja testou so o codigo em php?


Postado
  • Autor

Sim, me aparente isso;

 

 
<br />
<b>Notice</b>: Undefined variable: fname in <b>C:\xampp\htdocs\SH2\contact.php</b> on line <b>102</b><br />
{"success":"1","name_msg":"","email_msg":"","phone_msg":"","message_msg":"","subject_msg":""}

 

Mais também, se eu tirar meu .JS, não vai ter mais aquele negócio de aparecer : Preencha o nome sem re-carregar a página entende?


Postado

o codigo php q vc postou é igualzinho ao q vc tem ai?


Postado
  • Autor

Peço perdão, aqui está o código acima testado.

 

<br />
<b>Notice</b>: Undefined variable: fname in <b>C:\xampp\htdocs\SH2\contact.php</b> on line <b>202</b><br />
{"success":"1","name_msg":"","email_msg":"","phone_msg":"","message_msg":"","subject_msg":""}


Postado
  • Autor

alguém? ;(


Postado

Campos no input do seu form estão com os mesmos nome do arquivo .js?

 

Há um erro em seu código, veja a imagem: https://monosnap.com/image/iQfujVBiXjd0B4iEB3DQTmyjWdfRtE

 

Está com a variável incorreta.  :)

 

O correto seria:

 

if($return_array['success'] == '1')

{

  send_email($name,$email,$phone,$subject,$message);

}


Postado
  • Autor

Agora apareceu isso, mas não chegou nada aqui...

{"success":"1","name_msg":"","email_msg":"","phone_msg":"","message_msg":"","subject_msg":""}

 

http://prntscr.com/2thh48,

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

Aqui está uma parte do código HTML

<form action="#" method="post" id="cform" name="cform">
              <ul id="homehireus" class="hireform contactform">
                <li>
                  <label>Nome:<span class="required">*</span></label>
                  <input name="name" id="name" type="text" value="" tabindex="1">
                </li>
                <li>
                  <label>Telefone:</label>
                  <input name="phone" id="phone" type="text" value="" tabindex="3">
                </li>
                <li>
                  <label>Email:<span class="required">*</span></label>
                  <input name="email" id="email" type="text" value="" tabindex="2">
                </li>
                <li>
                  <label>Assunto:<span class="required"></span></label>
                  <input name="subject" id="subject" type="text" value="" tabindex="4">
                </li>
                <li>
                  <input name="Button" type="button" id="send-message" tabindex="6" value="Enviar">
                  <div id="output" class="contactpage-msg"></div>
                </li>
                <li>
                  <label>Dúvida:<span class="required"></span></label>
                  <textarea name="message" id="message" tabindex="5"></textarea>
                </li>
              </ul>
            </form>

Visitante
Este tópico está impedido de receber novos posts.

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Informação Importante

Concorda com os nossos termos?

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.