Jump to content
Sign in to follow this  
Mvrosking

Formularz wysłany przez AJAX nie zwraca poprawnej odpowiedzi jQ cz.2

Recommended Posts

Witam, kolejny problem jest taki że mam kod, który podałem niżej nie zwraca żadnej, ale to w ogóle żadnej wartości, w konsoli nie wyświetlają się żadne wartości. Nic, kompletnie nic. Nie wiem jak już temu zaradzić, dlatego udzielam się na tym forum. Próbowałem już na "setki" różnych sposobów, ale nic z tego. Na dole jest kod, jak to wszystko wygląda.

 

JQ/JavaScript

<script>
  $("#formSMS").submit(function(event) {
    $.ajax({
      type: "post",
      url: "payments/sms/payments_sms.php",
      success: function(response) {
        switch(response) {
          case '0':
            $("#formErrorSMS").html('wypelnij pola');
            break;
          case '1':
            $("#formErrorSMS").html('api blad');
            break;
          case '2':
            $("#formErrorSMS").html('dziala');
            break;
          case '3':
            $("#formErrorSMS").html('blad kod');
            break;
          case '4':
            $("#formErrorSMS").html('blad kod 2');
            break;
        }
      }
    });
    event.preventDefault();
  });
</script>

PHP:

<?php
include($_SERVER['DOCUMENT_ROOT'].'/inc/database.php');
include($_SERVER['DOCUMENT_ROOT'].'/inc/Rcon.php');
$microsms_settings = $database->query("SELECT * FROM `shop_settings`");
$microsms = $microsms_settings->fetch_assoc();
$product_id = mysqli_real_escape_string($database, $_POST['product_id']);
$product_list = $database->query("SELECT * FROM `products_list` WHERE id='$product_id'");
$product = $product_list->fetch_assoc();
$server_list = $database->query("SELECT * FROM `servers_list` WHERE id='{$product['server_id']}'");
$server = $server_list->fetch_assoc();
$code = mysqli_real_escape_string($database, $_POST['formSMS_code']);
$nick = mysqli_real_escape_string($database, $_POST['formSMS_nick']);
if(isset($_POST['buy_button_sms'])) {
  if(!empty($nick) && !empty($code)) {
    addslashes($code);
    if(preg_match("/^[A-Za-z0-9]{8}$/", $code)) {
      $api = @file_get_contents("http://microsms.pl/api/v2/multi.php?userid=" . $microsms['payments_userid'] . "&code=" . $code . '&serviceid=' . $microsms['payments_serviceid']);
      if(!isset($api)) {
        echo '1';
      }
      else {
        $api = json_decode($api);
        if(!is_object($api)) {
          echo '1';
        }
        else if(isset($api->error) && $api->error) {
          echo '1';
        }
        else if ($api->connect == FALSE) {
          echo '1';
        }
        if(isset($api->connect) && $api->connect == TRUE) {
          if($api->data->status == 1) {
            $rcon = new Rcon($server['server_ip'], $server['server_port'], $server['rcon_password'], 3);
            $commands = explode(";", $product['commands']);
            if($rcon->connect()) {
              foreach($commands as $com) {
                $rcon->sendCommand($com);
              }
            }
            $database->query("INSERT INTO `last_buyer` (nick, product_id, server_id, date, payments_method) VALUES ('$nick', '$product_id', '{$server['id']}', 'now()', 'SMS')");
            echo '2';
          }
          else {
            echo '3';
          }
        }
      }
    }
    else {
      echo '4';
    }
  }
  else {
    echo '0';
  }
}

I forma w HTML:

<div id="formErrorSMS"></div>
<form id="formSMS" method="post">
  <input type="hidden" name="product_id" value="<?php $product['id']; ?>"/>
  <div class="form-group">
    <label for="formSMS_nick">Nick</label>
    <input type="text" name="formSMS_nick" class="form-control" placeholder="Wpisz nick gracz, dla którego chcesz zakupić usługę.">
  </div>
  <div class="form-group">
    <label for="formSMS_code">Kod SMS</label>
    <input type="text" name="formSMS_code" class="form-control" placeholder="Wpisz kod sms, który otrzymałeś.">
  </div>
  <div class="form-group text-center">
    <input name="buy_button_sms" id="buy_button_sms" type="submit" class="btn btn-primary" value="Zakup">
  </div>
