Gut ich glaube dann muss ich mal beim Betreiber anfragen, mal gucken was der so sagt. ;)
Danke schon mal fuer die Hilfe.
Druckbare Version
Gut ich glaube dann muss ich mal beim Betreiber anfragen, mal gucken was der so sagt. ;)
Danke schon mal fuer die Hilfe.
Hallo, ich bin's mal wieder!
Und zwar mit folgendem Problem:
Ich würde per PHP gerne eine Datei erstellen:
Das Klappt ja. Nunw ürde ich aber gerne in diese Datei informationen so aus einem Formular speichern, dass ich sie auch wieder aus der Datei mit PHP lesen kann.PHP-Code:
$fp = fopen ( "dateiname.php", 'w');
Wie wann z.B. ein Benutzer in das Formularfeld "Name" den Wert "Bluescreen" einträgt, der dann in einer Datei gespeichert wird und später bspw. über die Variable $Benutzername verwendet werden kann.
Edit:
Quatsch, das da oben ist ja zum Datei lesen, ich meinte zum erstellen natürlich
PHP-Code:
touch("dateiname.endung");
Wenn du sie so auslesen willst, würde ich das mit einer einfachen .ini Datei machen. Mit parse_ini_file() kannst du den Inhalt nämlich bequem auslesen.
Gut, das ist ne Möglichkeit.
Die INI-Datei sieht dan z.B. so aus:
Aber wie kann ich dann genau auf diese Informationen zugreifen?Code:;Benutzerinformationen:
[Benutzerdaten]
Name = Bluescreen
Passwort = Geheim
Das hat doch was mit einem Array zu tun, oder?
du kannst doch auch $name = Benutzername schreiben und die Datei dann Includen?!
Stimmt. Geht das dann auch mit den \" Anführungszeichen?
Ah, Ok, das geht. Mich würdedas mit den INI-Dateien aber trotzdem interressieren...
Nicht umsonst hat NPC die Funktion als Verweis zum Hanbuch erstellt.Zitat:
Ah, Ok, das geht. Mich würdedas mit den INI-Dateien aber trotzdem interressieren...
$daten = parse_ini_file('test.ini'); ergibt:Code:[Benutzerdaten]
Name = Bluescreen
Passwort = Geheim
$daten['Name'] und $daten['Passwort'].
parse_ini_file('test.ini',true); ergibt:
$daten['Benutzerdaten']['Name'] und $daten['Benutzerdaten']['Passwort'].
Naja, wenn du zum Beispiel eine Ini Datei hast, in der
steht, könntest du zum Beispiel alle mitCode:[1]
name = NPC Fighter
website = http://havefuninthe.net/
[2]
name = Bill Gates
website = http://microsoft.com/
[3]
name = Angela Merkel
website = http://bund.de/
ausgeben. Nur so als Anstoß.PHP-Code:
<?php
$inifile = parse_ini_file("users.ini", TRUE);
foreach($inifile as $id)
{
echo "<a href=\"".$id["website"]."\">".$id["name"]."</a><br />";
}
?>
Edit: Narf, Taki. D:
Edit2: Am besten achtest du auch noch drauf, dass nicht Hinz und Kunz die Datei ansehen kann.
Muss mich auch noch mal mit ner Frage einreihen. ;D
Hatte ja das Problem das meine Domain nicht automatisch auf eine .xhtml Datei Weitergeleitet werden kann.
Der Betreiber meinte ich muss mir ein Forward Script machen und dann Umleiten.
Hab ich gemacht, nun will aber der IE6 die Datei Downloaden und kann sie nicht anzeigen. -.-
Kann man das irgend wie umgehen?
Und warum kann PHP keine .xhtml Dateien Includen? Es wird dann nichts angezeigt wenn man die Seite aufruft.
Der Internet Explorer versteht kein echtes XHTML. Das hat auch zur Folge, dass der den XHTML MediaType application/xhtml+xml nicht kennt und ihn downloaden will.
Als Lektüre empfehle ich dir Schneegans' XHTML-Einmaleins.
Nachtrag: Es gibt aber einen Trick, wie der Internet Explorer XHTML als XML parst, wenn man den MediaType application/xml verwendet. Das hat aber nur den Vorteil, dass auf Wohlgeformtheit geprüft wird. Es hat mehr Nachteile, da der IE in diesem Fall die DTD herunterlädt und XML darüberhinaus nicht inkrementell anzeigen kann (wie Opera glaub ich und Mozilla seit neuestem).
Da vermute ich das Problem im Skrip und nicht in der XHTML-Datei.Zitat:
Und warum kann PHP keine .xhtml Dateien Includen? Es wird dann nichts angezeigt wenn man die Seite aufruft.
Was ist daran falsch?:Zitat:
Da vermute ich das Problem im Skrip und nicht in der XHTML-Datei.
Wenn ich .html draus mache geht es ja wieder. ;)PHP-Code:
<?
include("test.xhtml");
?>
Hatte ich schon mal gelesen aber scheinbar nicht vollstaendig. xDZitat:
Als Lektüre empfehle ich dir Schneegans' XHTML-Einmaleins.
Jetzt geht alles auch im IE6 und Includieren klappt auch.
Ich habe einfach UTF-8 vergessen
und den Header in:HTML-Code:<meta http-equiv="content-type" content="application/xhtml+xml;charset=utf-8" />
geaendert. =DHTML-Code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml'>
Danke mitaki. ;)
Schön, dass es nun funktioniert, aber noch ein Hinweis:
<? ist von der PHP-Konfiguration abhängig. Bei mir werden Blöcke die mit <? beginnen nicht geparst. Konfigurationsunabhängig ist nur <?php.Zitat:
Was ist daran falsch?:
Joa muss ich noch aendern. =D Hab mich ueber die Jahre an das <? das es mir schwer faellt <?php zu nehmen, sieht irgend wie so nervig aus. xD
Ich hab mal eine ganz andere Frage:
Ich hab lange versucht, sowas selbst zu basteln, aber ich hab einfach keine Zeit mehr, um das ganze endlich mal fertig zu stellen. Deswegen:
Kennt jemand eine Art kostenloser Forum-Maker, den ich auf Funpic.de benutzen kann? Damit ich dann dort ein Forum haben kann, was einfach zu bedienen und verwalten ist?
Ich bin mir sicher, das ihr sowas kennt!
Kostenlosen Forum Maker!?
Meinst du sowas wie
?! ^^
Was heißt eigentlich "weiterverabeiten"? Mit der Option "No derivate works" in der CCL ist eine "Weiterverarbeitung" verboten, aber ab wann gilt ein Bild oder eine Musikdatei als weiterverarbeitet? Wenn ich ein Bild in ein anderes Format konvertiere - ist es dann bearbeitet? Wenn ich es unverändert in ein Pages-Dokument (oder von mir aus Word-Dokument) einbaue, wenn ich es unverändert in ein anderes Bild einbaue, wenn ich seine Bildgröße ändere, wenn ich es leicht transformiere - was davon ist nun eine Weiterverabeitung?
Ich frag so doof, weil ich durch den Comic der CCL (3. Bild) verunsichert bin: Maya hat das Bild im Beispiel nur um ein paar Grad gedreht und in eine Collage eingebaut - und das gilt dort bereits als "weiterverarbeitet"!? Oder hab ich nicht richtig hingeschaut? So gut ist es nicht zu erkennen...
mhm umwandeln wird wohl noch drin sein solange du nicht grade bmp -> jpg quali 1% umwandelst ist da ja kaum ein Unterschied. Ist wohl ein Grenzfall, im Zweifelsfall nachfragen.
Kann es sein, das wenn man XHTML nutzt, der Webspace rum spinnen tut?
Nutze ja zurzeit XHTML, und er will nur Sporadisch und Schleppend Links laden.
Die von dir genannten Probleme können nicht durch XHTML verursacht werden.
Okey, Danke. =DZitat:
Die von dir genannten Probleme können nicht durch XHTML verursacht werden.
Ohhohh gefaehrlich, dobbelbosd! xD
Ich hab da mal ne frage zu CSS und <fieldset> + <legend>.
Wenn ich <fieldset> mit CSS Formatiere und eine Background Farbe mache, sieht ja noch alles jute aus. ;)
Wenn ich dann aber das Element <legend> hinzufuege, kommt im !€ nur soße bei raus. Soll heißen, ueber dem <legend> Element bildet sich nun die Background Farbe vom <fieldset> Element weiter aus, ueber die gestrichelte Linie. ;) Was nicht zum Design passt und scheiße aussieht.
Hier mal die Klassen wie ich die beiden Elemente Formatiert habe. ;)
Hier noch ein Bild wie es im !€ aussieht:HTML-Code:.fieldset{
border: 1px dashed #876625;
background-color: #e1d2b5;
margin: 1em auto; padding: 1em;
}
.legend{
font: bold 10pt Verdana;
margin: 0; padding: 0.5em;
}
Bild von Fieldset+Legend
Aso, die frage hab ich ganz vergessen, wie kann ich obiges im !€ vermeiden ohne es Komplikationen bei anderen Browsern gibt!
e:
So und gleich noch ne frage Hinterher.
Kann es moeglich sein das die:
beiden sich gegenseitig in die quere kommen?HTML-Code:*{
color: #000000;
font: normal 7pt Verdana;
margin: 0; padding: 0;
}
body{
background-color: #e2c890;
margin: 0; padding: 1em;
}
Denn eigentlich soll ja * alle Elemente Formatieren, macht er aber nicht. -.-
Wenn ich body nach oben setze, geht zwar die Formatierung von * aber body wird ignoriert. -.-
Gibt es da ne Loesung fuer?
Ok aber nun ist immer noch hinter dem Text was <legend> ausgibt eine gestrichelte Linie. -.- Die muss auch noch weg.
Im Opera sieht es auch Komisch aus, da ist jetzt der <legend> Text unter der Gestrichelten Linie. ;(
Guten Nachmittag!
Wie bzw. woher bekommt man eigentlich solche Text-Formatierungs-Hilfen für die eigene Website:
http://de.geocities.com/welt_der_skr...lfen_apr07.gif
ich denke, ihr wisst was ich meine!^^
Gibt es sowas irgendwo zum downloaden?
öh, lad dir phpbb oder eine andere Forensoftware, und such die stelle da im quellcode, copier das, fertig.
das dürfte aber mit JS recht leicht zu lösen sein, denk ich.
Dauert nur lange, wenn du das selbst schreiben musst.
Insofern ist o.g. Lösung ne ganz gute denk ich.
Vlt hilft das: tutorials.de
oder hier:
google.de
Also, tutorials.de hilft hier schonmal nicht weiter, da:Na, dann werd' ich mich mal auf die Suche machen...Zitat:
Gleich mal ein Wort vorneweg: Die hier beschriebenen Methoden funktionieren in der vorliegenden Form nicht mit Mozilla-Browsern. Nur MSIE-Benutzer ab Versionsnummer 5.5 kommen in den Genuss dieses Features.
Obwohl man dann in Frage stellen müsste, ob dieses "Feature" dann auch das richtige für deinen Einsatz wäre, wenn es nur für IE >= 5.5 verfügbar ist...
wo ist bitte das problem, phpBB ist open source, wenn du ein wenig html kannst, und einen texteditor mit suchfunktion besitzt, kannst du den teil aus dem original phpbb source kopieren.
das ist dann garantiert genau das was du willst.>_>
Nun, gut, ich dachte eigentlich einfach nur, ich könnte euch mal' fragen, vielleicht habt ihr ein paar persöhnliche Tipps. Ein solcher Formator per Java wäre auch nicht schlecht gewesen.
Egal, nun zu einem anderen Problem:
Auf meiner Website tritt ein JS-Problem auf, das der Firefox folgendermaßen beschreibt:
http://de.geocities.com/welt_der_skr...em23.04.07.png
Der Script-Container:
Sollte das Problem so nicht zu finden sein, das ganze Dokument:Code:<script type="text/javascript"><!--
function kat1(objKat){
var objFirst = document.getElementById("navigation").getElementsByTagName("li")[0];
var objKat = objKat.parentNode;
// Alle Menuepunkte der obersten Navigationsebene durchlaufen
while(objFirst){
// Falls es sich um ein LI-Tag handelt, nichtt aber um die aktive Kategorie
if((objFirst.nodeName.toLowerCase()=="li") && (objFirst!=objKat)){
objFirst.getElementsByTagName("ul")[0].className = "toggleOff";
}
// Nächstes Element auf gleicher Ebene holen
objFirst = objFirst.nextSibling;
}
// Aktives Element anhand des aktuellen Zustandes ein- bzw. ausblenden
with(objKat.getElementsByTagName("ul")[0])
className = (className=="toggleOn")?"toggleOff":"toggleOn";
}
//--></script>
Danke!HTML-Code:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><title>Ferienendversion: 25.02.07 - Version 0.2.3.1 - Schema 2</title>
<meta name="author" content="Erik T.">
<meta name="fileversion" content="0.2.3.1">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta http-equiv="content-script-type" content="text/javascript">
<meta http-equiv="content-language" content="de">
<style type="text/css">
.untergrnormal, .normaleinfach, .gruppenormal {
background-color:#55C;
color: #fff;
font: bold 0.94em sans-serif;
text-decoration: none;
display:block;
padding: 3px 10px;
border: 1px solid #05b;
margin: 0;
width: 165px;
-moz-border-radius:5px;
/* border-radius:5px; */
}
.normaleinfach {
background-color:#65C;
}
.untergrnormal {
background-color:#5252B5;
/* background: #ccc; */
}
.untergruppeaus {
display:none;
}
/* Klassen zum Ein- bzw. Ausblenden der Unterkategorien */
.toggleOff{ display: none; }
.toggleOn{ display: block; }
#navigation LI {
background-color: transparent;
padding: 0;
margin: 0;
list-style: none;
width: 165px;
}
#navigation UL {
background-color: transparent;
padding: 0;
margin: 0;
}
#navigation A:link, #navigation A:visited {
border: 1px solid #333399;
}
#navigation A:hover, #navigation A:focus {
border: 1px solid #c7c88d;
}
#maincontent {
background-color: #e3e0c6;
padding: 1em;
border-left: 1px solid #002c88;
margin: 0 0 0 210px;
color: #000;
position: absolute;
top: 0px;
left: 0px;
}
</style>
<script type="text/javascript"><!--
function kat1(objKat){
var objFirst = document.getElementById("navigation").getElementsByTagName("li")[0];
var objKat = objKat.parentNode;
// Alle Menuepunkte der obersten Navigationsebene durchlaufen
while(objFirst){
// Falls es sich um ein LI-Tag handelt, nichtt aber um die aktive Kategorie
if((objFirst.nodeName.toLowerCase()=="li") && (objFirst!=objKat)){
objFirst.getElementsByTagName("ul")[0].className = "toggleOff";
}
// Nächstes Element auf gleicher Ebene holen
objFirst = objFirst.nextSibling;
}
// Aktives Element anhand des aktuellen Zustandes ein- bzw. ausblenden
with(objKat.getElementsByTagName("ul")[0])
className = (className=="toggleOn")?"toggleOff":"toggleOn";
}
//--></script>
</head><body lang="de" style="color:#000;background-color:#339;">
<noscript> </noscript><noscript>
<p>Diese Seite benötigt JavaScript. Ihr Broswer interpretiert anscheinend aber kein JavaScript, oder sie haben die Interpretation abgeschaltet. <br>
Um den vollen Komfort dieser Website zu nutzen sollten sie dies wieder aktivieren, oder einen JavaScript-fähigen Broswer wie z.B. den kostenlosen <a href="http://www.mozilla-europe.org/de/" title="Zur Website des Mozilla Firefox gehen">Mozilla Firefox</a> zulegen.<br>
</p><p>Falls ihnen das alles nicht zusagt, können sie auch unsere <a href="#">Version ohne JavaScript</a> ansehen (NOCH IM BAU).
</p><p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
</noscript>
<div style="width:210px; position: absolute; top: 7px; left: 7px;">
<ul id="navigation" style="padding:0; margin:0;">
<li><a title="Kategorie 1" class="gruppenormal" id="gruppe1" onclick="kat1(this)" href="#">Kategorie 1</a>
<ul class="toggleOff">
<li><a title="Unterkategorie 1-1" class="untergrnormal" id="gruppe1a_0" href="#"> Unterkategorie 1.1</a></li>
<li><a title="Unterkategorie 1-2" class="untergrnormal" id="gruppe1b_0" href="#"> Unterkategorie 1.2</a></li>
<li><a title="Unterkategorie 1-3" class="untergrnormal" id="gruppe1c_0" href="#"> Unterkategorie 1.3</a></li>
<li><a title="Unterkategorie 1-4" class="untergrnormal" id="gruppe1d_0" href="#"> Unterkategorie 1.4</a></li>
<li style="visibility:hidden;" title="Platzhalter"> </li>
</ul>
</li>
<li><a title="Kategorie 1" class="gruppenormal" id="gruppe2" onclick="kat1(this)" href="#">Kategorie 2</a>
<ul class="toggleOff">
<li><a title="Unterkategorie 1-1" class="untergrnormal" id="gruppe1a_1" href="#"> Unterkategorie 1.1</a></li>
<li><a title="Unterkategorie 1-2" class="untergrnormal" id="gruppe1b_1" href="#"> Unterkategorie 1.2</a></li>
<li><a title="Unterkategorie 1-3" class="untergrnormal" id="gruppe1c_1" href="#"> Unterkategorie 1.3</a></li>
<li><a title="Unterkategorie 1-4" class="untergrnormal" id="gruppe1d_1" href="#"> Unterkategorie 1.4</a></li>
<li style="visibility:hidden;" title="Platzhalter"> </li>
</ul>
</li>
<li><a title="Kategorie 1" class="gruppenormal" id="gruppe3" onclick="kat1(this)" href="#">Kategorie 3</a>
<ul class="toggleOff">
<li><a title="Unterkategorie 1-1" class="untergrnormal" id="gruppe1a_2" href="#"> Unterkategorie 1.1</a></li>
<li><a title="Unterkategorie 1-2" class="untergrnormal" id="gruppe1b_2" href="#"> Unterkategorie 1.2</a></li>
<li><a title="Unterkategorie 1-3" class="untergrnormal" id="gruppe1c_2" href="#"> Unterkategorie 1.3</a></li>
<li><a title="Unterkategorie 1-4" class="untergrnormal" id="gruppe1d_2" href="#"> Unterkategorie 1.4</a></li>
<li style="visibility:hidden;" title="Platzhalter"> </li>
</ul>
</li>
</ul>
</div>
<div id="maincontent">
<p>Version 0.2.<b>3</b>! - Aktuell seit 25.02.07 - 20:31 <b>Achtung:</b> Benötigt JavaScript, NOSCRIPT Container vorhanden.<br>
<!-- TEXT -->
</p></div>
</body></html>
Um nochmal zu deiner "Formatierungshilfe" zu kommen: Willst du eigentlich einige Buttons die einfach die BB-Codes in das Feld einfügen oder einen WYSIWYG-Editor? Ersteres sollte sich zumindest als Basisversion auch selbst realisieren lassen, muss man sich nur n bisschen JS angucken, letzteres kann man sich auch fertig besorgen, z.B. FCKeditor
Ergibt ja auch wahnsinnig viel Sinn, denkst du nicht? Du greifst auf eine Eigenschaft eines Objektes zu, die du ihm selbst zuweist, was theroretisch ja ginge, allerdings erzeigst du das Objekt gerade erst, also kann die Eigenschaft nicht existieren.
Was du wohl meintest war:
oder?Code:var objKat = objFirst.parentNode;
edit: Ok, du hast es als Übergabeparameter, in dem Fall ist der Fehler noch trivialer. Nimm einfach einen anderen Namen oder lass das "var " davor weg.
EIgwentlich kam ich nur darauf, weil ich ein solches System ganz einfach umgesetzt habe. Da werden die Formatierungselemente, die man per Mauskick einfügt aber immer ans Ende im Textfeld gestellt. Deswegen wollte ich mal schauen, ob's da nicht noch bessere Versionen gibt...
Natürich! :rolleyes:
Sowas kommt davon wenn man das Problem als viel kompizierter einschätzt, als es eigentlich ist! Danke nochmal!^^
SelfHTML.
Mit Formatieren von markiertem Text und Einfügen an Cursorposition in praktisch allen Browsern.
na und, er funktioniert ja trotzdem (immer noch^^)
Ich wollte damit nur sagen, dass man heute wohl nicht mehr so stark auf Browserspezifisches eingehen muss wie damals, weil man bessere Browserübergreifende Techniken verwenden kann (und da gabs von IE 5 auf IE 6 ja durchaus was neues).
Wie kann man einen Button mit einem Bild darauf machen? Man kann im value ja kaum ein <img> Element einfügen.(Sollte man bei XHTML kein Javascript verwenden, da es nicht valide ist? Ich meine, weil es das Attribut onClick "nicht gibt".)
funktioniert bei mir, valide hab ich jetzt nicht getestet, sollte aber gehen, schätze ich.Code:<input type="image" src="z" width="x" height="y" alt="Submit" />
Leider nicht in XHTML width und height gehen nicht und da man weitergeleitet wird, geht es nicht für das was ich will. Ich will für mein Forum eben auch BBCodes machen. Ich mach es jetzt vorläufig einfach so:
CSS:HTML-Code:<img src="images/a_background.png" width="149" height="29" onClick="insert('[link]', '[/link]')" alt="Link einfügen" />
Und das insert ist das, auf welches drunken monkey verwiesen hat.HTML-Code:img:hover {
cursor: pointer;
}
Edit: thx @drunken monkey , Crash-Override
Ist valides und funktionierendes XHTML. Du hast dann allerdings den Button im Hintergrund.HTML-Code:<button type = "button" onclick = "insert('[link]', '[/link]');">
<img src = "images/a_background.png" width = "149" height = "29" alt = "Link einfügen" />
</button>
Hallöchen, ich hab mal wieder ein Problem.
Und zwar möchte ich auf einer Seite mit einem klick auf ein Bild eine vergrößerte Version (davon) anzeigen lassen.
Der JavaScript Code, den ich derzeit verwende:Aufruf vom Bild:Code:function schliessen() {
if (fenster == fenster.closed) { fenster.close(); }
}
function schliessen2() {
this.window.close();
}
function oeffnen(img,hoehe,breite) {
var fenster = window.open("", "","width=500,height=500,menubar=no,status=no,toolbar=no,dependet=yes,scrollbars=yes");
var text;
text = "<html><head><title>Bild ";
text += img;
text +="</title></head><body style='text-align:center;font-family:MS Sans Serif; font-size: 11px;color:#FFF;background-color:#339;'><img height='"
text += breite;
text +="' width='";
text += hoehe;
text +="' alt='Bild ";
text += img;
text +="'' src='";
text += img;
text += "'><br><a href='javascript:this.window.close();' title='Dieses Fenster schließen'>Fenster schließen</a></body></html>";
fenster.document.write(text);
fenster.focus();
} //Funtion Ende
Wie lässt sich das auf die folgenden Punkte optimieren(?):HTML-Code:<a href="#" onclick="oeffnen('schusa_bild1_b.jpg',450,600)"><img style="border: 0px;" src="schusa_bild1_s2.jpg" width="263" height="350" alt=""></a>
- Es wird immer nur ein Fenster für die Bilder geöffnet; Klickt der User die Vorschau eines anderen an, geht kein neues auf, sondern es erscheint im alten (oder das alte wird vorher geschlossen)
- Die Fensterabmessungen werden jedesmal einzeln übergeben, sodass jedes Fenster eine andere Breite bzw. Höhe haben kann
- Firefox läd nach dem anzeigen des Fensters weiterhin (Ladegrafik aktiv). Was verurschacht das und wie kann man das beheben?
- In der Statusleiste einen Hoverkommentar zum Bild
Also, was mir zuerst auf fällt, ist wie du das Fenster mit einem Link öffnest. Anstattkönntest duHTML-Code:href="#" onclick="oeffnen('schusa_bild1_b.jpg',450,600)"
verwenden, aber ich würde sowieso kein Element 'a' um das 'img' Element machen sondern einfach das Attribut 'onclick' in das 'img' Element verschieben, so wie es jetzt ist und dann das Element 'a' weglöschenHTML-Code:href="javascript: oeffnen('schusa_bild1_b.jpg',450,600)"
Wenn du schon die Höhe und die Breite extra übergibst, würde ich natürlich das nachher auch verwenden um das Fenster zu öffnen:
width=breite+50,height=hoehe+50
So etwas in diesem Stil, natürlich musst du dann noch schauen, ob das Fenster nicht zu gross wird.
Einen Hovereffekt zu machen, wäre natürlich am einfachsten mit dem Attribut 'title', aber wenn du einen Hovereffekt unbeding in der Statusleiste machen willst, kann ich dir nicht helfen "wegrenn"
Ok, gut, werde ich mal modifizieren.
Das mit dem "A-Tag weglassen" ist ne gute Idee, ich hatte es aber dagelassen, das der Cursor zum Hand-Symbol wechselt, wenn man übers Bild fährt. Das signalisiert doch "Klick mich!". Aber das lässt sich ja auch anders realisieren.
Das mit der Statusleiste kann ich glaub ich auch selbst lösen (ein onmouseover und ein window.status sollten ausreichen).
Doch das Hauptproblem, das ich warscheinlich zu undeutlich beschrieben habe, ist, das jedes angeklickte Bild sich in einem neuen Fenster öffnet!
Lässt sich da was ändern?
Edit: Weiters Problem: Wie kann ich abhängig von der Auflösung des Benutzers (genauer: bei 800x600 px) einen extra Zeilenbruch anzeigen lassen?
Mit screen.width; kann ich ja die Fenster-Breite einlesen, aber wei kann ich an einer bestimmten Stelle im Dokument ein <br> einfügen lassen?
Wie wärs mit document.write("<br />");? Das halt noch umrahmt mit einem if(screen.width==XXX) - aber was machst du eigentlich, wenn der Besucher JavaScript ausgeschaltet hat? Oder wenn das Browserfenster nicht maximiert ist? (Kommt häufiger vor als man vielleicht denkt, vor allem auf bestimmten Betriebssystemen)
Wenn der Benutzer JS deaktiviert hat, kann ich ihm auch nicht helfen.
Die Anzeigeoptimierung ist dann halt' nicht für ihn verfügbar, das ändert nichts an der funktionalität der Website.
Das ganze fügt lediglich einen Zeilenumbruch ein, der dafür sorgt, das bei niedriger Auflösung der Text nicht leicht seltsam zwischen zwei Bildern hängt. Lesen kann man das ganze aber so oder so, es ist wiegesagt nur eine "Anzeigeoptimierung".
Und ganz ehrlich:
Eigentlich ist es nur um unseren Schulleiter zu beruhigen. Der hat JS garantiert nich deaktiviert, und wird sowieso nix merken.
Versuch es doch mal damit:
Übrigens kannst du in der Error-Console schauen ob es valid ist, z.B. weiss ich nicht ob ich hier fenster trotzdem noch übergeben müsste, obwohl es global definiert ist.Code:<script type="text/javascript">
fenster= 0;
function oeffnen(img,hoehe,breite)
{
if(fenster!=0)
{
fenster.close();
}
fenster = window.open("", "","width=500,height=500,menubar=no,status=no,toolbar=no,dependet=yes,scrollbars=yes");
var text;
text = "<html><head><title>Bild ";
text += img;
text +="</title></head><body style='text-align:center;font-family:MS Sans Serif; font-size: 11px;color:#FFF;background-color:#339;'><img height='"
text += breite;
text +="' width='";
text += hoehe;
text +="' alt='Bild ";
text += img;
text +="'' src='";
text += img;
text += "'><br><a href='javascript:this.window.close();' title='Dieses Fenster schließen'>Fenster schließen</a></body></html>";
fenster.document.write(text);
fenster.focus();
}
</script>
Edit: btw. aber weisst du wahrscheinlich, dass was du willst: style="cursor: pointer;"
OK, danke, ich werde das ganze mal dementsprechend modifizieren.
Und schon kommt schon ein weiteres Problem:
Ich suche kostenlose Landkarten, die ich im Internet veröffentlichen kann. Es geht dabei um unsere Schule. Ich braüchte davon eine Art Stadtplanauschnitt. Das muss natürlich rechtlich OK sein. Gibt es da kostenlose Dienste?
Hallo zusammen.
Kurze Frage:
Ich habe eine Kalender programmiert, jetzt will ich genau 3 Monate vorspringen (3 ist variabel)
In dem Fall betrifft es den 1. Februar 00:00 Uhr.
Wie könnt ich das angehen?
Google Maps. Da kannst du dir einen Account einrichten, eine eigene Karte mit bestimmten Punkten erstelleun und dann auf diese Karte verlinken.
So in etwa sollte das klappen. Ist aber nicht getestet.PHP-Code:
<?php
$month = date('m', $timestamp);
$month += 3;
if($month > 12) {
$year = date('Y', $timestamp) + 1;
$month %= 12;
} else {
$year = date('Y', $timestamp);
}
$day = date('d', $timestamp);
$hour = date('H', $timestamp);
$minute = date('i', $timestamp);
$second = date('s', $timestamp);
$new_timestamp = mktime($hour, $min, $sec, $month, $day, $year);
?>
Du änderst einfach die "3" in der dritten Zeile in was anderes ab, solange du nicht mehr als 12 Monate in die Zukunft springst, bleibt's gültig. Ansonsten statt dem hier:
Das hier:PHP-Code:
if($month > 12) {
$year = date('Y', $timestamp) + 1;
$month %= 12;
} else {
$year = date('Y', $timestamp);
}
PHP-Code:
$year = date('Y', $timestamp);
while ($month > 12) {
$month -= 12;
++$year;
}
Nein, das geht nicht. Der Wert für fenster bleibt doch nciht gespeichert. Dann ist immer "undefined", glaub ich zumindest. Auf jeden Fall klappt's nicht.
Muss da vielleicht was zurückgegeben werden?
Das ist schon mal ne' Idee, werd' ich sicher auch mit einbinden, aber ich bräuchte noch ne' andere Lösung.
Ich brauche sowas auch als Grafik auf der Website.
Natürlich könnte man es so machen:
HTML-Code:<script type="text/javascript">
fenster= 0;
function oeffnen(img,hoehe,breite,fenster)
{
if(fenster!=0)
{
fenster.close();
}
fenster = window.open("", "","width=500,height=500,menubar=no,status=no,toolbar=no,dependet=yes,scrollbars=yes");
var text;
text = "<html><head><title>Bild ";
text += img;
text +="</title></head><body style='text-align:center;font-family:MS Sans Serif; font-size: 11px;color:#FFF;background-color:#339;'><img height='"
text += breite;
text +="' width='";
text += hoehe;
text +="' alt='Bild ";
text += img;
text +="'' src='";
text += img;
text += "'><br><a href='javascript:this.window.close();' title='Dieses Fenster schließen'>Fenster schließen</a></body></html>";
fenster.document.write(text);
fenster.focus();
return fenster;
}
</script>
Ich geb zu, sie ist ziemlich umständlich, aber geht wahrscheinlich eher.HTML-Code:<img ..... onclick="fenster = oeffnen('img','hoehe','breite',fenster)" />
Hallo alle zusammen,
ich habe auch nur eine kurze Frage, ich möchte ein Formular machen, mit welchem News eingetragen werden sollen d.h. Bilder und viel Text, um zu meinem eigentlichen Problem zu kommen.
Ich würde gerne 50 Archivbilder benutzen die man anklickt und dieses(angeklickte) dann gespeichert wird also übertragen wird sobald man den Submitbutton drückt. D.h. das man den Text schreibt, dann das Bild wählen kann und den Text fertig schreib und dann Submit drücken kann. Ich schätze das ,dass mit Javascript oder Ajax sicher machbar ist, bzw ich hoffe es ich kenn mich damit nicht so aus.
Danke Alex;)
Kannst du selbst PHP? Dann wäre auf Webmaster Resource vielleicht was für dich.
Du meinst, das man da aus 50 Bildern ein paar auswählen kann, oder?Zitat:
Ich würde gerne 50 Archivbilder benutzen die man anklickt und dieses(angeklickte) dann gespeichert wird also übertragen wird sobald man den Submitbutton drückt. D.h. das man den Text schreibt, dann das Bild wählen kann und den Text fertig schreib und dann Submit drücken kann. Ich schätze das ,dass mit Javascript oder Ajax sicher machbar ist, bzw ich hoffe es ich kenn mich damit nicht so aus.
mit PHP umgehn kann ich denke ich,
ich meinte eigentlich nur 1 bild von alle dehnen wählen ohne das sich die Seite neu läd und es gespeichert wird bis zum Absenden des Formulars.
danke schon mal ich guck mir den Link gerade mal an http://www.multimediaxis.de/images/s.../old/sm_12.gif
EDIT:
Das Newssystem und das steht soweit alles es geht eigentlich nur mit diese Funtkion mit den Bildern.
Das ist eigentlich einfach:Zitat:
ich meinte eigentlich nur 1 bild von alle dehnen wählen ohne das sich die Seite neu läd und es gespeichert wird bis zum Absenden des Formulars.
Du erstellst viele Radiobuttons, das funktioniert dann wie hier im Forum die Auswahl des Beitragssymbols.
Hier kannst du nur einen Button aktivieren, weil beide Buttons den Namen "bild" haben. Aber je nachdem, welchen du aktivierst, wird z.B. in einem PHP-Skript der Wert 1 oder 2 verarbeitet. Du könntest also für jedes Bild einen Wert festlegen und diesen dann auswerten lassen.HTML-Code:<input type="radio" name="bild" value="1" />
<input type="radio" name="bild" value="2" />
ok, danke
das habe ich mir auch überlegt mit einem radiobutton zu machen, ich dachte es gibt einen schönen Weg über JS aber trotzdem danke ;)
Du könntest ein Eingabefeld vom Typ "hidden" nehmen und per JS den entsprechenden Pfad eintragen, wenn man auf ein Bild klickt.
HTML-Code:<img src = "bild1.jpg" onclick = "document.getElementById('bild').setAttribute('value', 'bild1.jpg');" alt = "Beschreibung von Bild1" />
....
<form ...>
...
<input type = "hidden" value = "" name = "bild" id = "bild" />
</form>
Ich sehe da zwei Probleme:
- setAttribute() ist meines Erachtens nicht notwendig.
.. sollte außreichen.Code:document.getElementById('bild').value = "wert";
- Da bei dem input-Element Name und ID identisch sind, wird das ganze in Opera und dem Internet Explorer nicht funktionieren.
Opera bis 9.2 (oder 9.5, aber nicht mehr in 10) macht den selben Fehler wie der Internet Explorer und sammelt mit getElementById() auch Elemente auf, die den angegebenen Wert als Namen tragen (böser Bug). Wenn ich mich richtig erinnere gibt die Funktion gar nichts zurück, wenn Name und ID eines Elements identisch sind.
hm ok danke danke...
ich versuche das mal alles was ihr mir schönes geschrieben habt und melde mich dann noch mal, wenn noch jemand was einfällt dann schreibts einfach *g....
danke soweit scho ma :)
http://www.multimediaxis.de/images/s.../old/sm_12.gif http://www.multimediaxis.de/images/s.../old/sm_12.gif
Alex
noch ne frage:
wie ich finde eine dummer allerdings weiß ich mir nicht zu helfen.
klar so wir $var der Wert "$xyz" zugewießen aber genau das ist mein Problem wie kann ich das machen, das ich nicht $var den Wert "$xyz" zuweiße sondern den Wert von $xyz?PHP-Code:
<?php
$var = "$xyz";
?>
klar man könnte es so schreiben
doch kann ich es nicht so schreiben da $xyz als string angesehen wird also als Text. Also irgendwie total verwirrent.PHP-Code:
<?php
$var = $xyz;
?>
aufjeden fall wenn ich
schreibe kommt nur $xya raus. Also meine Frage noch mal auf den Punkt gebracht wie kann es das realisieren das ich den Wert von $xyz bekommePHP-Code:
<?php
echo $var;
?>
Mit der Funktion strval() wandelst du eine Variable in eine Zeichenkette um.
Code:$xyz = 15; // Integer
$xyz = strval($xyz); // String
$abc = strval($xyz); // String
das problem beim 2. ist wenn ich dann echo $var schreibe gibt er:
$xyz aus also nicht den Wert davon sonst so wie es da steht mir $ und alles und das ist mein Problem das er nicht den Wert von der Variabel ausgibt.
Es funktioniert mit allen Typen außer Arrays und Objekten.
Es gibt auch intval() zum Umwandeln in einen Interger.
Hm, meinst du vielleicht, du willst einen Pointer auf den String haben? Also dass du $xyz erst später einen Wert zuweist, und dann $var automatisch auch den Wert zugewiesen bekommt? (Ich wüsste zwar nicht, wie/ob das in PHP geht, aber die Frage zu verstehen wäre schon mal ein Anfang. <___<)
:confused: :confused:
Ok da ich das leider irgendwie total verpeilt geschrieben habe, und das jetzt kein versteht schreib ich mal meinen ganzen Code bzw mein ganzes Vorhaben.
also ich habe 10 Variabeln von diesem Bilduploadcode:
den hab ich also einfach 10 mal kopiert hab schon versucht den in eine while Schleife zu packen aber irgendwie willst nicht funktionieren komisch. naja und weiter jetzt sollen die Werte von diesem Variabeln in die mylsq Datenbank eingetragen werden. So dazu soll jedes Bild ein Eintrag erhalten also muss das Eintragen 10 mal durchgeführt werden.PHP-Code:
$target_path = "./images/kalender/";
/* Add the original filename to our target path. Result is "uploads/filename.extension" */
$target_path = $target_path . basename( $_FILES['file9']['name']);
// This is how we will get the temporary file...
$_FILES['file9']['tmp_name'];
$target_path = "./images/kalender/";
$target_path = $target_path . basename( $_FILES['file9']['name']);
if(move_uploaded_file($_FILES['file9']['tmp_name'], $target_path)) {
echo "Dein Bild ( ". basename( $_FILES['file9']['name']). " ) wurde erfolgreich hochgeladen<br>";
} else{
echo "Kein Bild gewählt!<br>";
}
$pic9 = basename( $_FILES['file9']['name']);
chmod ("./images/kalender/$pic9", 0755);
dazu habe ich folgenden code verwendet.
jetzt muss ja bei jedem Durchlauf der Schleife die variable sich ändern die eingetragen wird und genau daran scheitert es.
ich hoffe ihr könnt mir helfenPHP-Code:
$a = 1;
while($a < 11)
{
$pic = ???? // ich habe keine Ahung wie ich halt gerade dies ermitteln kann.
if($pic != "")
{
$eintrag = "INSERT INTO kalender_pics
(pic, id_kalender)
VALUES
('$pic', '$id')";
$eintragen = mysql_query($eintrag);
}
else
{}
$a++;
}
Ich komm bei deinem Script nicht draus, wieso trägst du es bei der Datenbank nicht schon beim heraufladen ein?
Wie ich es machen würde:
PHP-Code:
if(is_file($_FILES['file9']['tmp_name']))
{
$dateityp = GetImageSize($_FILES['file9']['tmp_name']);
if($dateityp[2] != 0)
{
$target_path = "./images/kalender/".$_FILES['file9']['name'];
move_uploaded_file($_FILES['file9']['tmp_name'], $target_path);
$eintrag = "INSERT INTO kalender_pics
(pic, id_kalender)
VALUES
('$target_path', '$id')";
$eintragen = mysql_query($eintrag);
}
else
{
echo "Diese Datei hat einen falschen Dateityp.<br />";
}
}
else
{
echo "Kein Bild gewählt!<br>";
}
clearstatcache();
ok danke so probiere ich es mal.
Tag zusammen,
hab mal wieder nen Brett vorm Kop.
Es dreht sich um Arrays.
Wie kann ich dort ein Beliebiges Element loeschen?
Seh da irgend wie nicht durch wie das mit array_slice() leuft. Immer wenn ich ein Element loeschen will loescht er gleich alle oder nur ein paar.
Hab noch nicht oft mit Arrays rumgespielt deshalb kann ich mir keinen Reim drauf machen.
Hoffe ihr habt da gute Hilfen fuer mich.
Entweder mit
oder mitPHP-Code:
array_splice($array, $pos, 1)
Die Dokumentation zu array_splice() ist meiner Meinung nach eigentlich ziemlich gut verständlich ;)PHP-Code:
unset($array[$key])