Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PHP Funktion wird von Java Script nicht korrekt ausgeführt, aber warum?

Mitglied: moK

moK (Level 1) - Jetzt verbinden

28.03.2010 um 15:51 Uhr, 5536 Aufrufe, 6 Kommentare

Ich sitze seit 3 Stunden an einem und den selben Problem!

Hi Leute, nicht gleich denken das das der falsche Bereich ist...
ich habe eine PHP Funktion die wie folgt aussieht:
01.
function getStelleId($ClickX, $ClickY) { 
02.
 
03.
	$stelle = 0; 
04.
 
05.
	$query = 'SELECT stelle.id, stelle.x1, stelle.y1, stelle.x2, stelle.y2 FROM stelle;'; 
06.
	 
07.
	connect(); 
08.
	$result = mysql_query($query); 
09.
		 
10.
	while($row = mysql_fetch_array($result)) { 
11.
 
12.
		if(($ClickX >= $row['x1'] && $ClickX <= $row['x2']) && ($ClickY >= $row['y1'] && $ClickY <= $row['y2'])) { 
13.
			$stelle= $row['id']; 
14.
15.
16.
	disconnect(); 
17.
	 
18.
	return $stelle
19.
}
Sie funktioniert genau so wie ich will, ABER

sobal dich die Funktion in Java Script aufrufe geht die If-Abfrage nicht mehr:
01.
var stelleId= "<?php echo getStelleId('"+x+"','"+y+"'); ?>";
Bei dem Aufruf aus Java Script geht er nicht einmal in die If-Abfrage, ich habe schon alle Daten mit ausgaben über alert() ausgeben lassen, die Zahlen stimmen, die werte x und y werden korrekt übergeben. Sobald ich die Variablen in der If-Abfrage statisch eingebe funktionier alles. Meine Vermutung ist ein falscher Datentyp wobei das eigentlich nicht das Problem sein dürften. Ich verzweifel einfach. Ich hoffe ihr könnt mir helfen?
Gruß moK
Mitglied: filippg
28.03.2010 um 15:59 Uhr
Hallo,

??? mein feines Modellbaubenzin funktioniert in meinem Dieselmotor einfach nicht. Warum nur?
JavaScript wird i.A. clientseitig ausgeführt, PHP schon vorher auf dem Server. Wenn du x und y erst auf dem client festlegst kann da der server wenig tun.

Gruß

Filipp
Bitte warten ..
Mitglied: moK
28.03.2010 um 16:07 Uhr
Okay, aber warum bekomme ich dann die werte ausgegeben die ich übersende wenn ich die mit echo ausgeben?
01.
function getStelleId($ClickX, $ClickY) { 
02.
echo $ClickX
03.
04.
05.
.
01.
var x = 12; 
02.
var stelleId= "<?php echo getStelleId('"+x+"','"+y+"'); ?>"
03.
alert(stelleId); 
04.
//Ausgabe = 12
Das dürfte dann doch gar nicht funktionieren nach deiner Theorie, oder versteh ich was falsch?

Danke erstmal für die rasche Antwort.
Bitte warten ..
Mitglied: filippg
28.03.2010 um 16:49 Uhr
Hallo,

deine Quelltextbeispiele sind auf jeden Fall schonmal nicht vollständig. Die Funktion erwartet ein x und ein y, du hast aber nur x definiert. Auf der Basis ist es schwer etwas zu erklären.
Aber vergleiche doch mal den Quelltext auf dem Server, und den Quelltext der an den Client ausgelieferten Seite. Du wirst sehen, dass bei letzterem nichts mehr von dem PHP zu finden ist.
Wenn du auf dem Server etwas wie
var stelleId= "<?php echo getStelleId(3, 4'); ?>";
stehen hast, dann wird vom Server das PHP ausgeführt, und der Client empfängt
var stelleId="5"
in sofern hat die Variable stelleId einen Wert, denn du auch mit alert() ausgeben kannst. Aber du kannst nicht über Aufrufen der JavaScript-Funktion auf dem Client einen neuen Wert über die auf dem Server gespeicherte PHP-Funktion ermitteln.

Gruß

Filipp

PS: Du fragst in der PHP-Funktion erstmal alle Stellen aus der DB ab und ermittelst dann in PHP über die IF-Anweisung die eigentlich gesuchte. Das ist ziemlicher quatsch, das geht in SQL viel besser. Wenn du an ein SELECT ... FROM ...eine entsprechende WHERE-Klausel anhängst bekommst du gleich nur den passenden Datensatz zurückgeliefert, das ist sehr viel performanter
Bitte warten ..
Mitglied: dog
28.03.2010 um 20:45 Uhr
LOL, auf die Idee muss man erstmal kommen.

Was hier passiert ist relativ einfach:
01.
var stelleId= "<?php echo getStelleId('"+x+"','"+y+"'); ?>";
01.
function getStelleId() { 
02.
  print_r(func_get_args()); 
03.
}
01.
Array( 
02.
  0 => "+x+", 
03.
  1 => "+y+" 
04.
)
Soll heißen: Du rufst die PHP-Funktion auf und übergibst ihr zwei Strings.
JS und PHP lassen sich nicht mischen!
PHP wird zuerst ausgeführt, danach kommt JS.

Entweder du strukturierst deinen Code um oder du benutzt AJAX.
Bitte warten ..
Mitglied: moK
28.03.2010 um 22:03 Uhr
Danke für den Tipp mit SQL, manchmal denk ich zu kompliziert...
Bitte warten ..
Mitglied: moK
28.03.2010 um 22:06 Uhr
Danke auch dir, das ist sehr gut für mich erklärt... das dumme von mir ist, ich benutze AJAX jedoch übergebe ich dummerweise den kompletten SQL Select anstatt der verschiedenen parameter die ich für den SQL Select brauche....
Bitte warten ..
Ähnliche Inhalte
PHP
PHP Funktionen
Frage von tobmesPHP3 Kommentare

Hi, ich bin es mal wieder ;) Ich habe jetzt glaube ich ein kleines Verständnisproblem mit Funktionen und Rückgabewerten ...

JavaScript

VBS-Script wird nicht vollständig ausgeführt

Frage von HousefrauJavaScript3 Kommentare

Hallo zusammen, wir lassen über eine Gruppenrichtlinie einen Script ausführen, welcher die Drucker der einzelnen Parteien mappen soll. Leider ...

JavaScript

JavaScript Funktion innerhalb einer iFrames wird nicht ausgeführt

gelöst Frage von scoobydoo100JavaScript4 Kommentare

Hallo ! Ich habe bislang auf meiner Startseite ein paar Scripte/Funktionen eingefügt, mit welchen ich in Verbindung mit einem ...

Batch & Shell

Powershell-Script soll von Client ausgeführt werden

gelöst Frage von br00talBatch & Shell10 Kommentare

Dere :) Ich hab wieder mal paar Fragen. 1. Sollte ein Powershell-Script schreiben mit dem auf einen Klick eine ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing18 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware10 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...