</form>

 

Share this post


Link to post

A jak wejdziesz w skrypt PHP, to dostajesz w odpowiedzi jakieś echo?

  • Like 1

Share this post


Link to post
30 minut temu, Salva napisał:

A jak wejdziesz w skrypt PHP, to dostajesz w odpowiedzi jakieś echo?

Nie, nic się nie wyświetla, consoli są puste, żadnych echo nie ma.

 

Tutaj masz demo, wiec możesz sobie sprawdzić co i jak.

http://nethershopofficial.esy.es

Edited by Marosking.

Share this post


Link to post

Nie zadziała wejście w plik, bo korzystasz z POSTa, teraz widzę...

Spróbuj $code i $nick wpisać z palca, a to:

<?php
if(isset($_POST['buy_button_sms']))

zmień na GET. Jeżeli nadal nie będzie odpowiedzi, to znaczy, że źle komunikujesz się z API.

  • Like 1

Share this post


Link to post
37 minut temu, Salva napisał:

Nie zadziała wejście w plik, bo korzystasz z POSTa, teraz widzę...

Spróbuj $code i $nick wpisać z palca, a to:


<?php
if(isset($_POST['buy_button_sms']))

zmień na GET. Jeżeli nadal nie będzie odpowiedzi, to znaczy, że źle komunikujesz się z API.

Zmieniłem, ale teraz ciągle wyskakuje mi teraz, abym wypełnił pola z formularza.

Share this post


Link to post

A zmieniłeś też to?

<?php
$code = mysqli_real_escape_string($database, $_POST['formSMS_code']);
$nick = mysqli_real_escape_string($database, $_POST['formSMS_nick']);

tam miał być string wpisany z palca.

  • Like 1

Share this post


Link to post
2 minuty temu, Salva napisał:

A zmieniłeś też to?


<?php
$code = mysqli_real_escape_string($database, $_POST['formSMS_code']);
$nick = mysqli_real_escape_string($database, $_POST['formSMS_nick']);

tam miał być string wpisany z palca.

Formularz:

<form id="formSMS" method="get">
														<input type="hidden" name="product_id" value="<?php $product['id']; ?>"/>
														<div class="form-group">
															<label for="formSMS_nick">Nick</label>
															<input type="text" name="formSMS_nick" class="form-control" placeholder="Wpisz nick gracz, dla którego chcesz zakupić usługę.">
														</div>
														
														<div class="form-group">
															<label for="formSMS_code">Kod SMS</label>
															<input type="text" name="formSMS_code" class="form-control" placeholder="Wpisz kod sms, który otrzymałeś.">
														</div>
														
														<div class="form-group text-center">
															<input name="buy_button_sms" id="buy_button_sms" type="submit" class="btn btn-primary" value="Zakup">
														</div>
													</form>

JQ:

<script>
	$("#formSMS").submit(function (event) {
		$.ajax({
		   type: "get",
		   url: "payments/sms/payments_sms.php",
		   success: function(response) {
				if(response == 0) {
					$("#formErrorSMS").html('pola!');
				} else if(response == 1) {
					$("#formErrorSMS").html('api!');
				} else if(response == 2) {
					$("#formErrorSMS").html('dziala!');
				} else if(response == 3) {
					$("#formErrorSMS").html('kod blad!');
				} else if(response == 4) {
					$("#formErrorSMS").html('kod blad 2!');
				}
		   }
		});
		
		event.preventDefault();
	});
</script>

PHP

