Nefungujuci zapis do databazy

Programovacie jazyky, rady, poradňa...
Mjaus
Novice
Novice
Príspevky: 2
Registrovaný: 07 aug 2023, 19:41

Nefungujuci zapis do databazy

Príspevok od používateľa Mjaus »

Poprosim o pomoc. Už dosť dlhú dobu si lámem hlavu s nefungujucim skriptom. Ale presnejsie:
1. Na jednej subdoméne mi kód beží bez problému na druhej subdoméne nie.
2. Nefungujúci kód správne urobí výpis z databázy, a taktiež urobí zmenu údajov v databáze. Neurobí však nový záznam do databázy.
3. Ak manuálne pomocou SQL vložím nový záznam do databázy tento nový záznam sa mi vo výpise nezobrazí
4. Opakujem na inej subdomene mi to všetko beží správne.

Tu je main page s formulárom - zakaznik.php:

Kód: Vybrať všetko

<?php  
  // Zapni pre tuto stranku podporu SESSION premennych
  session_start();
  require "login.php";
  inicializuj();
  timeout();
  if (!empty ($_POST["akcia"])) {check_action($_POST["akcia"]);}

  $thisPage = "zak";
  session_start();
  $user_loged = $_SESSION['user'];

 ?>


<!DOCTYPE html>
<html lang="sk">

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

<title>Sagena s.r.o. | Objednávky</title>

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Oxygen:400,700">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/style.css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/popper.min.js"></script>
<script type="text/javascript" src="js/jquery.dataTables.js"></script>
<script type="text/javascript" src="js/jquery.validate.min.js"></script>
<script type="text/javascript" src="js/webapp-zak.js"></script>


<script type="text/javascript">
	// Prevent dropdown menu from closing when click inside the form
	$(document).on("click", ".navbar-right .dropdown-menu", function(e){
		e.stopPropagation();
	});
	
//	$(function () {
//	    var $chk = $("#grpChkBox input:checkbox"); 
//	    var $tbl = $("#table_companies");
//	    var $tblhead = $("#table_companies th");

//	    $chk.prop('checked', true); 

//	    $chk.click(function () {
//	        var colToHide = $tblhead.filter("." + $(this).attr("name"));
//	        var index = $(colToHide).index();
//	        $tbl.find('tr :nth-child(' + (index + 1) + ')').toggle();
//	    });
//	});
</script>
</head> 


<body>
    <!-- NAVIGATION -->
    	<?php include ('menu.php'); ?>
    <!-- NAVIGATION -->

