Dat is fijn maar het kan ook nog wat fraaier dan ik net uitgelegd had (en geen gezeur met een tellertje $i).
Ik heb dit op codepen even uitgewerkt:
https://codepen.io/anon/pen/VzaLVa
Verder vraag ik me af of het niet handiger is als je dit doet:
<option value="#ff0000" style="background-color: #ff0000"></option>
Je krijgt dan direct de kleurcode terug met $_POST maar misschien wil je dit juist niet en dan moet je je hier maar niets van aantrekken ;-)
Hoi Frank,
Ik ben al aardig op de goede richting heb in iedergeval een x aantal dingen aangepast.
Nu is het volgende.
function sendData(nr) {
var data = $("#myform"+ nr).serialize();
// debug regeltje
console.log(data);
//$('#output').html('<img src="LoaderIcon.gif" />');
jQuery.ajax({
url: "/inc/update.php",
data: data,
type: "POST",
success:function(data)
{
if(data) {
$("#container").load(window.location + " #container");
} else {
$("#container").load(window.location + " #container");
}
}
});
}
Na dat de div gerefreshed is werkt de code niet meer dan dien ik de pagina te herladen voordat ik weer wat kan doen.
Hoe kan ik dit oplossen?
krijg je foutmeldingen in je console?
Nee geen foutmelding alleen een lege regel
Als ik het aanpas met een alert dan krijg ik Array{} te zien.
Update.php
session_start();
include("config.php");
include("function.php");
include("class.User.php");
$Func = new Func($db);
if(isset($_SESSION['userData'])) {
$User = new GUser($db,$Func, $_SESSION['userData']['oauth_uid']);
}
//echo var_dump($_POST);
if(isset($_POST['color'])) {
$query = $db->query('UPDATE user_fleet SET train_row_color = "'.$db->real_escape_string($_POST['color']).'" WHERE id = "'.$db->real_escape_string($_POST['id']).'"');
}
[size=xsmall]
Toevoeging op 01/08/2017 11:57:19:[/size]
Hmm als ik een aparte pagina maak
met dit
//session_start();
include("inc/config.php");
include("inc/function.php");
include("inc/ubb.php");
include("inc/class.User.php");
$Func = new Func($db);
//if(isset($_SESSION['userData'])) {
$User = new GUser($db,$Func, '100886610003250557837');
//}
include_once('inc/lang.php');
$gold_swap_id = "1";
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Trainstation Swap League</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="/css/style.css" type="text/css" />
<link rel="stylesheet" href="/css/style_news.css" type="text/css" />
<!--[if IE 6]><link rel="stylesheet" href="/css/ie6-style.css" type="text/css" media="all" /><![endif]-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
$( document ).ready(function() {
// onchange op alle formulieren met class="myform"
$( ".myform" ).change(function() {
// verkrijg de <form> element dat bij dit select hoort en serialize form data
var data = $(this).closest("form").serialize();
// debug regeltje
console.log(data);
$('#output').html('<img src="LoaderIcon.gif" />');
jQuery.ajax({
url: "inc/update.php",
data: data,
type: "POST",
success:function(data){$('#container').html(data);}
});
});
});
</script>
</head>
<body>
<form method="post" action="" class="myform"> <!-- VERANDER ID IN CLASS -->
<td>
<select class="test" name="color">
<option value="0"></option>
<option value="ff0000" style="background-color: #ff0000"></option>
<option value="3000ff" style="background-color: #3000ff"></option>
<option value="36ff00" style="background-color: #36ff00"></option>
<option value="e400ff" style="background-color: #e400ff"></option>
<option value="fff000" style="background-color: #fff000"></option>
</select>
</td>
<input type="hidden" name="id" value="348" />
</form>
</body>
</html>
Dan werkt het wel.
Maar als die pagina geinclude word dan werkt het niet.
Include gebeurt zo
if(isset($_SESSION['userData']))
{
if($User->HasAccess() == FALSE && $_GET['p'] != "logout")
{
echo '<div class="block">
<div class="block-bot">
<div class="head">
<div class="head-cnt">
<h3>Swap League</h3>
<div class="cl"> </div>
</div>
</div>
<div class="row-articles articles">
<div class="cl"> </div>
<center><font size="6">To enter this site you need to ask permission</font></center>
</div>
</div>
</div>';
}
else
{
if(isset($_GET['p']) == "" || $_GET['p'] == "home" || $_GET['p'] == "1")
{
if(!file_exists("./pages/home.php"))
{
include("./pages/404.php");
}
else
{
include("./pages/home.php");
}
}
else
{
$file = './pages/' . $_GET['p'] . '.php';
if(!file_exists($file))
{
$file = './pages/404.php';
}
include($file);
}
}
}
else
{
echo '<div class="block">
<div class="block-bot">
<div class="head">
<div class="head-cnt">
<h3>SwapLeague</h3>
<div class="cl"> </div>
</div>
</div>
<div class="row-articles articles">
<div class="cl"> </div>
<center><font size="6">To enter this site you need to login or you need to ask permission</font></center>
</div>
</div>
</div>';
}
?>
.htaccess
RewriteEngine On
RewriteBase /
# Bestaande bestanden of mappen uitsluiten
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule ^(.*?)$ $1 [L]
# Alles naar één parameter
RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)$ index.php?p=$1&a=$2&r=$3&t=$4&s=$5&q=$6&z=$7 [NC,L]
RewriteRule ^(.*)/(.*)/(.*)/(.*)$ index.php?p=$1&a=$2&r=$3&t=$4&s=$5&q=$6 [NC,L]
RewriteRule ^(.*)/(.*)/(.*)/(.*)$ index.php?p=$1&a=$2&r=$3&t=$4&s=$5 [NC,L]
RewriteRule ^(.*)/(.*)/(.*)/(.*)$ index.php?p=$1&a=$2&r=$3&t=$4 [NC,L]
RewriteRule ^(.*)/(.*)/(.*)$ index.php?p=$1&a=$2&r=$3 [NC,L]
RewriteRule ^(.*)/(.*)$ index.php?p=$1&a=$2 [NC,L]
RewriteRule ^(.*?)$ index.php?p=$1 [QSA,L]
SEO
//SEO SCRIPT//
if(!empty($_GET) && isset($_GET['p'])) {
$aParameters = explode("/", $_GET['p']);
$iTeller = 0;
foreach($aParameters as $sParameter) {
if(preg_match("_=_", $sParameter)) {
list($key, $value) = explode("=", $sParameter);
$_GET[$key] = $value;
} else {
if($iTeller > 0) {
$_GET['param'.$iTeller] = $sParameter;
} else {
$_GET['p'] = $sParameter;
}
$iTeller++;
}
}
}
Probleem opgelost.
Html form was niet in de juiste contex waardoor die het niet deed met de rest van de code.