<?php

	include($_SERVER['DOCUMENT_ROOT'].'/inc/database.php');
	include($_SERVER['DOCUMENT_ROOT'].'/inc/Rcon.php');
	
	$microsms_settings = $database->query("SELECT * FROM `shop_settings`");
	$microsms = $microsms_settings->fetch_assoc();
	
	$product_id = mysqli_real_escape_string($database, $_POST['product_id']);
	
	$product_list = $database->query("SELECT * FROM `products_list` WHERE id='$product_id'");
	$product = $product_list->fetch_assoc();

	$server_list = $database->query("SELECT * FROM `servers_list` WHERE id='{$product['server_id']}'");
	$server = $server_list->fetch_assoc();
	
	$code = mysqli_real_escape_string($database, $_POST['formSMS_code']);
	$nick = mysqli_real_escape_string($database, $_POST['formSMS_nick']);
	
	if(isset($_POST['buy_button_sms'])) {
		if(!empty($nick) && !empty($code)) {
			
			addslashes($code);
			
			if (preg_match("/^[A-Za-z0-9]{8}$/", $code)) {
				$api = @file_get_contents("http://microsms.pl/api/v2/multi.php?userid=" . $microsms['payments_userid'] . "&code=" . $code . '&serviceid=' . $microsms['payments_serviceid']);
				
				if (!isset($api)) {
					echo '1';
				} else {
					$api = json_decode($api);
					
					if (!is_object($api)) {
						echo '1';
					} else if (isset($api->error) && $api->error) {
						echo '1';
					} else if ($api->connect == FALSE) {
						echo '1';
					}
					
					if (isset($api->connect) && $api->connect == TRUE) {
						if ($api->data->status == 1) {
							
							$rcon = new Rcon($server['server_ip'], $server['server_port'], $server['rcon_password'], 3);
							
							$commands = explode(";", $product['commands']);
							
							if ($rcon->connect()) {
								foreach($commands as $com) {
									$rcon->sendCommand($com);
								}
							}
							
							$database->query("INSERT INTO `last_buyer` (nick, product_id, server_id, date, payments_method) VALUES ('$nick', '$product_id', '{$server['id']}', 'now()', 'SMS')");
							echo '2';
						} else {
							echo '3';
						}
					}
				}
			} else {
				echo '4';
			}
		} else {
			echo '0';
		}
	}

I to wszystko zmieniłem, ale nadal wyskakuje mi żebym wypełnij pola.

Share this post


Link to post

Ja tu nie widzę zmienionego kodu.

Czy zmieniłeś to:

<?php
$code = mysqli_real_escape_string($database, $_POST['formSMS_code']);
$nick = mysqli_real_escape_string($database, $_POST['formSMS_nick']);
if(isset($_POST['buy_button_sms'])) {

na np. to:

<?php
$code = '1234';
$nick = 'superNick';
if(true) {

?

Jeżeli tak, to nie wiem w czym jest błąd, bo ten kawałek kodu:

<?php
if(!empty($nick) && !empty($code)) {

powinien się wywołać pomyślnie.

  • Like 1

Share this post


Link to post

Nadal nic z tego, cały czas tylko wyświetla że są puste pola.

Share this post


Link to post

Masz jakieś demo tego gdzieś w sieci?

  • Like 2

Share this post


Link to post

Po wpisaniu śmieci wypisuje na napis "pola!", więc skrypt zwraca 0, masz rację

Spoiler

qwe.png

Poza tym, to nie wczytuje Ci ikonek.

 

Czyli błąd jest tu:

<?php
$code = mysqli_real_escape_string($database, $_POST['formSMS_code']);
$nick = mysqli_real_escape_string($database, $_POST['formSMS_nick']);

Co Ty chcesz osiągnąć przez te linijki?

  • Like 1

Share this post


Link to post

Chce odebrać dane wysłane z formularzu. To nimi chce osiągnąć.

Share this post


Link to post

Widocznie funkcja zwraca FALSE, dlatego dalej się nie wykonuje. A pokaż jeszcze cały plik HTML - masz chyba gdzieś niezamknięty znacznik, bo całą sekcję <head> masz w <body>. Będę miał chwilę, to skopiuję całość i sprawdzę pliki u siebie na serwerze.

Share this post


Link to post

Plik buy.php

Spoiler

<?php
include_once 'header.php';
$server_id = $_GET['server_id'];
$servers_list = $database->query("SELECT * FROM `servers_list` WHERE id='$server_id'");
$server = $servers_list->fetch_assoc();
$info = '';
if(isset($_POST['buy_button_psc'])) {
  $paysafecard_nick = mysqli_real_escape_string($database, $_POST['formPSC_nick']);
  $paysafecard_email = mysqli_real_escape_string($database, $_POST['formPSC_email']);
  $product_id = $_POST['product_id'];
  $product_list = $database->query("SELECT * FROM `products_list` WHERE id='$product_id'");
  $product = $product_list->fetch_assoc();
  if(!empty($paysafecard_nick) && !empty($paysafecard_email)) {
    $psc = new mPaySafeCard;
    if(isset($_GET['checkPayment']) && $_POST['status']) {
      ob_clean();
      $psc->validate_ipn();
      $psc->validate_user($config, $_POST);
      if($_POST['status'] == TRUE) { 
        $info = 'dziala. ok.';
      }
      exit('OK');
    }
    $psc->add('userid', $shop['payments_userid']);
    $psc->add('return_ok', 'http://nethershopofficial.esy.es/buy.php?psc=ok');
    $psc->add('return_fail', 'http://nethershopofficial.esy.es/buy.php?psc=ok');
    $psc->add('url', 'http://nethershopofficial.esy.es/buy.php?psc=ok');
    $psc->add('description', $product['name']);
    $psc->add('amount', strtr($product['paysafecard_price']));
    $psc->add('hash', md5($shop['payments_userid'] . $shop['payments_paysafecard_pin'] . $product['paysafecard_price']));
    $psc->add('email', $paysafecard_email);
    $psc->add('control', $paysafecard_nick);
    $psc->submit();
    $info = 'Płatność nie mogła zostać wygenerowana.';
  } else {
    $info = 'wypelnij pola.';
  }
}
?>
<div class="container">
  <nav class="navbar navbar-default">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.php"><?php echo $shop['shop_name']; ?></a>
      </div>
      <div class="collapse navbar-collapse" id="navbar-collapse">
        <ul class="nav navbar-nav">
          <?php
          $navigation_menu = $database->query("SELECT * FROM `navigation_menu");
          if($navigation_menu->num_rows > 0) {
            while($menu = $navigation_menu->fetch_assoc()) {
          ?>
          <li><a href="<?php echo $menu['menu_href']; ?>"><i class="<?php echo $menu['menu_icon']; ?>"></i> <?php echo $menu['menu_name']; ?></a></li>
          <?php
            }
          } else {
          ?>
          <li><a target="_blank" href="http://microsms.pl/customer/complaint/"><i class="glyphicon glyphicon-repeat"></i> Reklamacje SMS</a></li>
          <?php
          }
          ?>
        </ul>
        <ul class="nav navbar-nav navbar-right">
          <li><a href="#"><i class="glyphicon glyphicon-ok-circle"></i> Zrealizuj voucher</a></li>
        </ul>
      </div>
    </div>
  </nav>
  <ol class="breadcrumb">
    <li><a href="index.php">Strona główna</a></li>
    <li><a href="index.php">Wybór serwera</a></li>
    <li class="active"><?php echo $server['name']; ?></li>
  </ol>
  <div class="row">
    <div class="col-lg-12">
      <div class="panel panel-default">
        <div class="panel-heading">
          <i class="glyphicon glyphicon-shopping-cart"></i> Lista usług
        </div>
        <div class="panel-body">
          <?php echo $info; ?>
          <?php
          $products_list = $database->query("SELECT * FROM `products_list` WHERE server_id='$server_id'");
          if($products_list->num_rows > 0) {
            while($product = $products_list->fetch_assoc()) {
          ?>
          <div class="well">
            <div class="row">
              <div class="col-lg-3">
                <img src="<?php echo $product['image']; ?>" width="120" height="120">
              </div>
              <div class="col-lg-6 text-center">
                <h4><b><?php echo $product['name']; ?></b></h4>
                <p><?php echo $product['description_short']; ?></p>
              </div>
              <div class="col-lg-3">
                <a href="#" data-toggle="modal" data-target="#buyModalID<?php echo $product['id']; ?>" class="btn btn-primary pull-right"><i class="glyphicon glyphicon-shopping-cart"></i> Wybierz produkt</a>
              </div>
            </div>
          </div>
          <div class="modal fade" id="buyModalID<?php echo $product['id']; ?>" tabindex="-1" role="dialog" aria-labelledby="buyModalLabel">
            <div class="modal-dialog modal-lg" role="document">
              <div class="modal-content">
                <div class="modal-header">
                  <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
                  <h4 class="modal-title" id="buyModalLabel"><?php echo $product['name']; ?></h4>
                </div>
                <div class="modal-body">
                  <div class="row">
                    <div class="col-lg-5 text-center">
                      <div class="thumbnail">
                        <img src="<?php echo $product['image']; ?>" alt="<?php echo $product['name']; ?>" width="120" height="120">
                        <div class="caption">
                          <span style="margin-top: 5px;" class="label label-primary">SMS: <?php echo $product['sms_price']; ?>
                            <?php
              if($product['paypal_status'] == 1 && $product['paysafecard_status'] == 0 && $product['transfer_status'] == 0) {
                            ?>
                            / PayPal: <?php echo $product['paypal_price']; ?>
                            <?php
              } else if($product['paysafecard_status'] == 1 && $product['paypal_status'] == 0 && $product['transfer_status'] == 0) {
                            ?>
                            / PSC: <?php echo $product['paysafecard_price']; ?>
                            <?php
              } else if($product['paypal_status'] == 1 && $product['paysafecard_status'] == 1 && $product['transfer_status'] == 1) {
                            ?>
                            / PSC: <?php echo $product['paysafecard_price']; ?> / PayPal: <?php echo $product['paypal_price']; ?> / Przelew: <?php echo $product['transfer_price']; ?>
                            <?php
              } else if($product['paysafecard_status'] == 0 && $product['paypal_status'] == 0 && $product['transfer_status'] == 1) {
                            ?>
                            / Przelew: <?php echo $product['transfer_price']; ?>
                            <?php
              }
                            ?>
                          </span>
                          <h3><b><?php echo $product['name']; ?></b></h3>
                          <p><?php echo $product['description']; ?></p>
                        </div>
                      </div>
                    </div>
                    <div class="col-lg-7">
                      <ul class="nav nav-tabs" role="tablist">
                        <li class="active"><a data-toggle="tab" href="#sms<?php echo $product['id']; ?>"><i class="fa fa-phone" aria-hidden="true"></i> SMS</a></li>
                        <li><a data-toggle="tab" href="#paysafecard<?php echo $product['id']; ?>"><i class="glyphicon glyphicon-credit-card"></i> PaySafeCard</a></li>
                        <li><a data-toggle="tab" href="#paypal<?php echo $product['id']; ?>"><i class="fa fa-paypal" aria-hidden="true"></i> PayPal</a></li>
                        <li><a data-toggle="tab" href="#transfer<?php echo $product['id']; ?>"><i class="fa fa-credit-card" aria-hidden="true"></i> Przelew</a></li>
                      </ul>
                      <div class="tab-content">
                        <div id="sms<?php echo $product['id']; ?>" class="tab-pane fade in active">
                          <p style="margin-top:10px;" class="text-center">Aby zakupić <span class="label label-primary"><?php echo $product['name']; ?></span> wyślij SMS o treści <span class="label label-primary"><?php echo $product['sms_content']; ?></span> pod numer <span class="label label-primary"><?php echo $product['sms_number']; ?></span></p>
                          <div id="formErrorSMS"></div>
                          <form id="formSMS" method="post">
                            <input type="hidden" name="product_id" value="<?php $product['id']; ?>"/>
                            <div class="form-group">
                              <label for="formSMS_nick">Nick</label>
                              <input type="text" name="formSMS_nick" class="form-control" placeholder="Wpisz nick gracz, dla którego chcesz zakupić usługę.">
                            </div>
                            <div class="form-group">
                              <label for="formSMS_code">Kod SMS</label>
                              <input type="text" name="formSMS_code" class="form-control" placeholder="Wpisz kod sms, który otrzymałeś.">
                            </div>
                            <div class="form-group text-center">
                              <input name="buy_button_sms" id="buy_button_sms" type="submit" class="btn btn-primary" value="Zakup">
                            </div>
                          </form><hr>
                          <p class="text-center">
                            Płatności zapewnia firma <a href="http://microsms.pl/">MicroSMS</a>. <br/>
                            Korzystanie z serwisu jest jednozanczne z akceptacją <a href="http://microsms.pl/partner/documents/">regulaminów</a>.<br/>
                            Jeśli nie dostałeś kodu zwrotnego w ciągu 30 minut skorzystaj z <a href="http://microsms.pl/customer/complaint/">formularza reklamacyjnego</a><br/><br/>
                            <img src="http://microsms.pl/public/cms/img/banner.png" style="width: 100%;">
                          </p>
                        </div>
                        <div id="paysafecard<?php echo $product['id']; ?>" class="tab-pane fade in">
                          <?php
              if($product['paysafecard_status'] == 1) {
                          ?>
                          <p style="margin-top:10px;" class="text-center">Aby zakupić <span class="label label-primary"><?php echo $product['name']; ?></span> za pomocą <span class="label label-primary">PaySafeCard</span> wypełnij pola poniżej.</p>
                          <form method="post">
                            <div class="form-group">
                              <label for="formPSC_nick">Nick</label>
                              <input type="text" name="formPSC_nick" class="form-control" placeholder="Wpisz nick gracz, dla którego chcesz zakupić usługę.">
                            </div>
                            <div class="form-group">
                              <label for="formPSC_email">E-mail</label>
                              <input type="text" name="formPSC_email" class="form-control" placeholder="Wpisz email, aby przejść do dalszego etapu.">
                            </div>
                            <div class="form-group text-center">
                              <input name="buy_button_psc" type="submit" class="btn btn-primary" value="Zakup">
                            </div>
                          </form><hr>
                          <?php
              } else if($product['paysafecard_status'] == 0) {
                          ?>
                          <div style="margin-top:15px;" class="alert alert-danger" role="alert">Płatność za pomocą <b>PaySafeCard</b> dla tej usługi jest wyłączona.</div>
                          <?php
              }
                          ?>
                        </div>
                        <div id="paypal<?php echo $product['id']; ?>" class="tab-pane fade in">
                          <?php
              if($product['paypal_status'] == 1) {
                          ?>
                          <p style="margin-top:10px;" class="text-center">Aby zakupić <span class="label label-primary"><?php echo $product['name']; ?></span> za pomocą <span class="label label-primary">PayPal</span> wypełnij pola poniżej.</p>
                          <form method="post">
                            <div class="form-group">
                              <label for="formPAYPAL_nick">Nick</label>
                              <input type="text" name="formPAYPAL_nick" class="form-control" placeholder="Wpisz nick gracz, dla którego chcesz zakupić usługę.">
                            </div>
                            <div class="form-group">
                              <label for="formPAYPAL_email">E-mail</label>
                              <input type="text" name="formPAYPAL_email" class="form-control" placeholder="Wpisz email, aby przejść do dalszego etapu.">
                            </div>
                            <div class="form-group text-center">
                              <input name="buy_button_paypal" type="submit" class="btn btn-primary" value="Zakup">
                            </div>
                          </form><hr>
                          <?php
              } else if($product['paypal_status'] == 0) {
                          ?>
                          <div style="margin-top:15px;" class="alert alert-danger" role="alert">Płatność za pomocą <b>PayPal</b> dla tej usługi jest wyłączona.</div>
                          <?php
              }
                          ?>
                        </div>
                        <div id="transfer<?php echo $product['id']; ?>" class="tab-pane fade in">
                          <?php
              if($product['transfer_status'] == 1) {
                          ?>
                          <p style="margin-top:10px;" class="text-center">Aby zakupić <span class="label label-primary"><?php echo $product['name']; ?></span> za pomocą <span class="label label-primary">Przelewu</span> wypełnij pola poniżej.</p>
                          <form method="post">
                            <div class="form-group">
                              <label for="formTRANSFER_nick">Nick</label>
                              <input type="text" name="formTRANSFER_nick" class="form-control" placeholder="Wpisz nick gracz, dla którego chcesz zakupić usługę.">
                            </div>
                            <div class="form-group">
                              <label for="formTRANSFER_email">E-mail</label>
                              <input type="text" name="formTRANSFER_email" class="form-control" placeholder="Wpisz email, aby przejść do dalszego etapu.">
                            </div>
                            <div class="form-group text-center">
                              <input name="buy_button_transfer" type="submit" class="btn btn-primary" value="Zakup">
                            </div>
                          </form>
                          <?php
              } else {
                          ?>
                          <div style="margin-top:15px;" class="alert alert-danger" role="alert">Płatność za pomocą <b>Przelwu</b> dla tej usługi jest wyłączona.</div>
                          <?php
              }
                          ?>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <?php
            }
          } else {
          ?>
          <div class="alert alert-danger" role="alert">W sklepie nie ma żadnych produktów dla tego serwera.</div>
          <?php
          }
          ?>
        </div>
      </div>
    </div>
    <div>
    </div>
    <script>
      $(document).ready(function () {
        $("#buy_button_sms").click(function (event) {
          $.ajax({
            url: "payments/sms/payments_sms.php",
            type: "post",
            dataType: "text",
            success: function(response) {
              if(response == 0) {
                $("#formErrorSMS").html("pola!");
              } else if(response == 1) {
                $("#formErrorSMS").html("blad api");
              } else if(response == 2) {
                $("#formErrorSMS").html("dziala");
              } else if(response == 3) {
                $("#formErrorSMS").html("blad kod");
              }  else if(response == 4) {
                $("#formErrorSMS").html("blad kod 2");
              }
            }
          });
          event.preventDefault();
        });
      });
    </script>
    </body>
  </html>

 

 

Share this post


Link to post

Już wiem gdzie leży błąd. AJAX powinien być taki:

$('#formSMS').submit(function(e){
  e.preventDefault();
  $.ajax({
    url: 'payments/sms/payments_sms.php',
    type: 'post',
    data: $(this).serializeArray() //przekazywanie danych z formularza do pliku PHP przez jQ
  })
  .done(function(data){
    switch(data){
      case '4':
        $("#formErrorSMS").html('kod blad 2!');
        break;
      case '3':
        $("#formErrorSMS").html('kod blad!');
        break;
      case '2':
        $("#formErrorSMS").html('dziala!');
        break;
      case '1':
        $("#formErrorSMS").html('api!');
        break;
      default:
        $("#formErrorSMS").html('pola!');
    }
  })
});

 

  • Like 2

Share this post


Link to post

Wszystko już dodałem na serwer i nadal wyskakuje że są puste pola.

Share this post


Link to post

To może inaczej, bo nigdy nie dojdziemy do tego gdzie jest błąd.

Zmień to:

<?php
$code = mysqli_real_escape_string($database, $_POST['formSMS_code']);
$nick = mysqli_real_escape_string($database, $_POST['formSMS_nick']);

na to:

$code = mysqli_real_escape_string($database, $_POST['formSMS_code']);
$nick = mysqli_real_escape_string($database, $_POST['formSMS_nick']);
echo $code .' : '. $nick;
die();

a tą część z AJAXa:

Spoiler

.done(function(data){
  switch(data){
    case '4':
      $("#formErrorSMS").html('kod blad 2!');
      break;
    case '3':
      $("#formErrorSMS").html('kod blad!');
      break;
    case '2':
      $("#formErrorSMS").html('dziala!');
      break;
    case '1':
      $("#formErrorSMS").html('api!');
      break;
    default:
      $("#formErrorSMS").html('pola!');
             }
})

 

zmień na to:

Spoiler

.done(function(data){
  alert(data);
});

 

Powienieneś dostać alert z danymi z formularza.

  • Like 2

Share this post


Link to post

Po wpisaniu danych do wyświetla w alercie, sam :, czyli tak jakby nie dostawało w ogóle żadnych danych z formularza.

Share this post


Link to post

A takie coś:

<?php
$code = $_POST['formSMS_code'];
$nick = $_POST['formSMS_nick'];

Albo takie:

<?php
$code = '1234';
$nick = 'superNick';

Jaki wynik zwróci?

Share this post


Link to post

Działa tylko 2 opcja. Nie wiem jak to można już naprawić.

 

//Edit:

 

Zrobiłem coś takiego:

<script>

function validateSms(form) {
$('#buy_button_sms1').click(function(e){
  e.preventDefault();
  $.ajax({
    url: 'payments/sms/payments_sms.php',
    type: 'post',
    data: $(this).serializeArray() //przekazywanie danych z formularza do pliku PHP przez jQ
  })
  .done(function(data){
  switch(data){
    case '4':
      $("#formErrorSMS").html('kod blad 2!');
      break;
    case '3':
      $("#formErrorSMS").html('kod blad!');
      break;
    case '2':
      $("#formErrorSMS").html('dziala!');
      break;
    case '1':
      $("#formErrorSMS").html('api!');
      break;
    default:
      $("#formErrorSMS").html('pola!');
             }
});
});
}
</script>

I przy formie coś takiego:

<form onsubmit="validateSms(this);" id="formSMS" method="post">

I teraz wyświetla dobre cyfry z skryptu, ale wyświetla je u góry i strona jest odświeżana, a nie o taki wynik mi chodzi.

Spoiler

xd.thumb.png.b26aa64005c667bfaf9f82c1f90825ac.png

 

Edited by Marosking.

Share this post


Link to post

Nie widzi zmiennej globalnej POST. Ale dlaczego działa zatem pierwszy if?

<?php
if(isset($_POST['buy_button_sms'])) {

Nie wiem już w czym problem. Spróbuj zmienić hosting.

  • Like 1

Share this post


Link to post
51 minut temu, Salva napisał:

Nie widzi zmiennej globalnej POST. Ale dlaczego działa zatem pierwszy if?


<?php
if(isset($_POST['buy_button_sms'])) {

Nie wiem już w czym problem. Spróbuj zmienić Hosting.

Zmieniłem hosting, ciągle to samo. Ciągle wyskakuje "pola". Chyba sobie odpuszczę i zrobię to w najłatwiejszy sposób w jaki się da :P.

Share this post


Link to post

Moment. Ten skrypt jQ masz przed wyświetleniem pliku dla PopUp czy jest w tym samym pliku?

  • Like 1

Share this post


Link to post
17 minut temu, Salva napisał:

Moment. Ten skrypt jQ masz przed wyświetleniem pliku dla PopUp czy jest w tym samym pliku?

Skrypy JQ jest na samym końcu pliku buy.php, plik w który wykonywana jest akcja (sprawdzanie kodu itd) jest w innym.

 

//Edit.

 

A czy to że mam kilka takich form może mieć wpływ na ten błąd?

Edited by Marosking.

Share this post


Link to post

Create an account or sign in to comment

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

Create an account

Create a New Account. It’s free and easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×
×
  • Create New...