<!-- content -->
<main>
	<div id="page_container">
        <?php if (($_SESSION["prihlaseny"] == "ano")) { ?>
	
			<div class="docs-main">

		      <button type="button" class="btn btn-primary with-margin" id="add_company">Pridaj Zákazníka</button>
		
			<!-- <div id="grpChkBox">
		            <p><input type="checkbox" name="x4" /> Adresa &#124;
		            <input type="checkbox" name="x5" /> Mesto &#124;
		            <input type="checkbox" name="x6" /> PSČ &#124;
		            <input type="checkbox" name="x7" /> IČO &#124;
		            <input type="checkbox" name="x8" /> IČ DPH &#124;
		            <input type="checkbox" name="x9" /> Kontakt. osoba &#124;
		            <input type="checkbox" name="x10" /> Telefón &#124;
					<input type="checkbox" name="x11" /> Telefón &#124;
					<input type="checkbox" name="x12" /> Email &#124;
					<input type="checkbox" name="x13" /> Email &#124;
					<input type="checkbox" name="x14" /> Adresa dodania &#124;
					<input type="checkbox" name="x15" /> Poznámka</p>
				</div>  -->


		      <table class="table table-condensed table-striped tablesaw" id="table_companies" width="100%" data-tablesaw-mode="columntoggle">
		        <thead>
		          <tr>
					<th style="width:60px">Functions</th>
		            <th>Názov zákazníka</th>
		            <th class="x4">Adresa</th>
		            <th class="x5">Mesto</th>
		            <th class="x6">PSČ</th>
		            <th class="x7">IČO</th>
		            <th class="x8">IČ DPH</th>
		            <th class="x9">Kontakt. osoba</th>
		            <th class="x10">Telefón</th>
					<th class="x11">Telefón</th>
					<th class="x12">Email</th>
					<th class="x13">Zástupca</th>
					<th class="x14">Adresa dodania</th>
					<th class="x15">Poznámka</th>
		          </tr>
		        </thead>
		        <tbody>
		        </tbody>
		      </table>
		    </div>

		    <div class="lightbox_bg"></div>

		    <div class="lightbox_container">
		      <div class="lightbox_close"></div>
		      <div class="lightbox_content">

		        <h2>Nový zákazník</h2>
		        <form class="form add" id="form_company" data-id="" novalidate>

		          <div class="input_container">
		            <label for="zak_nazov">Názov zákazníka: <span class="required">*</span></label>
		            <div class="field_container">
		              <input type="text" class="text" name="zak_nazov" id="zak_nazov" value=""  placeholder="Názov zákazníka/spoločnosti" required>
		            </div>
		          </div>

		          <div class="input_container">
		            <label for="zak_ulica">Adresa: <span class="required">*</span></label>
		            <div class="field_container">
		              <input type="text" class="text" name="zak_ulica" id="zak_ulica" value=""  placeholder="Ulica číslo" required>
		            </div>
		          </div>

		          <div class="input_container">
		            <label for="zak_mesto">Mesto: <span class="required">*</span></label>
		            <div class="field_container">
		              <input type="text" class="text" name="zak_mesto" id="zak_mesto" value=""  placeholder="Mesto" required>
		            </div>
		          </div>

		          <div class="input_container">
		            <label for="zak_psc">PSČ: <span class="required">*</span></label>
		            <div class="field_container">
		              <input type="number" minlength="5" class="text" name="zak_psc" id="zak_psc" value=""  placeholder="95901" required>
		            </div>
		          </div>

		          <div class="input_container">
		            <label for="zak_ico">IČO: </label>
		            <div class="field_container">
		              <input type="number" class="text" name="zak_ico" id="zak_ico" value="">
		            </div>
		          </div>

		          <div class="input_container">
		            <label for="zak_icdph">IČ DPH: </label>
		            <div class="field_container">
		              <input type="text" class="text" name="zak_icdph" id="zak_icdph" value="">
		            </div>
		          </div>

		          <div class="input_container">
		            <label for="zak_osoba">Kontakt: <span class="required">*</span></label>
		            <div class="field_container">
		              <input type="text" class="text" name="zak_osoba" id="zak_osoba" value="" placeholder="Meno Priezvisko" required>
		            </div>
		          </div>

				  <div class="input_container">
		            <label for="zak_tel1">Telefón: </label>
		            <div class="field_container">
		              <input type="text" class="text" name="zak_tel1" id="zak_tel1" value="" placeholder="0378888888">
		            </div>
		          </div>

				  <div class="input_container">
		            <label for="zak_tel2">Telefón: </label>
		            <div class="field_container">
		              <input type="text" class="text" name="zak_tel2" id="zak_tel2" value="" placeholder="0905555555">
		            </div>
		          </div>

				  <div class="input_container">
		            <label for="zak_email">Email: </label>
		            <div class="field_container">
		              <input type="email" class="text" name="zak_email" id="zak_email" value="" placeholder="[email protected]">
		            </div>
		          </div>
		
				  <div class="input_container">
		            <label for="zak_obchodnik">Zástupca: </label>
		            <div class="field_container">
		              <input type="text" class="text" name="zak_obchodnik" id="zak_obchodnik" value="<?php echo $user_loged ?>" placeholder="<?php echo $user_loged ?>" readonly>
		            </div>
		          </div>

				  <div class="input_container">
		            <label for="zak_dodanie">Adresa dodania: </label>
		            <div class="field_container">
		              <input type="text" class="text" name="zak_dodanie" id="zak_dodanie" value="" placeholder="Názov, Ulica číslo, PSČ Mesto">
		            </div>
		          </div>

				  <div class="input_container">
		            <label for="zak_poznamka">Poznámka: </label>
		            <div class="field_container">
		              <input type="text" class="text" name="zak_poznamka" id="zak_poznamka" value="">
		            </div>
		          </div>

		          <div class="button_container">
		            <button type="submit">Pridaj</button>
		          </div>
		        </form>

		      </div>
		    </div>

		    <noscript id="noscript_container">
		      <div id="noscript" class="error">
		        <p>Pre správnu funkciu tejto stránky je potrebný JavaScript.</p>
		      </div>
		    </noscript>

		    <div id="message_container">
		      <div id="message" class="success">
		        <p>Správa je všetko v poriadku.</p>
		      </div>
		    </div>

		    <div id="loading_container">
		      <div id="loading_container2">
		        <div id="loading_container3">
		          <div id="loading_container4">
		            Nahrávam dáta, moment prosím...
		          </div>
		        </div>
		      </div>
		    </div>
</div>
        <?php } ?>
	</div>
