Was sagt ihr hierzu?
http://www.drweb.de/webmaster/sich…e-captcha.shtml
ich finds schon recht geil, zumal man das ganze auch schön mit css hübsch machen kann...
Beiträge von FaFoo
-
-
-
Was sollen das denn bitte für Einstellungen sein...?
Ich installier multipleIE mal neu... SPÄTER... -
Also die Seite ist komplette valid... und ich kann trotzdem nichts in die Felder schreiben. Auch irgentwas reinkopieren oder so geht nicht.
Ich hab den IE6 parallel zu anderen IE Versionen installiert mit multipleIE.
Sonst hat keiner das Problem?
Jetzt habe ich einfach eine html Datei erstellt in der nichts weiter steht als:
und auch da kann ich mit dem ie6 nichts reinschreiben! o.0
EDIT: Nichtmal bei google kann ich was reinschreiben... scheint also absolut nichts mit der Programmierung zu tun zu haben... da bin ich ja schonmal beruhig...
-
Hi,
komischer weise kann ich im IE 6 nicht in textfelder schreiben... zumindest nicht bei dem design das ich gerade umsetzt:http://78.49.9.189/coding/DeMi/1a-comedy/www-data/
css datei:
http://78.49.9.189/coding/DeMi/1a…a/css/style.cssIn allen anderen browser gehts, nur ie 6 nicht... danke mfg
-
-.- Internetexplorer hat einfach probleme mit innerHTML und manchen HTML-Elementen...
Problem scheinbar gelöst... -
Hi!
Mit Hilfe von Mootools und einer kleinen Funktion, die externen Content in ein Element läd, lade ich ein PHP-Script mittels Ajax.Hier die Funktion:
Code
Alles anzeigenvar xmlHttpObject; function loadContent(content) { xmlHttpObject = new XHR({method: 'get', onSuccess: handleContent}).send(content); } function handleContent() { $('myContent').innerHTML = xmlHttpObject.response.text; }
So, da mein PHP-Script recht Umfangreich ist, brauch es auch etwas Zeit bis es komplett ausgeführt ist. Diese Zeit scheint dem IE7 zu lang zu sein und er bricht die Ajax Anfrage ab.
Falls sich irgentwer mehr mit Mootools auskennt und Ajax... ich wäre sehr dankbar... -
Code
Alles anzeigen$qry = ("SELECT * FROM faecher"); $rslt = mysql_query($qry) OR die(mysql_error()); while ($row = mysql_fetch_assoc($rslt)) { $fachid = $row['id']; $name = $row['name']; $lehrer = $row['lehrer']; $qry2 = ("SELECT * FROM termine WHERE fach=$fachid"); $rslt2 = mysql_query($qry2) OR die(mysql_error()); while ($row2 = mysql_fetch_assoc($rslt2)) { $geschrieben = $row2['geschrieben']; $terminid = $row2['id']; $qry3 = ("SELECT SUM(noten) as notensumme FROM termine WHERE id=$terminid AND geschrieben='1'"); // geschrieben=1 ist das Indiz, dass die Arbeit nicht nur im Kalender steht, sondern auch schon eine Note hat. $rslt3 = mysql_query($qry3) OR die(mysql_error()); $row3 = mysql_fetch_assoc($rslt3) $schnitt = $row3["notensumme"] / mysql_num_rows($rslt3); } }
Ungetestet und eher ne Vermutung wie gehen könnte.
-
-
Hi,
ich habe in einer Datenbank Adressen gespeichert.
Jetzt möchte ich in einem Formular einen Postleitzahl-Bereich wählen lassen.
Ugf. so:Code<select name="plz"> <option>46</option> <option>47</option> <option>48</option> <option>49</option> </select>
Aus der Datenbank sollen dann nur die Einträge ausgelesen werden bei denen die ersten beiden Ziffern der Plz mit der Auswahl übereinstimmen.
Also nicht:
Sondern etwas das nur die ersten beiden Ziffern vergleicht.
Geht sowas irgetnwie? -
Ich versuche gerade (ohne Tutorial :P) eine Live-Suche mit Ajax unter Verwendung von Mootools zu programmieren.
Das Array bzw. Objekt enthält die Parameter die an das PHP-Script übergeben werden.
Die Parameter werden an den Dateinamen angehangen und im Script per $_GET verarbeitet und an einen MySQL-Query angehengt.index.html:
HTML
Alles anzeigen<!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Ajax Search</title> <script type="text/javascript" src="mootools.js"></script> <script type="text/javascript"> //------------------+ // Ajax Content | //------------------+ var xmlHttpObject; function loadContent(content) { xmlHttpObject = new XHR({method: 'get', onSuccess: handleContent}).send(content); } function handleContent() { $('myContent').innerHTML = xmlHttpObject.response.text; } parameter = new Object; function setParam(param,value) { parameter[param] = value; var url = ''; var i; for(i in parameter) { url += "&"+i+"="+parameter[i]; } document.getElementById("myContent").innerHTML = "[img]lade.gif[/img]"; setTimeout("loadContent('result.php?blind=blind"+url+"')",1000); } </script> </head> <body> <select> <option value="false" onClick="setParam('geschlecht',this.value);">Alle</option> <option value="2" onClick="setParam('geschlecht',this.value);">weiblich</option> <option value="1" onClick="setParam('geschlecht',this.value);">männlich</option> <option value="3" onClick="setParam('geschlecht',this.value);">ts</option> </select> Geschlecht <select> <option value="false" onClick="setParam('alter',this.value);">Alle</option> <option value="1" onClick="setParam('alter',this.value);">18-25</option> <option value="2" onClick="setParam('alter',this.value);">26-30</option> <option value="3" onClick="setParam('alter',this.value);">30-35</option> </select> Alter <p id="myContent"></p> </body> </html>
result.php
PHP<?php if (isset($_GET["geschlecht"]) AND $_GET["geschlecht"] != "false") { echo "Geschlecht: ".$_GET["geschlecht"]." "; } if (isset($_GET["alter"]) AND $_GET["alter"] != "false") { echo "Alter: ".$_GET["alter"]." "; } ?>
Bisher werden die Parameter einfach wieder ausgegeben. Die Datenbank abfrage mach ich gerade.
-
Also das Ding ist, das es in Javascript angeblich keine assoziativen Arrays gibt. Dafür gibt es in Javascript Objekte und Eigenschaften. Irgentwo hab ich gestern noch gelesen, das man einfach anstelle eines Arrays ein Object erstellen soll.
Diese Spezielle for-Schleife wird auf verschiedenen Seiten ja auch immer mit folgender Syntax beschrieben:
von daher kann man wohl davon ausgehen, dass das auch nur mit Objects funktioniert...
Ich tüftel erstmal weiter. -
Nabend!
Nach diesem Beispiel versuche ich ein assoziatives Array auszulesen:
http://www.infos24.de/javascripte/ha…s_arrays.htm#14Ich habe den folgenden Code 1:1 aus dem Beispiel übernommen:
Code
Alles anzeigen<script type="text/javascript"> Obst=new Array(); Obst["Apfel"]="sauer"; Obst["Banane"]="süß"; Obst["Pampelmuse"]="bitter"; Obst["Orange"]="fruchtig"; function aufblenden12() { for(i in Obst) { alert("Der Name des Schlüssels ist "+i+"\nDer dazugehörige Wert ist "+Obst[i]); } } </script> [url='javascript:aufblenden12();']hier[/url]
Wenn ich die Funktion über den Link aufrufe, bekomme ich nach den vier richtigen Inhalten des Arrays aber auch noch folgende:
Zitat
Der Name des Schlüssels ist copy Der dazugehörige Wert ist function (start, length) { start = start0; if (start < 0) { start = this.length + start; } length = length
this.length - start; var newArray = []; for (var i = 0; i < length; i++) { newArray[i] = this[start++]; } return newArray; }
Zitat
Der Name des Schlüssels ist remove Der dazugehörige Wert ist function (item) { var i = 0; var len = this.length; while (i < len) { if (this[i] === item) { this.splice(i, 1); len--; } else { i++; } } return this; }Zitat
Der Name des Schlüssels ist contains Der dazugehörige Wert ist function (item, from) { return this.indexOf(item, from) != -1; }Zitat
Der Name des Schlüssels ist associate Der dazugehörige Wert ist function (keys) { var obj = {}, length = Math.min(this.length, keys.length); for (var i = 0; i < length; i++) { obj[keys[i]] = this[i]; } return obj; }Zitat
Der Name des Schlüssels ist extend Der dazugehörige Wert ist function (array) { for (var i = 0, j = array.length; i < j; i++) { this.push(array[i]); } return this; }Zitat
Der Name des Schlüssels ist merge Der dazugehörige Wert ist function (array) { for (var i = 0, l = array.length; i < l; i++) { this.include(array[i]); } return this; }Zitat
Der Name des Schlüssels ist include Der dazugehörige Wert ist function (item) { if (!this.contains(item)) { this.push(item); } return this; }Zitat
Der Name des Schlüssels ist getRandom Der dazugehörige Wert ist function () { return this[$random(0, this.length - 1)]null; }
Zitat
Der Name des Schlüssels ist getLast Der dazugehörige Wert ist function () { return this[this.length - 1]null; }
Zitat
Der Name des Schlüssels ist each Der dazugehörige Wert ist function forEach() { [native code] }Zitat
Der Name des Schlüssels ist test Der dazugehörige Wert ist function (item, from) { return this.indexOf(item, from) != -1; }Zitat
Der Name des Schlüssels ist rgbToHex Der dazugehörige Wert ist function (array) { if (this.length < 3) { return false; } if (this.length == 4 && this[3] == 0 && !array) { return "transparent"; } var hex = []; for (var i = 0; i < 3; i++) { var bit = (this[i] - 0).toString(16); hex.push(bit.length == 1 ? "0" + bit : bit); } return array ? hex : "#" + hex.join(""); }Zitat
Der Name des Schlüssels ist hexToRgb Der dazugehörige Wert ist function (array) { if (this.length != 3) { return false; } var rgb = []; for (var i = 0; i < 3; i++) { rgb.push(parseInt(this[i].length == 1 ? this[i] + this[i] : this[i], 16)); } return array ? rgb : "rgb(" + rgb.join(",") + ")"; }Zitat
Der Name des Schlüssels ist rgbToHsb Der dazugehörige Wert ist function () { var red = this[0], green = this[1], blue = this[2]; var hue, saturation, brightness; var max = Math.max(red, green, blue), min = Math.min(red, green, blue); var delta = max - min; brightness = max / 255; saturation = max != 0 ? delta / max : 0; if (saturation == 0) { hue = 0; } else { var rr = (max - red) / delta; var gr = (max - green) / delta; var br = (max - blue) / delta; if (red == max) { hue = br - gr; } else if (green == max) { hue = 2 + rr - br; } else { hue = 4 + gr - rr; } hue /= 6; if (hue < 0) { hue++; } } return [Math.round(hue * 360), Math.round(saturation * 100), Math.round(brightness * 100)]; }Zitat
Der Name des Schlüssels ist hsbToRgb Der dazugehörige Wert ist function () { var br = Math.round(this[2] / 100 * 255); if (this[1] == 0) { return [br, br, br]; } else { var hue = this[0] % 360; var f = hue % 60; var p = Math.round(this[2] * (100 - this[1]) / 10000 * 255); var q = Math.round(this[2] * (6000 - this[1] * f) / 600000 * 255); var t = Math.round(this[2] * (6000 - this[1] * (60 - f)) / 600000 * 255); switch (Math.floor(hue / 60)) { case 0: return [br, t, p]; case 1: return [q, br, p]; case 2: return [p, br, t]; case 3: return [p, q, br]; case 4: return [t, p, br]; case 5: return [br, p, q]; default:; } } return false; }Kann mir das mal wer erklären? o.0
-
allerbesten dank
-
Ja an sowas dachte ich ja auch schon nur wieß ich nicht ganz wie man sowas realisiert... Ich man mich erstmal weiter über Cookies schlau... damit hab ich nämlich noch nie gearbeitet.
Aber theoretisch ist das so möglich. Das ist ja schonmal gut. -
Tag,
ich programmiere gerade einen sehr umfangreichen Anmeldeprozess, der sich über mehrere Seiten erstreckt. Es geht um eine Werbeseite auf der man Inserate erstellen kann. Dabei kann man mehrere Inserate auf einmal erstellen. Un somit kann sich der ganze Prozess über mehr als 10 Schritte erstrecken und erst beim letzten Schritt werden die Daten in eine Datenbank geschrieben. Vorher werden alle Eingaben in einer Session gespeichert.
Das Problem ist, wenn kurz vor dem abschließenden letzten Schrit z.B. die Internetverbindung abbricht oder kurz unterbrochen wird, bei w-lan oder so z.B., dann sind alle Eingaben für die Katz gewesen und beim Eintragen in die DB kommen nur Fehlermeldung.
Meine Frage ist daher, wie kann ich die Daten sicher temporär Speichern?
Ich dachte schon daran, anstatt einer Session einfach andere Tabellen in der DB zu nehmen. Mit nem prefix tmp oder so. Und die Identifikation des Benutzers über einen Cookie zu machen. Aber da komm ich nicht weiter.
Vllt hat jemand ja ne Idee, wenn mich jemand verstanden hat.MfG Markus
-
-
Guten Morgen,
da für meine Zwecke ein komplettes BBCode Script zu Umfangreich ist, hab ich kurzerhand selber die drei grundlegenden Funktionen fett, kursiv und unterstrichen mit str_replace realisiert.
Nun hätte ich gerne, wie hier im Forum, drei Buttons über meinem Textfeld, die die entsprechenden Zeichen automatisch einfügen und bei markiertem Text diesen damit umschließen.Hier im Forum wird sich diese Funktion ja in dieser Funktion verstecken:
Code
Alles anzeigenfunction bbstyle(bbnumber) { var txtarea = document.post.message; txtarea.focus(); donotinsert = false; theSelection = false; bblast = 0; if (bbnumber == -1) { // Close all open tags & default button names while (bbcode[0]) { butnumber = arraypop(bbcode) - 1; txtarea.value += bbtags[butnumber + 1]; buttext = eval('document.post.addbbcode' + butnumber + '.value'); eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"'); } imageTag = false; // All tags are closed including image tags :D txtarea.focus(); return; } if ((clientVer >= 4) && is_ie && is_win) { theSelection = document.selection.createRange().text; // Get text selection if (theSelection) { // Add tags around selection document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1]; txtarea.focus(); theSelection = ''; return; } } else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)) { mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]); return; } // Find last occurance of an open tag the same as the one just clicked for (i = 0; i < bbcode.length; i++) { if (bbcode[i] == bbnumber+1) { bblast = i; donotinsert = true; } } if (donotinsert) { // Close all open tags up to the one just clicked & default button names while (bbcode[bblast]) { butnumber = arraypop(bbcode) - 1; txtarea.value += bbtags[butnumber + 1]; buttext = eval('document.post.addbbcode' + butnumber + '.value'); eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"'); imageTag = false; } txtarea.focus(); return; } else { // Open tags if (imageTag && (bbnumber != 14)) { // Close image tag before adding another txtarea.value += bbtags[15]; lastValue = arraypop(bbcode) - 1; // Remove the close image tag from the list document.post.addbbcode14.value = "Img"; // Return button back to normal state imageTag = false; } // Open tag txtarea.value += bbtags[bbnumber]; if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag arraypush(bbcode,bbnumber+1); eval('document.post.addbbcode'+bbnumber+'.value += "*"'); txtarea.focus(); return; } storeCaret(txtarea); }
Kann mir da vielleicht jemand weiterhelfen.
-
EDIT: Problem gelöst. Lag an register_globals, welches online an war.
---------------Schönen Tag,
ich möchte etwas aus einer Liste auswählen lassen. Die Einträge sind einer ID zugewiesen:
Code<select name="bla"> <option value="1">Eintrag</option> <option value="2">noch ein Eintrag</option> <option value="3">Eintrag drei</option> </select>
Dann wird das ganze in einer Session gespeichert:
Und Ausgegeben wir das ganze wie folgt:
Code$bla = array(1 => "Eintrag", 2 => "noch ein Eintrag", 3 => "Eintrag drei"); $blaid = $_SESSION["bla"]; echo $bla[$blaid];
Auf meinem Apache2 funktioniert das auch, obwohl $blaid eigentlich ein String sein müsste (wegen <option value="1">), anstatt wie erforderlich ein Integer. Online auf einem anderen Server macht das aber Probleme.
Wenn ich mir da $blaid ausgeben lasse, erscheint Array im Browser, offline erscheint 1 (, 2 oder 3).Im Kern:
Code
Alles anzeigen//mein Apache $blaid = $_SESSION["bla"]; echo $blaid Ausgabe: 1 (,2 oder 3) //online $blaid = $_SESSION["bla"]; echo $blaid Ausgabe: Array
Warum?
-
Dass es sich um eine Navigation handelt, oder irgentwie mit einer in Verbindung steht ist mir klar. Aber wofür denn das Array? Ich meine wie soll die Index Datei dann ugf aussehen?