odmah bih zelio reci da slicne probleme nisam pronasao premda sam procitao dosta tema a i tutoriala poprilicno,,
sa iskustvom u PHPu sam dosta tanak,,ali volja i upornost su prisutne,,
Pokusavam prepraviti jednu PHP skriptu koja je u kombinaciji sa javascriptom i naravno sa bazom mysql,radi se o aplikaciji u kojoj registrirani korisnici unesu podatke od mobilnog telefona kao sto su model,tip,imei,mreza na koju je zakljucan i jos poneki detalj ,i onda im se kroz odredjeno vrijeme posalje odgovarajuci kod za otkljucavanje,,,
bazu sam uredio tako da unosi tj. sablone koje administrator uradi,a to su ,,naziv telefona,model,operater,cijena,,itd; rade bez problema kao i unos korisnika,
problem se pojavio u 3 skripte ,dve su PHP i jedna javaskripta,koje su medjusobno povezane i koriste se za submitdata i za info iz baze ,tj.da se postavi metoda i kriteriji prema kojoj ce se u odredjenim poljima sta pojaviti,tocnije kada se zeli izabrati model ,tip,mreza u drop dawn meniju,polju,
i na kraju da se provjeri dali je korisnik upisao sve potrebno prije nego salje upit na server,
postavicu sva tri koda pa ce vjerovatno biti lakse da se shvati o cemu je rijec,,a i onda ja mogu jos detalja iznijeti kad su tu predlosci;
sendRequest.php
<?php
include ("checkUser.php");
$filename = "sendRequests.php";
$title = "User - Anfragen";
require_once "lib/global.php";
$user = $_SESSION['user'];
$entries = $db->results("SELECT DISTINCT manufacturer FROM mobilstorage");
$manus = "<option></option>";
while ($row = mysql_fetch_array($entries, MYSQL_NUM)) {
$manus .= '<option value="'.$row[0].'">'.$row[0].'</option>';
}
mysql_free_result($entries);
$credits = $db->first_row("SELECT credits FROM sys_user WHERE name='".base64_encode($user)."'");
//Seiteninhalt
eval("\$content=\"".$template->getTemplate("userRequestForm")."\";");
eval("\$nav=\"".$template->getTemplate("nav_user")."\";");
eval("\$footer=\"".$template->getTemplate("wartezeiten")."\";");
//Ausgabe
eval("\$template->ausgabe(\"".$template->getTemplate("index")."\");");
?>
userRequestForm.php
<script language="javascript">
function submitData(){
var model = document.userRequest.model.value;
var manu = document.userRequest.manu.value;
var prodcode = document.userRequest.prodcode.value;
var netz = document.userRequest.netz.value;
var subnetz = document.userRequest.subnetz.value;
var imei = document.userRequest.imei.value;
var comment = document.userRequest.comment.value;
var submitIt = false;
var balance = document.getElementById('credits').innerHTML;
var price = document.getElementById('price').innerHTML;
if((balance - price) < 0){
alert("Ihr Kontostand reicht nicht aus.\n\n\Bitte erhoehen Sie Ihren Kontostand vor dem Absenden des Antrags.");
}else{
if(submitIt){
if(confirm(" Möchten Sie diese Anfrage absenden?\\n\\n Marke: " + manu + "\\n Typ: " + model + "\\n ProductCode: " + prodcode +"\\n Netz: " + netz + "\\n Subnetz: " + subnetz + "\\n IMEI: " + imei + "\\n Kommentar: " + comment + "\\n\\n Bitte beachten Sie, dass diese Anfrage verbindlich ist wenn Sie die Informationen bestaetigen!\\n\\n Es werden Ihnen " + document.getElementById('price').innerHTML + " Credits abgezogen.")) document.userRequest.submit();
}else{
alert("Anfrage kann nicht abgesendet werden:\n\n\Es fehlen noch benötigte Informationen!");
}
}
}
// Removes leading whitespaces
function LTrim( value ) {
var re = /\s*((\S+\s*)*)/;
return value.replace(re, "$1");
}
// Removes ending whitespaces
function RTrim( value ) {
var re = /((\s*\S+)*)\s*/;
return value.replace(re, "$1");
}
// Removes leading and ending whitespaces
function trim( value ) {
return LTrim(RTrim(value));
}
var xmlhttp
function doInfoRequest(method, manu, model, prodcode, netz, subnetz)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Your browser does not support XMLHTTP!");
return;
}
var url="getRequestInformation.php";
url=url+"?method="+ method;
url=url+"&manu="+ manu;
url=url+"&model="+ model;
url=url+"&prodcode="+ prodcode;
url=url+"&netz="+ netz;
url=url+"&subnetz="+ subnetz;
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
//alert(xmlhttp.responseText);
var response = (xmlhttp.responseText).split("|&|");
if(trim(response[0]) == 'modelInfo'){
document.userRequest.model.disabled = false;
document.userRequest.imei.disabled = true;
document.getElementById('modelBody').innerHTML = response[1];
document.getElementById('price').innerHTML = "";
document.userRequest.comment.disabled = true;
if(trim(response[1]) == ''){
document.userRequest.model.disabled = true;
document.userRequest.imei.disabled = true;
document.getElementById('price').innerHTML = "";
}
}
if(trim(response[0]) == 'reqInfo'){
//alert('1' + response[1]);
if(trim(response[1]) == '10'){
document.userRequest.imei.disabled = false;
document.userRequest.comment.disabled = false;
document.getElementById('price').innerHTML = response[2];
}else if(trim(response[1]) == '11'){
document.userRequest.imei.disabled = false;
document.userRequest.comment.disabled = false;
document.getElementById('price').innerHTML = response[2];
}else if(trim(response[1]) == '01'){
document.userRequest.comment.disabled = false;
document.getElementById('price').innerHTML = response[2];
}else{
document.userRequest.imei.disabled = true;
document.userRequest.comment.disabled = true;
document.getElementById('price').innerHTML = "";
}
}
//document.getElementById("txtHint").innerHTML=;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
</script>
<form name="userRequest" action="doUserRequest.php" method="POST">
<table>
<tr>
<td>Marke</td>
<td>
<select onChange="doInfoRequest('modelInfo',document.userRequest.manu.value, 'none');" id="manu" name="manu">
$manus
</select>
</td>
</tr>
<tr>
<td>Typ</td>
<td>
<div id="modelBody">
<select id="model" name="model" onChange="doInfoRequest('reqInfo',document.getElementById('manu').value, document.getElementById('model').value);"></select>
</div>
</td>
</tr>
<tr>
<td>Netz</td>
<td>
<div id="netzBody">
<select id="netz" name="netz" onchange="doInfoRequest('reqInfo',document.getElementById('manu').value, document.getElementById('model').value, document.getElementById('netz').value);"></select>
</div>
</td>
</tr>
<tr>
<td>Subnetz</td>
<td>
<div id="subnetzBody">
<select id="subnetz" name="subnetz" onchange="doInfoRequest('reqInfo',document.getElementById('manu').value, document.getElementById('model').value, document.getElementById('netz').value, document.getElementById('subnetz').value);"></select>
</div>
</td>
</tr>
<tr>
<td>IMEI</td>
<td><input type="text" name="imei"/></td>
</tr>
<tr>
<td>ProductCode</td>
<td><input type="text" name="prodcode"/></td>
</tr>
<tr>
<td>Kommentar</td>
<td><input type="text" name="comment"/></td>
</tr>
<tr>
<td>Preis</td>
<td id="price"></td>
</tr>
</table>
</form>
<table>
<tr>
<td><button onclick="submitData();">Anfrage absenden</button></td>
</tr>
</table>
<script language="javascript">
document.userRequest.model.disabled = true;
document.userRequest.netz.disabled = true;
document.userRequest.subnetz.disabled = true;
document.userRequest.imei.disabled = true;
document.userRequest.prodcode.disabled = true;
document.userRequest.comment.disabled = true;
</script>
getRequestInformation.php
<?php
$filename = "getRequestInformation.php";
require_once "lib/global.php";
include ("checkUser.php");
if(isset($_GET['method'])){
$method = $_GET['method'];
$manu = $_GET['manu'];
$model = $_GET['model'];
$prodcode = $_GET['prodcode']
$netz = $_GET['netz'];
$subnetz = $_GET['subnetz'];
if($method == 'modelInfo'){
$entries = $db->results("SELECT DISTINCT model FROM mobilstorage WHERE manufacturer = '".$manu."' ORDER BY model ASC");
$models = '<select id="model" name="model" onChange="doInfoRequest(\'reqInfo\',document.getElementById(\'manu\').value, document.getElementById(\'model\').value);"><option></option>';
while ($row = mysql_fetch_array($entries, MYSQL_NUM)) {
$models .= '<option value="'.$row[0].'">'.$row[0].'</option>';
}
$models .= '</select>';
mysql_free_result($entries);
if($models == "<option></option>") $models = "";
echo($method."|&|".$models);
}else if($method == 'reqInfo'){
$entries = $db->results("SELECT reqimei, price FROM mobilstorage WHERE manufacturer = '".$manu."' AND model = '".$model."'");
$required = "";
$price = "";
while ($row = mysql_fetch_array($entries, MYSQL_NUM)) {
$required .= $row[0].$row[1];
$price = $row[2];
}
mysql_free_result($entries);
echo($method."|&|".$required."|&|".$price);
}
}
?>
Zahvaljujem svima koji pronadju vremena i pogledaju ovaj moj problem,,
Pozdrav