</main>
<!-- content -->

</body>
</html> 
----------------------------------------------------------------------------
tu je JS ktorý spracúva dáta - webapp-zak.js:

Kód: Vybrať všetko

$(document).ready(function(){
  
  // On page load: datatable
  var table_companies = $('#table_companies').dataTable({
    "ajax": "data_zak.php?job=get_companies",
    "columns": [
      { "data": "functions"},
      { "data": "zak_nazov",		"sClass": "bold" },
      { "data": "zak_ulica" },
      { "data": "zak_mesto" },
      { "data": "zak_psc" },
      { "data": "zak_ico" },
      { "data": "zak_icdph" },
      { "data": "zak_osoba" },
      { "data": "zak_tel1" },
	  { "data": "zak_tel2" },
	  { "data": "zak_email" },
	  { "data": "zak_obchodnik" },
	  { "data": "zak_dodanie" },
	  { "data": "zak_poznamka" }
    ],
    "aoColumnDefs": [
      { "bSortable": false, "aTargets": [-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14] },
	  { "visible": false, "targets": 11 } // nie je vidno obchodneho zastupcu
    ],
    "lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
    "oLanguage": {
      "oPaginate": {
        "sFirst":       " ",
        "sPrevious":    " ",
        "sNext":        " ",
        "sLast":        " ",
      },
      "sLengthMenu":    "Záznamov na stránke: _MENU_",
      "sInfo":          "Spolu _TOTAL_ záznamov (zobrazené _START_ do _END_)",
      "sInfoFiltered":  "(výsledky z _MAX_ záznamov)"
    },
  });
  
  // On page load: form validation
  jQuery.validator.setDefaults({
    success: 'valid',
    rules: {
      fiscal_year: {
        required: true,
        min:      2000,
        max:      2025
      }
    },
    errorPlacement: function(error, element){
      error.insertBefore(element);
    },
    highlight: function(element){
      $(element).parent('.field_container').removeClass('valid').addClass('error');
    },
    unhighlight: function(element){
      $(element).parent('.field_container').addClass('valid').removeClass('error');
    }
  });
  var form_company = $('#form_company');
  form_company.validate();

  // Show message
  function show_message(message_text, message_type){
    $('#message').html('<p>' + message_text + '</p>').attr('class', message_type);
    $('#message_container').show();
    if (typeof timeout_message !== 'undefined'){
      window.clearTimeout(timeout_message);
    }
    timeout_message = setTimeout(function(){
      hide_message();
    }, 3000);
  }
  // Hide message
  function hide_message(){
    $('#message').html('').attr('class', '');
    $('#message_container').hide();
  }

  // Show loading message
  function show_loading_message(){
    $('#loading_container').show();
  }
  // Hide loading message
  function hide_loading_message(){
    $('#loading_container').hide();
  }

  // Show lightbox
  function show_lightbox(){
    $('.lightbox_bg').show();
    $('.lightbox_container').show();
  }
  // Hide lightbox
  function hide_lightbox(){
    $('.lightbox_bg').hide();
    $('.lightbox_container').hide();
  }
  // Lightbox background
  $(document).on('click', '.lightbox_bg', function(){
    hide_lightbox();
  });
  // Lightbox close button
  $(document).on('click', '.lightbox_close', function(){
    hide_lightbox();
  });
  // Escape keyboard key
  $(document).keyup(function(e){
    if (e.keyCode == 27){
      hide_lightbox();
    }
  });
  
  // Hide iPad keyboard
  function hide_ipad_keyboard(){
    document.activeElement.blur();
    $('input').blur();
  }

  // Add company button
  $(document).on('click', '#add_company', function(e){
    e.preventDefault();
    $('.lightbox_content h2').text('Pridaj zákazníka');
    $('#form_company button').text('Pridaj');
    $('#form_company').attr('class', 'form add');
    $('#form_company').attr('data-id', '');
    $('#form_company .field_container label.error').hide();
    $('#form_company .field_container').removeClass('valid').removeClass('error');
    $('#form_company #zak_nazov').val('');
    $('#form_company #zak_ulica').val('');
    $('#form_company #zak_mesto').val('');
    $('#form_company #zak_psc').val('');
    $('#form_company #zak_ico').val('');
    $('#form_company #zak_icdph').val('');
    $('#form_company #zak_osoba').val('');
    $('#form_company #zak_tel1').val('');
	$('#form_company #zak_tel2').val('');
	$('#form_company #zak_email').val('');
	$('#form_company #zak_obchodnik').val('');
	$('#form_company #zak_dodanie').val('');
	$('#form_company #zak_poznamka').val('');
    show_lightbox();
  });

  // Add company submit form
  $(document).on('submit', '#form_company.add', function(e){
    e.preventDefault();
    // Validate form
    if (form_company.valid() == true){
      // Send company information to database
      hide_ipad_keyboard();
      hide_lightbox();
      show_loading_message();
      var form_data = $('#form_company').serialize();
      var request   = $.ajax({
        url:          'data_zak.php?job=add_company',
        cache:        false,
        data:         form_data,
        dataType:     'json',
        contentType:  'application/json; charset=utf-8',
        type:         'post' // get
      });
      request.done(function(output){
        if (output.result == 'success'){
          // Reload datable
          table_companies.api().ajax.reload(function(){
            hide_loading_message();
            var company_name = $('#zak_nazov').val();
            show_message("Zákazník '" + company_name + "' bol pridaný.", 'success');
          }, true);
        } else {
          hide_loading_message();
          show_message('Pridanie bolo neúspešné', 'error');
        }
      });
      request.fail(function(jqXHR, textStatus){
        hide_loading_message();
        show_message('Pridanie bolo neúspešné: ' + textStatus, 'error');
      });
    }
  });

  // Edit company button
  $(document).on('click', '.function_edit a', function(e){
    e.preventDefault();
    // Get company information from database
    show_loading_message();
    var id      = $(this).data('id');
    var request = $.ajax({
      url:          'data_zak.php?job=get_company',
      cache:        false,
      data:         'id=' + id,
      dataType:     'json',
      contentType:  'application/json; charset=utf-8',
      type:         'get'
    });
    request.done(function(output){
      if (output.result == 'success'){
        $('.lightbox_content h2').text('Uprav zákazníka');
        $('#form_company button').text('Uprav');
        $('#form_company').attr('class', 'form edit');
        $('#form_company').attr('data-id', id);
        $('#form_company .field_container label.error').hide();
        $('#form_company .field_container').removeClass('valid').removeClass('error');
        $('#form_company #zak_nazov').val(output.data[0].zak_nazov);
        $('#form_company #zak_ulica').val(output.data[0].zak_ulica);
        $('#form_company #zak_mesto').val(output.data[0].zak_mesto);
        $('#form_company #zak_psc').val(output.data[0].zak_psc);
        $('#form_company #zak_ico').val(output.data[0].zak_ico);
        $('#form_company #zak_icdph').val(output.data[0].zak_icdph);
        $('#form_company #zak_osoba').val(output.data[0].zak_osoba);
        $('#form_company #zak_tel1').val(output.data[0].zak_tel1);
		$('#form_company #zak_tel2').val(output.data[0].zak_tel2);
		$('#form_company #zak_email').val(output.data[0].zak_email);
		$('#form_company #zak_obchodnik').val(output.data[0].zak_obchodnik);
		$('#form_company #zak_dodanie').val(output.data[0].zak_dodanie);
		$('#form_company #zak_poznamka').val(output.data[0].zak_poznamka);
        hide_loading_message();
        show_lightbox();
      } else {
        hide_loading_message();
        show_message('Nie je možné nahrať dáta', 'error');
      }
    });
    request.fail(function(jqXHR, textStatus){
      hide_loading_message();
      show_message('Nie je možné nahrať dáta: ' + textStatus, 'error');
    });
  });
  
  // Edit company submit form
  $(document).on('submit', '#form_company.edit', function(e){
    e.preventDefault();
    // Validate form
    if (form_company.valid() == true){
      // Send company information to database
      hide_ipad_keyboard();
      hide_lightbox();
      show_loading_message();
      var id        = $('#form_company').attr('data-id');
      var form_data = $('#form_company').serialize();
      var request   = $.ajax({
        url:          'data_zak.php?job=edit_company&id=' + id,
        cache:        false,
        data:         form_data,
        dataType:     'json',
        contentType:  'application/json; charset=utf-8',
        type:         'get'
      });
      request.done(function(output){
        if (output.result == 'success'){
          // Reload datable
          table_companies.api().ajax.reload(function(){
            hide_loading_message();
            var company_name = $('#zak_nazov').val();
            show_message("Zákazník '" + company_name + "' bol úspešne upravený.", 'success');
          }, true);
        } else {
          hide_loading_message();
          show_message('Úprava bola neúspešná', 'error');
        }
      });
      request.fail(function(jqXHR, textStatus){
        hide_loading_message();
        show_message('Úprava bola neúspešná: ' + textStatus, 'error');
      });
    }
  });
  
  // Delete company
  $(document).on('click', '.function_delete a', function(e){
    e.preventDefault();
    var company_name = $(this).data('name');
    if (confirm("Naozaj chcete zmazať '" + company_name + "'?")){
      show_loading_message();
      var id      = $(this).data('id');
      var request = $.ajax({
        url:          'data_zak.php?job=delete_company&id=' + id,
        cache:        false,
        dataType:     'json',
        contentType:  'application/json; charset=utf-8',
        type:         'get'
      });
      request.done(function(output){
        if (output.result == 'success'){
          // Reload datable
          table_companies.api().ajax.reload(function(){
            hide_loading_message();
            show_message("Zákazník '" + company_name + "' bol zmazaný.", 'success');
          }, true);
        } else {
          hide_loading_message();
          show_message('Zmazanie neúspešné', 'error');
        }
      });
      request.fail(function(jqXHR, textStatus){
        hide_loading_message();
        show_message('Zmazanie neúspešné: ' + textStatus, 'error');
      });
    }
  });

});
--------------------------------------------------
a tu je PHP ktoré vykonáva samotný zápis/načítanie/editáciu:

Kód: Vybrať všetko

<?php
// Database details
$db_server   = 'xxx'; 
$db_username = 'xxx'; 
$db_password = 'xxx'; 
$db_name     = 'xxx'; 

session_start();
$user_loged	= $_SESSION['user'];	// 'Baránek';

// Get job (and id)
$job = '';
$id  = '';
if (isset($_GET['job'])){
  $job = $_GET['job'];
  if ($job == 'get_companies' ||
      $job == 'get_company'   ||
      $job == 'add_company'   ||
      $job == 'edit_company'  ||
      $job == 'delete_company'){
    if (isset($_GET['id'])){
      $id = $_GET['id'];
      if (!is_numeric($id)){
        $id = '';
      }
    }
  } else {
    $job = '';
  }
}

// Prepare array
$mysql_data = array();

// Valid job found
if ($job != ''){
  
  // Connect to database
  $db_connection = mysqli_connect($db_server, $db_username, $db_password, $db_name);
  if (mysqli_connect_errno()){
    $result  = 'error';
    $message = 'Nie je možné spojiť sa s Databázou: ' . mysqli_connect_error();
    $job     = '';
  }
  
  // Execute job
  if ($job == 'get_companies'){
    
    // Get companies
    $query = "SELECT * FROM zakaznici WHERE zak_obchodnik = '$user_loged' ORDER BY zak_id";
    $query = mysqli_query($db_connection, $query);
    if (!$query){
      $result  = 'error';
      $message = 'query error';
    } else {
      $result  = 'success';
      $message = 'query success';
      while ($company = mysqli_fetch_array($query)){
        $functions  = '<ul class="functions">';
        $functions .= '<li class="function_edit"><a class="btn btn-success" data-id="'   . $company['zak_id'] . '" data-name="' . $company['zak_nazov'] . '" role="button"><span class="glyphicon glyphicon-new-window"></span></a></li>';
        $functions .= '<li class="function_delete"><a class="btn btn-danger" data-id="' . $company['zak_id'] . '" data-name="' . $company['zak_nazov'] . '" role="button"><span class="glyphicon glyphicon-remove"></span></a></li>';
        $functions .= '</ul>';
        $mysql_data[] = array(
		  "functions"		=> $functions,
          "zak_nazov"		=> $company['zak_nazov'],
          "zak_ulica"		=> $company['zak_ulica'],
          "zak_mesto"		=> $company['zak_mesto'],
          "zak_psc"			=> $company['zak_psc'],
          "zak_ico"			=> $company['zak_ico'],
          "zak_icdph"		=> $company['zak_icdph'],
          "zak_osoba"		=> $company['zak_osoba'],
		  "zak_tel1"		=> $company['zak_tel1'],
		  "zak_tel2"		=> $company['zak_tel2'],
		  "zak_email"		=> $company['zak_email'],
		  "zak_obchodnik"	=> $company['zak_obchodnik'],
		  "zak_dodanie"		=> $company['zak_dodanie'],
		  "zak_poznamka"	=> $company['zak_poznamka']
        );
      }
    }
    
  } elseif ($job == 'get_company'){
    
    // Get company
    if ($id == ''){
      $result  = 'error';
      $message = 'id missing';
    } else {
      $query = "SELECT * FROM zakaznici WHERE zak_id = '" . mysqli_real_escape_string($db_connection, $id) . "'";
      $query = mysqli_query($db_connection, $query);
      if (!$query){
        $result  = 'error';
        $message = 'query error';
      } else {
        $result  = 'success';
        $message = 'query success';
        while ($company = mysqli_fetch_array($query)){
          $mysql_data[] = array(
            "zak_nazov"		=> $company['zak_nazov'],
	        "zak_ulica"		=> $company['zak_ulica'],
	        "zak_mesto"		=> $company['zak_mesto'],
	        "zak_psc"		=> $company['zak_psc'],
	        "zak_ico"		=> $company['zak_ico'],
	        "zak_icdph"		=> $company['zak_icdph'],
	        "zak_osoba"		=> $company['zak_osoba'],
			"zak_tel1"		=> $company['zak_tel1'],
			"zak_tel2"		=> $company['zak_tel2'],
			"zak_email"		=> $company['zak_email'],
			"zak_obchodnik"	=> $company['zak_obchodnik'],
			"zak_dodanie"	=> $company['zak_dodanie'],
			"zak_poznamka"	=> $company['zak_poznamka']
          );
        }
      }
    }
  
  } elseif ($job == 'add_company'){
    
    // Add company
    $query = "INSERT INTO zakaznici SET ";
    if (isset($_GET['zak_nazov']))		{ $query .= "zak_nazov		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_nazov'])	. "', "; }
    if (isset($_GET['zak_ulica']))		{ $query .= "zak_ulica		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_ulica'])	. "', "; }
    if (isset($_GET['zak_mesto']))		{ $query .= "zak_mesto		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_mesto'])	. "', "; }
    if (isset($_GET['zak_psc']))		{ $query .= "zak_psc		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_psc'])		. "', "; }
    if (isset($_GET['zak_ico']))		{ $query .= "zak_ico		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_ico'])		. "', "; }
    if (isset($_GET['zak_icdph']))		{ $query .= "zak_icdph		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_icdph'])	. "', "; }
    if (isset($_GET['zak_osoba']))		{ $query .= "zak_osoba		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_osoba'])	. "', "; }
	if (isset($_GET['zak_tel1']))		{ $query .= "zak_tel1		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_tel1'])		. "', "; }
	if (isset($_GET['zak_tel2']))		{ $query .= "zak_tel2		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_tel2'])		. "', "; }
	if (isset($_GET['zak_email']))		{ $query .= "zak_email		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_email'])	. "', "; }
	if (isset($_GET['zak_obchodnik']))	{ $query .= "zak_obchodnik	= '" . $user_loged. "', "; }
	if (isset($_GET['zak_dodanie']))	{ $query .= "zak_dodanie	= '" . mysqli_real_escape_string($db_connection, $_GET['zak_dodanie'])	. "', "; }
    if (isset($_GET['zak_poznamka']))	{ $query .= "zak_poznamka	= '" . mysqli_real_escape_string($db_connection, $_GET['zak_poznamka'])	. "'";   }
    $query = mysqli_query($db_connection, $query);
    if (!$query){
      $result  = 'error';
      $message = 'query error';
    } else {
      $result  = 'success';
      $message = 'query success';
    }
  
  } elseif ($job == 'edit_company'){
    
    // Edit company
    if ($id == ''){
      $result  = 'error';
      $message = 'id missing';
    } else {
      $query = "UPDATE zakaznici SET ";
    if (isset($_GET['zak_nazov']))		{ $query .= "zak_nazov		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_nazov'])	. "', "; }
    if (isset($_GET['zak_ulica']))		{ $query .= "zak_ulica		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_ulica'])	. "', "; }
    if (isset($_GET['zak_mesto']))		{ $query .= "zak_mesto		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_mesto'])	. "', "; }
    if (isset($_GET['zak_psc']))		{ $query .= "zak_psc		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_psc'])		. "', "; }
    if (isset($_GET['zak_ico']))		{ $query .= "zak_ico		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_ico'])		. "', "; }
    if (isset($_GET['zak_icdph']))		{ $query .= "zak_icdph		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_icdph'])	. "', "; }
    if (isset($_GET['zak_osoba']))		{ $query .= "zak_osoba		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_osoba'])	. "', "; }
	if (isset($_GET['zak_tel1']))		{ $query .= "zak_tel1		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_tel1'])		. "', "; }
	if (isset($_GET['zak_tel2']))		{ $query .= "zak_tel2		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_tel2'])		. "', "; }
	if (isset($_GET['zak_email']))		{ $query .= "zak_email		= '" . mysqli_real_escape_string($db_connection, $_GET['zak_email'])	. "', "; }
	if (isset($_GET['zak_obchodnik']))	{ $query .= "zak_obchodnik	= '" . mysqli_real_escape_string($db_connection, $_GET['zak_obchodnik']). "', "; }
	if (isset($_GET['zak_dodanie']))	{ $query .= "zak_dodanie	= '" . mysqli_real_escape_string($db_connection, $_GET['zak_dodanie'])	. "', "; }
    if (isset($_GET['zak_poznamka']))	{ $query .= "zak_poznamka	= '" . mysqli_real_escape_string($db_connection, $_GET['zak_poznamka'])	. "'";   }
      $query .= "WHERE zak_id = '" . mysqli_real_escape_string($db_connection, $id) . "'";
      $query  = mysqli_query($db_connection, $query);
      if (!$query){
        $result  = 'error';
        $message = 'query error';
      } else {
        $result  = 'success';
        $message = 'query success';
      }
    }
    
  } elseif ($job == 'delete_company'){
  
    // Delete company
    if ($id == ''){
      $result  = 'error';
      $message = 'id missing';
    } else {
      $query = "DELETE FROM zakaznici WHERE zak_id = '" . mysqli_real_escape_string($db_connection, $id) . "'";
      $query = mysqli_query($db_connection, $query);
      if (!$query){
        $result  = 'error';
        $message = 'query error';
      } else {
        $result  = 'success';
        $message = 'query success';
      }
    }
  
  }
  
  // Close database connection
  mysqli_close($db_connection);

}

// Prepare data
$data = array(
  "result"  => $result,
  "message" => $message,
  "data"    => $mysql_data
);

// Convert PHP array to JSON array
$json_data = json_encode($data);
print $json_data;
?>

Za každú radu ďakujem.
94jakub
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2037
Registrovaný: 15 dec 2006, 13:18
Bydlisko: Martin/BA
Kontaktovať používateľa:

Re: Nefungujuci zapis do databazy

Príspevok od používateľa 94jakub »

To ti beží niekde na hostingu? Neviem, či sa snažíš ísť na tu istú DB, resp kde konkrétne ti či beží (doména toho až tak veľa neurčuje, aj dve domény tu môžu smerovať na ten istý server)
Si si istý, že sa pripájaš na dobrú DB? Skontroluj si usera do DB a jeho práva, či na insert na danú DB/tabuľku. Nie je mi úplne jasný tvoj setup, ale vychádzam z toho že ostatné veci ti idú, čiže pripojenie funguje. Ak tam ale nevidíš záznamy, ktoré ručne vložíš, tak možno robíš s inou DB.
Mjaus
Novice
Novice
Príspevky: 2
Registrovaný: 07 aug 2023, 19:41

Re: Nefungujuci zapis do databazy

Príspevok od používateľa Mjaus »

Ahoj, takže všetko som prešiel ešte raz. Funguje mi srávne aj výpis z databázy aj editácia riadku aj zmazanie záznamu. Vytvorenie nového však nefunguje. Idem na inú - testovaciu databázu ako je plne fungujúci originál. Pripájam sa na správnu databázu pretože údaje o pripojení sú jedny pre načítanie, editáciu, zmazanie aj pre vloženie.
Ručne vložené záznamy už vidím, v PHP som mal filter podla užívateľa, ale ak som manuálne do databázy vložil riadok so správnym užívateľom (mnou), tak to už vidím.
Jediné čo mi tam teraz momentálne nefunguje je vytvorenie nového zákazníka - nový riadok do databázy. Formulár vyplňam správne.

Fakt si s tým neviem rady. malo by to byt v JS toto:

Kód: Vybrať všetko

  // Add company button
  $(document).on('click', '#add_company', function(e){
    e.preventDefault();
    $('.lightbox_content h2').text('Pridaj zákazníka');
    $('#form_company button').text('Pridaj');
    $('#form_company').attr('class', 'form add');
    $('#form_company').attr('data-id', '');
    $('#form_company .field_container label.error').hide();
    $('#form_company .field_container').removeClass('valid').removeClass('error');
    $('#form_company #zak_nazov').val('');
    $('#form_company #zak_ulica').val('');
    $('#form_company #zak_mesto').val('');
    $('#form_company #zak_psc').val('');
    $('#form_company #zak_ico').val('');
    $('#form_company #zak_icdph').val('');
    $('#form_company #zak_osoba').val('');
    $('#form_company #zak_tel1').val('');
	$('#form_company #zak_tel2').val('');
	$('#form_company #zak_email').val('');
	$('#form_company #zak_obchodnik').val('');
	$('#form_company #zak_dodanie').val('');
	$('#form_company #zak_poznamka').val('');
    show_lightbox();
  });
  
  // Add company submit form
  $(document).on('submit', '#form_company.add', function(e){
    e.preventDefault();
    // Validate form
    if (form_company.valid() == true){
      // Send company information to database
      hide_ipad_keyboard();
      hide_lightbox();
      show_loading_message();
      var form_data = $('#form_company').serialize();
      var request   = $.ajax({
        url:          'data_zak.php?job=add_company',
        cache:        false,
        data:         form_data,
        dataType:     'json',
        contentType:  'application/json; charset=utf-8',
        type:         'post' // get
      });
      request.done(function(output){
        if (output.result == 'success'){
          // Reload datable
          table_companies.api().ajax.reload(function(){
            hide_loading_message();
            var company_name = $('#zak_nazov').val();
            show_message("Zákazník '" + company_name + "' bol pridaný.", 'success');
          }, true);
        } else {
          hide_loading_message();
          show_message('Pridanie bolo neúspešné', 'error');
        }
      });
      request.fail(function(jqXHR, textStatus){
        hide_loading_message();
        show_message('Pridanie bolo neúspešné: ' + textStatus, 'error');
      });
    }
  });


Ale tiež som si všimol že ak zmením message (na iný text): show_message('Pridanie bolo neúspešné', 'error'); tak stále mi vypisuje tento: 'Pridanie bolo neúspešné '. Ako je to možné?
Fuller21
Amateur
Amateur
Príspevky: 21
Registrovaný: 25 júl 2023, 12:27

Re: Nefungujuci zapis do databazy

Príspevok od používateľa Fuller21 »

Verzie PHP a MySQL su totozne? Ked porovnavas vypis php_info, tak tam nie je nieco nezvycajne? Skusal si cisto mysql_connect, len ci sa dokaze pripojit na databazu bez erroru?

Autoeditácia príspevku po 13 min 26 sek:
Pozeram o tej chybovej hlaske, nemas problem s cache? Skus si vypnut cache na danom scripte, ze ci ti to pri upravach nesposobuje problem.

Inak nemas tu dopletene uvodzovky?:
show_message("Zákazník '" + company_name + "' bol pridaný.", 'success');
Napísať odpoveď