kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Wert einer Variablen in einer anderen Datei setzen

    geschrieben von alphara

    czibere schrieb:
    kogsz schrieb:
    wenn ich dass passwort für die dbverbindung in der datenbank speicher muss ich es trotzdem im klartext in der datei speichern ...
    zeimlicher schwachfug! wenn sich ein user anmeldet, oder DU SELBST (via script am host) zu der datenbank verbindest, sind zwei paar schuhe!

    wie man verbindungsdaten zu verfügung stellt ohne klartext zu schreiben, hat etliche möglichkeiten (wovon ich hier im forum noch nichts gelesen habe ;)

    tchab schrieb:
    Speichere es als Variable in einer PHP-Datei, denn egal wie oft diese aufgerufen wird, das Passwort wird nicht ausgegeben.

    Wie du Dateien in PHP speicherst, schreibst, liest etc findest du auf Google. Bei kleinen Fragen dazu vielleicht nicht gleich einen Thread starten sondern mal im Jabber (Community Chat) vorbei schauen. ;)
    1. es gibt etliche möglichkeiten php-dateien als text (sprich source) auszulesen (es gibt nur die leute, die das nicht können ;)
    2. was soll genau community chat bringen? (man beobachtet ja die meldungen die ganze zeit! ... ich kenne keinen grund.)

    handyflat schrieb: sieht so aus, als meinst Du eine config Datei ...
    wobei das passwort wieder mal leibhaftig vorhanden ist ;)

    gute nacht die madeln!


    Oh großer, allwissender PHP-Guru, so lass uns an deiner erhabenen Weisheit teilhaben und gib uns wenigstens einen Hinweis.... Ich hab's ja so gerne, wenn Antworten nur aus den Worten "Ja, das geht" bestehen, ohne einen Tipp zu geben, wie. Ein Verweis auf ein oder zwei Hilfeseiten ist doch ganz nett, schließlich soll einem ja in einer Community geholfen werden... dachte ich jedenfalls.
  • in: Einmal Durchzählen - ich fange an :) !

    geschrieben von alphara

    sechs ohne x... glaube ich
  • in: whitelist, in_array, $_GET unverständlich

    geschrieben von alphara

    jam00 schrieb:
    alphara schrieb:1. Weil du vielleicht mehr als 1 Seite einbinden möchtest und nicht alle einzeln aufrufen willst, sondern die Möglichkeiten lieber zentral sammelst
    2. Weil das mit bla=bla ziemlich unsinnig ist, weil du dann im GET-Array lauter Feldeinträge für nichts anlegst. Nicht das Speicher nicht günstig wäre, aber muss ja nicht sein....


    1. Super was bringt dir das wenn du es doch wieder in jeder If schreiben musst? Ist nur mehr Arbeit und total sinnlos!
    2. Ich habe doch geschrieben das es Sinnlos ist!
    Zu 1. Mein Codevorschlag wenn dies denn gewünscht ist:
    <?php
    	$sites = array(
    		"main" => "./includes/main.php",
    		"impressum" => "./includes/info/Impressum.php"
    	);
    	$suc = false;
    	foreach ($sites as $key => $value) {
    		if (isset($_GET[$key])) {
    			include ($_GET[$key]);
    			$suc = true;
    			break;
    		}
    	}
    	if (!$suc) {
    		echo "Klappt nicht!";
    	}
    ?>


    Ruhig, brauner, nicht gleich bissig werden.

    Nebenbei bemerkt brauche ich insgesammt genau 1 if-Anweisung, egal wieviele Seiten ich habe und du legst in deinem Quellcode ja plötzlich auch einen Array an (und dabei hattest du doch genau da gesagt, dass das unnötig ist)... Vielleicht habe ich deine Frage falsch verstanden, aber du machst jetzt fast das gleiche wie ich nur mit doppelt so viel Quellcode und mit einem n mal so großen GET-Array, wobei n die Anzahl der Seiten ist, die includet werden sollen. Daher fand ich das nicht Sinnlos, es macht ja Sinn, ich finde nur, dass es besser geht....

    €dit: Nebenbei fällt mir noch auf, dass dein Code in O(n) läuft und meiner in O(1) [zugegeben, im besten Fall, je nach dem wie schnell in_Array ist], was mich vermuten lässt, dass ich besser meinen eigenen Code verwende....
  • in: whitelist, in_array, $_GET unverständlich

    geschrieben von alphara

    Oder du benutzt einfach alternativ deinen eigenen Quelltext, den du einfach dahingehend modifizierst:

    $whitelist = array('main', 'Impressum');
    
    if(isset($_GET['index']) && in_array($_GET['index'], $whitelist)){
       include ('includes/info/'.$_GET["index"].'.php');
    }
    else{
       echo "Klappt nicht!";
    }


    Übergabe erfolgt dann zum Beispiel so:

    <a href="includeSeite.php?index=main">Home</a>


    oder so

    <a href="includeSeite.php?index=Impressum">Impressum</a>


    jam00 schrieb:
    Ich versteh nicht warum du das mit in_array machst. Das ist doch viel zu kompliziert und wie schon gesagt du musst immer bla=bla schreiben.


    1. Weil du vielleicht mehr als 1 Seite einbinden möchtest und nicht alle einzeln aufrufen willst, sondern die Möglichkeiten lieber zentral sammelst
    2. Weil das mit bla=bla ziemlich unsinnig ist, weil du dann im GET-Array lauter Feldeinträge für nichts anlegst. Nicht das Speicher nicht günstig wäre, aber muss ja nicht sein....
  • in: CSS width bei position absolute

    geschrieben von alphara

    Kann sein, dass ich das immer noch nicht richtig verstanden habe, aber vielleicht hilft dir

    ... {
        position:absolute;
        left:0px;
        right:0px;
        overflow:auto;
    ...
    }


    irgendwie weiter. Dieses Element ist immer so breit, wie es das Parent zulässt und scrollt, sobald es nötig ist.
  • in: sortiren nach in selectbox

    geschrieben von alphara

    Achsooo, ich dachte du suchst eine Sortiermethode... ja das geht natürlich über
    <select>
    </select>
  • in: sortiren nach in selectbox

    geschrieben von alphara

    Weil ich zu faul bin, das selbst zu schreiben, habe ich für dich mal den Großen Google befragt. Du brauchst vermutlich so etwas:

    <?php
    // sortierfunktion
    function array_sort($array, $on, $order=SORT_ASC)
    {
        $new_array = array();
        $sortable_array = array();
    
        if (count($array) > 0) {
            foreach ($array as $k => $v) {
                if (is_array($v)) {
                    foreach ($v as $k2 => $v2) {
                        if ($k2 == $on) {
                            $sortable_array[$k] = $v2;
                        }
                    }
                } else {
                    $sortable_array[$k] = $v;
                }
            }
    
            switch ($order) {
                case SORT_ASC:
                    asort($sortable_array);
                break;
                case SORT_DESC:
                    arsort($sortable_array);
                break;
            }
    
            foreach ($sortable_array as $k => $v) {
                $new_array[$k] = $array[$k];
            }
        }
    
        return $new_array;
    }
    
    //beispielarray und funktionsaufruf
    
    $people = array(
        12345 => array(
            'id' => 12345,
            'first_name' => 'Joe',
            'surname' => 'Bloggs',
            'age' => 23,
            'sex' => 'm'
        ),
        12346 => array(
            'id' => 12346,
            'first_name' => 'Adam',
            'surname' => 'Smith',
            'age' => 18,
            'sex' => 'm'
        ),
        12347 => array(
            'id' => 12347,
            'first_name' => 'Amy',
            'surname' => 'Jones',
            'age' => 21,
            'sex' => 'f'
        )
    );
    
    print_r(array_sort($people, 'age', SORT_DESC)); // Sort by oldest first
    print_r(array_sort($people, 'surname', SORT_ASC)); // Sort by surname


    Gefunden habe ich das hier.
    Das sortiert den Array $array nach dem Arrayindex $on auf- oder absteigend.
  • in: Wieso bekomme ich keine gulden mehr

    geschrieben von alphara

    menschle schrieb:
    Das Guldensystem erkennt ganz vollautomatisch den Qualitätsgehalt der Beiträge.


    Hach wär das super *träum* Obwohl... dann hätte ich viel weniger zu lachen manchmal... und ja, ich kann auch über mich selbst lachen ;)
  • in: Darf man lebende Säugetiere verfüttern

    geschrieben von alphara

    def-eater schrieb:

    Genau, Fische lässt man nämlich nur an einen Angelhaken beißen der sich in ihrem Rachen verfängt sodass man ihn an einer Schnur aus dem Wasser ziehen kann, danach muss man mit einem schweren Gegenstand auf seinen Kopf schlagen auf dass er Bewusstlos wird, keine Schmerzen empfindet und man ihm den Kopf abschneiden und seine Innereien mit einem Löffel auskratzen kann.



    Da ich ungern Trolle füttere, folgt hier genau ein einziger Kommentar:

    Es geht hier, jedenfalls dem Titel nach, um die rechtlichen Verhältinsse, wenn man Tiere an Tiere verfüttert. Da aus juristischer Sicht Mensch != Tier gilt, fällt mir zu denem Text nur Eines ein: Thema verfehlt. Geh' halt nicht Angeln, wenn du Fisch lieber im Wasser siehst...
  • in: Darf man lebende Säugetiere verfüttern

    geschrieben von alphara

    artelier schrieb:
    Ja bei Tieren, bei denen dies nicht anders geht, ist dies mMn auch in Ordnung, jedoch finde ich es schlimm wenn man die Tiere quält, diese haben ja schließlich auch ein Recht auf Würde und ihr Leben. Das es nur Säugetiere betrifft finde ich aber komisch... Fische etc. können doch auch leiden, oder?


    Wie das jetzt genau bei Fischen aussieht, weiß ich nicht, aber du kannst schlecht einen lebenden Fisch an eine Schlange verfüttern... außer es ist eine Wasserschlange und selbst da weiß ich nicht, ob die Fische fressen....
    Egal, es ging mir primär darum, dass das Töten von Wesen mit Schmerzempfinden zu Fütterungszwecken als Tierquälerei ausgelegt werden kann. Anders sieht das zum Beispiel bei Insekten aus, die haben der allgemeinen wissenschaftlichen Meinung nach kein Schmerzempfinden und daher darfst du die bedenkenlos in Massen verfüttern.
  • in: Darf man lebende Säugetiere verfüttern

    geschrieben von alphara

    hpage schrieb:
    Ja man darf lebende Tiere verfüttern Tiere in der Natur fressen ja auch lebendige Tiere, warum sollte man es nicht dürfen.


    Weil Säugetiere zu den Tieren zählen, bei denen man davon ausgeht, dass sie Schmerzen empfinden können. Da man gesetzlich Tiere nicht unnötig quälen darf, darf man Säugetiere nur dann lebend verfüttern, wenn es gar nicht anders geht. Was in der Natur sonst so geschieht hat damit ja nicht viel zu tun, weil das nicht gesetzlich geregelt ist ;)
  • in: Darf man lebende Säugetiere verfüttern

    geschrieben von alphara

    Bin da zwar auch kein Experte, aber als Halter diverser Spinnentiere habe ich mich schon mal schlau gemacht deswegen und mein aktuelle Informationsstand ist der Folgende:

    Grundsätzlich darf man aus Tierschutzgründen keine Säugetiere lebend verfüttern. Ausnahmen davon gibt es nur bei Tieren, die ausschließlich lebende Säugetiere fressen (Schlangen zum Beispiel). Eine extra Genehmigung (in Papierform) braucht man dafür aber nicht.
  • in: Ich staune..

    geschrieben von alphara

    menschle schrieb:
    Aber das Bild ist auch ganz nett. :-D


    Es wir Zeit fürs Bett, jetzt bin ich doch glatt das zweite Mal darauf reingefallen.... Schluss jetzt, nie mehr Spam lesen *Notitz mach*
  • in: Includen in phpform

    geschrieben von alphara

    superultimatelps schrieb:

    ja ja ich weis es nunseit ein paar stunden und ich hab es schon


    Sollte wohl mal ein Danke werden, wenn es groß und erwachsen ist....

    Ich habe eine Anmerkung dazu: Da PHP nicht dein Fachgebiet zu sein scheint, kannst du dich in diesem Zusammenhang auch mal mit include_once() beschäftigen, kann sein dass du das viel eher brauchst
  • in: CSS: DIVs überlappen mit float

    geschrieben von alphara

    Du kannst links und rechts das Attribut "position:absolute;" verpassen. Damit ist es möglich, die Container absolut zum wrapper zu possitionieren. Anschließend schreibst du in den linken: "left:0px, width:70%;" und in den rechten: "right:0px;width:30%;". Wie das dann genau ausschaut, hängt auch an deinem Layout selbst. Vielleicht gibts hier auch noch eine bessere Lösung für nicht absolut possitionierte Container, aber die fällt mir gerade nicht ein.
  • in: overflow-x: hidden

    geschrieben von alphara

    Ok, dein Problem ist, dass nicht alle Browser gleich mit overflow umgehen. Insbesondere Safari scheint diverse Probleme damit zu haben. Ein Lösungsvorschlag, den ich spontan gefunden habe, ist:

    body {
          position:relative;
          overflow-x:hidden;
    }


    Kann sein, dass das hilft, kann aber auch sein, dass dir das dein ganzes Layout vernichtet. Daneben klingt das eher so, als sollte man das im entsprechenden DIV-Container benutzen,d er den überlaufenden Text enthält, aber das weißt du sicher am besten. Google doch einfach mal "css overflow safari", da findest du dutzende Einträge über verschiedene Möglichkeiten dieses Problem zu lösen.
  • in: overflow-x: hidden

    geschrieben von alphara

    Da CSS-Interpretation stark vom verwendeten Browser abhängt, solltest du uns kurz den Browser des I-Phones und des Rechners angeben. Ein kurzer Quellcodeausschnitt wäre auch nicht schlecht, vielleicht hat sich der Fehler ja auch da eingeschlichen. Vorher wird dir hier nur schwer jemand helfen können.
  • in: Brauche hilfe mit Upload script

    geschrieben von alphara

    move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name']);

    Der letzte Parameter gibt den Ort und den Namen an, in welchem das Bild auf dem Server hinterlegt werden soll. Man kann das also so machen:

    $i=0;
    while (file_exists("upload/".substr($_FILES['datei']['name'],0,-4).$i.substr($_FILES['datei']['name'],-4,4))) { $i++;}
    move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".substr($_FILES['datei']['name'],0,-4).$i.substr($_FILES['datei']['name'],-4));


    Ist ungetestet und ich bin mir auch nicht ganz sicher, ob file_exists das Verzeichnis wechseln kann. aber so ähnlich sollte es funktionieren.

    €dit:
    Fehler korrigiert.
    Wenn du natürlich nur den Namen ändern möchtest, ohne durchgehende Nummerireung, dann brauchst du das:
    $einschub = "Zusatztext";
    move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".substr($_FILES['datei']['name'],0,-4).$einschub.substr($_FILES['datei']['name'],-4));


    €€dit: Das ganze tut so nur, wenn dein Kürzel aus 3 Buchstaben besteht (was bei jpg problematisch ist, die heißen manchmal auch jpeg). Besser ist es, wenn du die Werte in substr dynamisch bestimmst. Das funktioniert über die Bestimmung des "." im String, damit erhält man den Ansatzpunkt und mit der Stringlänge den Endpunkt. Daraus lässt sich dann errechnen, wie der Dateiname zerlegt werden muss, damit die 1 zwischen Name und Endung eingefügt wird. Die nötigen Befehle dafür sind:
    strrpos() und
    strlen()
    Und nun das ganze nochmal schön zusammengeschrieben für durchnummerierte Bilder:
    $punktpos = strrpos($_FILES['datei']['name'],".");
    $size = strlen($_FILES['datei']['name']);
    $filename = substr($_FILES['datei']['name'],0,-(size-punktpos+1));
    $extension = substr($_FILES['datei']['name'],-(size-punktpos+1));
    $i=0;
    while (file_exists("upload/".filename.$i.extension)) { $i++;}
    move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".filename.$i.extension);

    Hab die Indizes nicht genau geprüft, aber das bekommst du bestimmt auch so hin.
  • in: double Runden auf beliebig viele Stellen

    geschrieben von alphara

    Ist eigentlich ganz einfach. Ergebnis*100 bedeutet, dass das Komma im Ergebnis um 2 Stellen nach rechts verschoben wird. Aus 2.1154 wird so 211.54. Math.round rundet immer auf die erste Vorkommastelle, heißt also, dass nun die 5 genutzt wird um die 1 aufzurunden. Aus 211.54 wird 212. Da jetzt noch durch 100.0 geteilt wird, wird das Komma wieder an seinen ursprünglichen Platz zurück geschoben: aus 212 wird 2.12. Es wird also durch die Anzahl der Nullen an der 1 vorgegeben, auf welche Stelle gerundet wird:

    Math.round(ergebnis*10)/10.0 => 1 Nachkommastelle (aus 2.1154 wird 2.1)
    Math.round(ergebnis*100)/100.0 => 2 Nachkommastellen (aus 2.1154 wird 2.12)
    Math.round(ergebnis*1000)/1000.0 => 3 Nachkommastellen (aus 2.1154 wird 2.115)
    ...

    Wichtig ist, durch 100.0 zu teilen, damit JAVA auch wirklich double oder float erhält und nicht int.

    €dit: @perlbotics: Ja, so gehts natürlich auch
  • in: InitScrip zum File sourcen

    geschrieben von alphara

    Wenn ich die Kommentare in der rc.d richtig verstanden habe, dann wird diese ja sicher nach den init.d-Sachen ausgeführt. Daher habe ich

    .  /opt/irgendeinpfad/irgendeinedatei.sh


    Da jetzt mal hinzugefügt, funktioniert allerdings auch nicht.
    Jetzt schau ich mir mal die rc-n.local mal genauer an, mal schauen was dabei herrauskommt....
  • in: InitScrip zum File sourcen

    geschrieben von alphara

    Hallo Menschleins.

    Ich hab ein vermutlich kleines Problem mit einem InitScript für CentOS 6 mit sh.
    Ich möchte gerne ausschließlich "source /opt/irgendeinpfad/irgendeinedatei.sh" aufrufen. Mein InitSkript, welches sich im Ordner /etc/init.d befindet, enthält:

    .  /opt/irgendeinpfad/irgendeinedatei.sh
    start ()
    {
    }


    Funktionieren tut das ganze nicht, ich verstehe allerdings nicht so genau, warum. Vielleicht kann mir jemand weiterhelfen

    Grüße

    Alphara
  • in: Wie kann ich hier eigentlich kündigen?

    geschrieben von alphara

    Verwaltung-> Account -> Account löschen. Wiedersehen ;)
  • in: Falsche Rückgabewerte

    geschrieben von alphara

    reimann, du bist der Held des Tages. Du hast dir einen Kuss von meiner Schwester verdient. Ich hab mir fast gedacht, dass ein Referenzierungsfehler vorliegt, nur hab ich ihn nicht gefunden. Aber dein Post hat mir die Lösung geliefert: einfach die Methode
    getValue()
    noch durch
    computed = new double[3];
    am Anfang erweitern und promt funktionierts. Zum Glück mache ich nicht ständig solche Anfängerfehler, wäre ja auch oberpeinlich....

    €dit: So viele Fehler in einem einzigen Post.... Man bin ich durch den Wind gerade
  • in: Falsche Rückgabewerte

    geschrieben von alphara

    Hi.

    Ich habe ein echtes Verständnisproblem in Sachen Java. Mein Programm besteht im Grunde aus drei Klassen: der Hauptklasse, einer Funktionsklasse und einer Threadklasse. Die Hauptklasse referenziert die Funktionsklasseklasse und die Threadklasse, die Threadklasse nur die Funktionsklasse. Die Funktionsklasse besitzt eine Methode, die die übergebenen Parameter verrechnet und ein Ergebnis zurück gibt. Das Problem ist folgendes: Wenn ich verschiedene Werte aus der Hauptklasse in die Funktion einsetze, dann bekomme ich auch verschiedene Ergebnisse. Setze ich verschiedene Werte aus der Threadklasse in die Funktion ein, bekomme ich immer die gleichen Werte. Ich verstehe einfach nicht, woran das liegen könnte.

    Hier etwas stark gekürzten Quellcode zum besseren Verständnis:

    class Funktion {
    
        public double[] computed = new double[3];
    
        public Funktion(){}
    
        public double[] getValue(double a, double b) {
              computed[0]  = /*komplizierte Funktion*/;
              computed[1]  = /*komplizierte Funktion*/;
              computed[2]  = /*komplizierte Funktion*/;
              return computed;
        }
    }
    
    class Nebenklasse extends Thread {
    
          private Funktion f = new Funktion();
    
          public Nebenklasse(){}
    
          public void run() {
    
                  for (int i=0;i<max;i++) {
                        values = f.getValue(werte[i][0],werte[i][1]);   // liefert immer genau das gleiche Ergebnis
                  }
          }
    }
    
    public class Hauptklasse {
    
           
          private Funktion f = new Funktion();
    
          public Hauptklasse(){}
    
          public static void main(final String args[]) {
    
                  for (int i=0;i<max;i++) {
                        values = f.getValue(werte[i][0],werte[i][1]); // liefert verschiedene Ergebnisse
                  }
    
                 Nebenklasse test = new Nebenklasse();
                 test.start();
          }
    }
  • in: Login system

    geschrieben von alphara

    Also ich persönlich finde, dass die Verwendung eines CMS sich ganz aus den Zusammenhang ergibt. Wenn ich schnell einen Blog betreiben möchten, dann gibts wohl wenig bessere Alternativen. Da sich das Einrichten aber mehr oder minder auf ein Point-And-Click-Adventure beschränkt, kann ich eine Sache dabei nicht: Etwas lernen.
    Wenn ich den Ersteller dieses Threads aber richtig verstanden habe, dann möchte er gerne verstehen, wie so ein Login aufgebaut und in weiteren Komponenten verwendet wird. Daher würde ich immer zur PHP/MySQL-Variante (oder u.u. auch htaccess) raten. Denn am meisten lernt man, wenn man es selbst macht. Klar ist das Produkt am Ende aus sicherheitsgründen vlt nicht unbedingt empfehlenswert verwendbar, aber wie bitte soll man sonst verstehen wie ein CMS umzubauen ist, damit es genau die Änderungen leistet, die ich jetzt gerade erfüllt haben möchte ohne dass ich dort gleich die Sicherheit gefärde?
    Bevor jetzt also gleich der nächste schreit: "Nutz ein CMS", eine Frage an den Urheber: Ist das Ganze Teil eines Projektes, dass später tatsächlich betrieben werden soll, oder möchtest du lernen und ausprobieren, wie genau so ein Login funktioniert und wie man diesen möglichst sicher betreibt?
  • in: Befehle

    geschrieben von alphara

    "Sitz" dürfte ein ziemlich lustiger Befehl für eine Python sein... so ganz ohne Hinterteil...
  • in: Ich verstehe nix

    geschrieben von alphara

    Das bedeutet, dass du versuchst eine MySQL-Funktion (mysql_real_escape_string()) aufzurufen, die eine Verbindung zum MySQL-Server benötigt, welche auf Grund von fehlerhafter Benutzerauthentifikation nicht hergestellt werden kann. Wenn du uns etwas Programmcode zur Verfügung stellen könntest, könnten wir feststellen, ob das an einer Fehlprogrammierung liegt, oder du deine Zugangsdaten falsch angegeben haben musst (die bitte nicht hier posten sondern durch ***** ersetzen!)

    Nebenbei bemerkt: Das ist jetzt mal ins blaue geschossen. Für die Zukunft: Formuliere bitte Fragen (Sätze mit ? am Schluss), denen man entnehmen kann, wo genau dein Problem liegt. Denn eine Fehlermeldung dieser Art kann von "Ich hab da etwas programmiert und das tut nicht" bis "hab da ein neues Tool installiert und das wirft einen Fehler zurück" ziemlich viel sein / ziemlich vielen Dingen ausgelöst werden und bedarf u.U. verschiedener Lösungen.
  • in: Passwort Verschlüsselung (nicht md5) ?

    geschrieben von alphara

    Oder du nimmst einfach moderne Verschlüsselungen wie den DES (ok, der ist nicht mehr ganz so modern, aber wenn man nicht gerade einen 500.000$ teuren, hochspezialisierten Rechner hat, braucht man trotzdem viele Tage um die Verschlüsselung zu brechen, was sich bei einer Privatperson nie im Leben lohnt) oder den etwas moderneren AES. Beides wird von SQL-Systemen mitgeliefert, ob das PHP auch bietet, weiß ich gerade nicht (aber der Große Google schon, also frag da mal nach)

    drafed-map schrieb:
    Super. Es ist 124.009.608.936.202 mal so wahrscheinlich, 3 mal hintereinander im Lotto zu gewinnen. Wenn du dir für deine Seite darum Sorgen machst, dann gehe lieber Lotto spielen.


    Nichts desto trotz hat man das schon genutzt um gefälschte Zertifikte zu erstellen, die per RSA und MD5 codiert waren (der Name des Zertifikats fehlt gerade, aber trotz der hohen (Un-)Warscheinlichkeit eines Treffers kann man gezielt danach suchen, bzw. diese provozieren und damit den Hash brechen) - Mal davon abgesehen gibt es auch schon Rainbowtables zum zurückrechenen und trotzdem macht sich niemand die Arbeit, wenn nicht etwas wirklich Wichtiges/Geldbringendes damit gehasht wurde... also hast du natürlich Recht
  • in: Bräuchte Hilfe bei meinem php-code

    geschrieben von alphara

    Also da sind ein paar kleine Fehler im Formular.

    1. Der Sendebutton muss zwischen die folgenden Tags:
    <form method="post" action="dieseSeite.php">
    //Button
    </form>


    2. Wenn du den type des inputs auf Button setzt, dann weiß dein Browser nicht automatisch, was er damit anfangen soll. Er erhält damit nur eine Information über die Darstellung.
    Lösung: Entweder schreibst du ein JavaScript, welches die Funktion des Buttons festlegt, oder (und das ist deutlich einfacher) du setzt den type auf submit:
    <form method="post" action="dieseSeite.php">
    <input type="submit" name="..." value="..."  style=".." />
    </form>
  • in: google hat geburtstagtrÖÖÖÖÖÖÖÖÖÖt!

    geschrieben von alphara

    sonok schrieb:
    Hast Du eine Vorstellung, wie Du die 20 T in "TRÖT" überhaupt sprechen willst? Wie das gehen soll?


    Google doch, wie man das spricht :tongue:
  • in: Swf via java laden

    geschrieben von alphara

    Das ganze hat bloß ein Problem:

    Wenn ich die Lösungen, die man so findet, genau betrachte, dann stelle ich fest, dass die eigentlich alle nur einen Browser samt entsprechenden Flash-Plugin aufrufen und die SWF dahin übergeben. (Irgendwie führt mich das zu dem Schluss, dass das direkte Interpretieren von Flash auf der Java-Maschine gar nicht geht, auch wenn ich mir nicht sicher bin, vlt finde ich ja noch irgend ein Projekt, welches genau das leistet)

    Wenn du also ein System hast, welches nicht mit Flash arbeiten kann, dann funktionieren die Javalösungen auch nicht. Und wenn dein System im Grunde mit Flash umgehen kann, dann ist das eine Lösung die drei mal ums Eck wieder auf die Normallösung zurückführt. Die Lösungen gehen also nicht, wenn man sie brauchen könnte und wenn sie funktionieren, dann gibt's einen deutlich besseren Weg.
  • in: Swf via java laden

    geschrieben von alphara

    Also zunächst mal klingt das ziemlich sinnfrei, aber wenn man das unbedingt tun möchte hilft das hier vlt weiter:
    http://www.java-forum.org/java-basics-anfaenger-themen/81629-flash-animation-swf-java-absielen.html

    Übrigends hätte Google genau das in schneller geantwortet.
  • in: Website Monitoring Script

    geschrieben von alphara

    http://www.uptimerobot.com/

    Das ist zwar kein Skript im Sinne von "ich baue das jetzt mal auf meine Website", aber man kann damit recht sinnvoll und umfangreich die eigene Website bzw. die zugehörigen Server überwachen - un bekommt E-Mails und SMS wenn da was ausfällt.
  • in: Eigenes Gedicht: Der Silberschweif

    geschrieben von alphara

    Nur als Anmerkung: Dein Versmaß wechselt viel zu oft, das Ganze klingt deshalb hoft holprig. Vlt kannst du das noch überarbeiten
  • in: Teile von Variablen auslesen und löschen

    geschrieben von alphara

    So:
    $var = substr($var,0,strlen($var)-1);


    oder so:

    $var = substr($var,0,-1);
  • in: 0 = Leer verhindern...

    geschrieben von alphara

    Also ganz ehrlich? Für mich sieht das so aus, als ob du einen Arrayeintrag und nicht eine einzelne Variable testest. Der Unterschied ist der, dass bei einem leeren Arrayfeld, je nach Implementierung des Arrays, der Index gar nicht ausgelesen werden kann, weil das Feld nicht nur leer, sondern gar nicht vorhanden ist. Vielleicht hilft es dann

    if (empty($array))


    statt

    if(empty($array[$index]))


    zu prüfen. Lieg ich mit meiner Vermutung richtig oder habe ich da zuviel in die Notice hinein interpretiert?
    Wenn ich Recht habe, dann brauchen wir vermutlich 2-3 Zeilen Orginalcode von dir um dir besser zu helfen, weil für eine passende Lösung brauchen wir dann den groben Arrayaufbau. Wenn nicht währe es trotzdem super ein paar Zeilen Code zu haben, vlt ergibt sich die Lösung dann durch draufschauen.
  • in: Spam Sonok lösch mich

    geschrieben von alphara

    thomasba schrieb:
    Ihr verschandelt den schönen Thread :-(

    :shaft:


    So etwas sollte Strafen nach sich ziehen... entfernen von Hinterlassenschften verschiedenster niedlicher Tierchen zum Beispiel.... steht ja hier hier schließlich alles unter Naturschutz... und Denkmalschutz auch noch...
  • in: Hilfe Finde FTP Mysql und PhpMyadmin nicht

    geschrieben von alphara

    Hier:

    http://www.lima-city.de/usercp

    MySQL - Zugangsdaten unter Addons -> Datenbank-Zugang
    PhPMyAdmin unter Addons -> Datenbank-Tools
    FTP- Zugangsdaten unter Addons -> FTP-Zugang
    Filemanager ist direkt auf der angegebene Seite

    Bei dir:

    [url]http://localhost/phpmyadmin[/url] und vom Rest kannst nur du wissen, wo du deine Zugangsdaten und FTP-Programme ablegst.

    Ich hoffe, das hilft.
  • in: schriftgrösse ohne zeilenschaltung

    geschrieben von alphara

    Was du suchst ist entweder:

    vertical-align:baseline;


    oder

    vertical-align:bottom;


    Eins der beiden hilft dir vermutlich weiter.
  • in: schriftgrösse ohne zeilenschaltung

    geschrieben von alphara

    Oder du arbeitest mit <span> weil dieser Tag die gewünschte Eigenschaft von Natur aus besitzt. Einfach mit css entsprechend hinmanipulieren und fertig. Beispiel:

    <p><span style='font-size:96pt'>Gigantische Schrift</span><span style='font-size:12pt'>, die mit dieser kleineren Schrift noch in einer Zeile steht</span></p>


    (oder eben mit externen CSS und über class/id-Zuteilungen)

    Allerdings lese ich aus deiner Frage, dass du damit eine Überschrift formatieren willst und dann währe die h1-Version von oben semantisch gesehen besser. Mein Vorschlag sollte (wenn überhaupt) in 'normalen' Textabschnitten verwendet werden.
  • in: Optionaler Parametertyp

    geschrieben von alphara

    Ganz einfach: Du überlädts den Konstruktor deiner Klasse:

    class Umsatz {
        public Umsatz(int s,float u) {
           //objekterstellung mit integer und float parameter
        }
        public Umsatz(Date d,float u) {
           //objekterstellung mit date und float parameter
        }
    
        //weitere methoden
    }


    Keine Ahnung ob es da auch eine Templatealternative gibt, aber das sollte schon aussreichen. Java wählt so automatisch den passenden Konstruktor der Umsatz-Klasse und du hast genau das, was du brauchst.
  • in: Variablen per Link (unsichtbar) übergeben

    geschrieben von alphara

    Also wenn die Variable doch sowieso schon in einer Session vorhanden ist, dann kannst du direkt auch auf Seite 2 darauf zugreifen. $_SESSION ist doch Global, du musst das also nicht neu übergeben. Alles was du zu tun hast ist:

    1. session_start() auf Seite 2 aufrufen (oder in der passenden OO-Version)
    2. $_SESSION['benutzer'] auslesen und fertig

    Also vergiss GET und POST. Ist unnötig an dieser Stelle.

  • in: Wie kann ich mich per FTP mit dem Download-Server verbinden?

    geschrieben von alphara

    Da hänge ich mich doch gleich mal dran. Denn obwohl ich den richtigen Server abgetippt, kopiert/eingefügt und auch abgemalt habe und nun zum 10. mal mein Passwort geändert hab tuts bei mir immer noch nicht...

    Und ja, ich weiß wie man sich per ftp mit einem Server verbindet...
  • in: ██████ darf nicht sein!

    geschrieben von alphara

    kaetzle7 schrieb:
    fatfreddy schrieb:
    kaetzle7 schrieb:
    drafed-map schrieb:
    kaetzle7 schrieb:
    drafed-map schrieb:
    kaetzle7 schrieb:
    fatfreddy schrieb:
    musik-kostenlos schrieb:
    hallo wie █████ schön █████ ihr ██ seid


    Danke für die Blumen, Das sehr nett von dir ist! :megarofl:
    In das "dass" wurde ein zusätzliches s hineinzensiert??? :shaft:
    Als du das geschrieben hast war die Korrektur schon fast ne Stunde alt :shy:.
    Sieh dir doch mal das "dass" im zensierten Text genauer an ;-).

    Witze die man erst erklären muss, sind natürlich schlecht - ich weiß :-(
    Ich dachte, dass du dich auf Fatfreddys Beitrag beziehst, schließlich hast du den ja zitiert :wink:.
    Habe ich ja - schließlich hatte nur er das "dass" zensiert...

    Ich finde es sehr unangenehm, derart in die Quotezange genommen zu werden!

    Außerdem liegt ihr falsch! Es liegt im Wesen der Zensur, Tatsachen verschleiern zu wollen. Da wird dann gern mal eine falsche Fährte gelegt und sei es nur, was die Länge der zensierten Worte angeht.

    anonym
    Das mit der Quotenzange tut mir natürlich leid - das hätte nicht passieren dürfen!


    .... Zensurgalgenmännchenbattle! ████████

    .
      =I=======I=
       I /     l
       I/      O
       I      /X\
       I      / \
      /I\
    _/_I_\_________

  • in: ██████ darf nicht sein!

    geschrieben von alphara

    Da könnte man super Galgenmännchen mit spielen: ████████
  • in: "Zeiger" gesetzt?

    geschrieben von alphara

    Das liegt daran, dass du Arrayobjekte erstellst, woraus folgt das eine Zuweisung nicht den Array sondern die Referenz darauf kopiert.
    Bedeutet: Den Array gibts dann bloß ein mal, aber mit zwei Namen. Um das zu verhindern musst du die einzelnen Elemente von einem Array in den anderen kopieren (per for-Schleife zum Beispiel), da diese Integer, also primitive Datentypen sind, weswegen dann keine Referenzen sondern Werte kopiert werden.

    Beispiel:
    for (int i=0; i<f1.length;i++) {
          for (int j=0;j<f1[i].length;j++) {
                    fTemp[i][j]=f1[i][j];
          }
    }


    Musst nur noch auf die Feldlängen aufpassen und fertig. Natürlich gibts auch schon fertige Funktionen, die das für dich erledigen...

    €dit: HMPF. benutzernaemelchen tippt schneller.
  • in: Wo studiert man am besten Informatik?

    geschrieben von alphara

    Da kann ich dir nur Karlsruhe (= ehmals Uni Karlsruhe TH = KIT) wärmstens Empfehlen. Ich studiere Info zwar nur am Rande mit, aber Karlsruhe zeichnet sich vor allem aus durch:

    - Eliteuni (Dank der Infofakultät im übrigen)
    - Direkte Anbindung an eine international bekannte Forschungseinrichtung (ehemals Forschungszentrum KA, jetzt ist es ein Teil des KIT, kp wie sich das jetzt genau schimpft)
    - Gute Betreuung der Studenten (O-Phase, kleine Tutorien, aktive Fachschaft, ...)
    - Kampusuni (das ist nicht vernachlässigbar, auch wenn es zunächst so scheint)
    - Gute Infrastruktur (ich meine damit sowohl die Uniinterne Infrastruktur in Form von Arbeitsbereichen z.B. als auch die Innerstädtische Struktur des öffentlichen Verkehrsnetztes, die übrigends nirgendwo besser ist )
    - Naja und zu Schluss ist Karlsruhe einfach eine tolle Stadt

    Was nicht so super ist, lässt sich an wenigen Fingern abzählen:

    - 500€ Studiengebüren (aber davon kann man sich ja jetzt oft genug befreien lassen)
    - Höherer Anspruch als an anderen Unis (was ja zunächst nicht negativ ist, aber die daraus manchmal resultierenden schlechteren Noten schon)

    Mehr fällt mir spontan nicht ein. Mal schauen, ob sich das noch ergänzen lässt.
  • in: Facebook hat kein Telefon, Verstößt gegen Vorschriften!

    geschrieben von alphara

    surfseite schrieb:
    Der Erfolg mit den Europäischen Gesetzen ist da!

    Hier ein Urteil der Vierten Kammer des Europäischen Gerichtshof:
    Aus diesen Gründen hat der Gerichtshof (Vierte Kammer) für Recht erkannt:

    Art. 5 Abs. 1 Buchst. c der Richtlinie 2000/31/EG des Europäischen Parlaments und des Rates vom 8. Juni 2000 über bestimmte rechtliche Aspekte der Dienste der Informationsgesellschaft, insbesondere des elektronischen Geschäftsverkehrs, im Binnenmarkt („Richtlinie über den elektronischen Geschäftsverkehr“) ist dahin auszulegen, dass der Diensteanbieter verpflichtet ist, den Nutzern des Dienstes vor Vertragsschluss mit ihnen neben seiner Adresse der elektronischen Post weitere Informationen zur Verfügung zu stellen, die eine schnelle Kontaktaufnahme und eine unmittelbare und effiziente Kommunikation ermöglichen. Diese Informationen müssen nicht zwingend eine Telefonnummer umfassen. Sie können eine elektronische Anfragemaske betreffen, über die sich die Nutzer des Dienstes im Internet an den Diensteanbieter wenden können, woraufhin dieser mit elektronischer Post antwortet; anders verhält es sich jedoch in Situationen, in denen ein Nutzer des Dienstes nach elektronischer Kontaktaufnahme mit dem Diensteanbieter keinen Zugang zum elektronischen Netz hat und diesen um Zugang zu einem anderen, nichtelektronischen Kommunikationsweg ersucht.



    Sag mal, liest du den Mist eigentlich, den du da veröffentlichst? Da steht doch Wort für Wort, dass im Impressum keine Telefonnummer aufgeführt sein muss, sondern dir erst eine Möglichkeit zur nichtelektonische Kontaktaufnahme gestellt werden musst, wenn du danach fragst. Warum sollte das also begründen, dass Facebook eine Telefonnummer im Impressum haben muss? Da steht auch, dass eine E-Mailadresse und ein Kontaktformular ausreicht und Facbook bietet genau das beides an, also wo ist das Problem? Das deine Telefonnummer nicht gelöscht wird ist allerdings nicht in Ordnung, die Frage ist nur, ob man dagegen etwas unternehmen kann...
  • in: Flash per html einbinden

    geschrieben von alphara

    Ich meine, dass dir der <object> - Tag da weiter hilft. Der große Google findet dazu auch gleich ein super SelfHTML-Beispiel: http://de.selfhtml.org/html/multimedia/objekte.htm#flash. Hoffe, das hilft weiter.
  • in: Mysql fehler

    geschrieben von alphara


    Was muss ich da machen?

    Sagt der Fehler:

    mysql_fetch_row() erwartet ein mysql_result und bekommt stattdessen einen boolschen Wert übergeben (also true oder false). Vermutlich liegt der Fehler im mysql_query() direkt darüber, denn wenn dieser nicht korrekt ist bekommst du statt einem result ein false zurück. Poste mal die 2 querys, damit wir den Fehler finden können.
  • in: Artist gesucht Kontor #6 - Rocket

    geschrieben von alphara

    Der große Google sagt es sei von Ray Krebbs, wenn denn das die richtige CD ist. Da du das sicher besser weißt als ich, wäre es super, wenn du den großen Google das nächste mal selbst befragst. Kostet 1 min zum eingeben und 0.24s Scriptlaufzeit, also weniger als das Erstellen eines Threads :wink:
  • in: Server: Java Chat

    geschrieben von alphara

    Bitteschön:

    http://www.java-forum.org/applets/16717-applets-webstart-anwendungen-signieren.html

    *Brett nehm, "Ich werde keine Fragen mehr stellen, die man in weniger als einer Minute erfolgreich googlen kann" draufschreib, auf den Hinterkopf von wakeboarder ziel damit er es sich hoffentlich merkt* <- Suchbegriffe: applet signieren java <- der erste gefundene Eintrag
  • in: Mathematik: Lineare Gleichungssysteme, Probleme bei Aufgabe!

    geschrieben von alphara

    Das geht sehr leicht mit Matrizen. Wichtig ist dabei immer die letzte Zeile der Lösungsmatrix, weil die dir genau deine Antworten liefert. Genaugenommen kannst du 3 Lösungen erhalten:

    1] (0...1|a) => du hast genau eine Lösung für ein LGS
    2] (0...0|a), a nicht 0 => du hast keine Lösung für ein LGS
    3] (0...0|0) => du bekommst beliebig viele Lösungen für ein LGS

    Betrachten wir mal die Matrix zu deinem System:

    ( 3 -6 | 4 )
    ( 4 -a | a-1 )

    umformen mit folgenden Rechnungen ergibt: (1. Zeile komplett durch 3 teilen, dann Zeile 2 - 4*Zeile 1 rechnen)

    ( 1 -2 | 4/3 )
    ( 0 -a-8 | a-19/3 )

    Anmerkung: Gelöst ist das mit dem Gaus'schen Algorithmus. Kann sein, dass ihr diesen nicht behandelt habt. Dann musst du die gleichungen einzeln betrachten und durch Einsetzungs-/Gleichsetzungs-/Additionsverfahren diese Gleichung erzeugen: (-a-8)y = a-19/3. Von da an gehts gleich weiter.

    Betrachtet man nun die letze Zeile, so kann man sie in die oben genannten Fälle einsortieren, wenn man bestimmt, wann -a-8=0 gilt. Natürliche Lösung dieser Gleichung: a=-8.
    Wir stellen also fest: für a=-8 gilt (einsetzten von -8 für a, -(-8)-8=0):

    ( 1 -2 | 4/3 )
    ( 0 0 | 8-19/3 )

    Das ist einzuordnen in den 2. Fall (Matrix: 0...0|a a ungleich 0), also für a=-8 liefert das System keine Lösung.
    Da die 3. Lösungsversion gar nicht zustande kommen kann, weil -8 die einzige Nullstelle von -a-8=0 ist, folgt also als Lösung deiner Aufgabe:

    Für alle a ungleich -8 gilt: Das LGS hat genau eine Lösung(, sonst keine Lösung).
  • in: Fehler in der Konsole

    geschrieben von alphara

    öhm... das kann ich dir von hier aus wirklich nicht sagen. Könnte theoretisch sein, aber ich glaube, dass das keine SecurityException zurückwirft.
    Viel wahrscheinlicher ist wirklich, dass die Funktion zum Laden der Bilder versucht auf das lokale System des Appletusers zuzugreifen (was unterbunden wird aus Sicherheitsgründen). Das macht in deinem Fall sowieso keinen Sinn, weil dann _jeder_ Appletuser die Bilder haben müsste. Viel Sinnvoller ist es, die Bilder mit auf dem Server abzulegen und von dort zu laden. Aber damit der Fehler gefunden werden kann, brauche ich wirklich etwas Quellcode, weil Hellsehen kann ich noch nicht.
  • in: Fehler in der Konsole

    geschrieben von alphara

    Ich glaube, dass du versuchst mit einem unsignierten Applet aufs lokale System zuzugreifen, was die SecurityException auslöst, weil das für Applets verboten ist.

    2 Möglichkeiten das zu lösen:

    1. Du signierst das Applet. Wie man das genau macht, weiß ich nicht, da das nicht unwenig Geld kostet und irgendwelche Fremdlizenzen oder so etwas erfordert.

    2. Du lässt die Bilder nicht vom Client, sondern vom Server laden (grob geschätzt willst du das sowieso so haben). Da du vermutlich momentan beides bist, musst du deine Dateiaufrufe abändern. Da ich aber nicht weiß, wie genau du die Bilder aufrufst, kann ich dir keine passende Lösung liefern. Vlt liegts einfach nur an der Art, wie du den Dateipfad angibst, vlt liegts auch am ganzen Befehlsblock. Etwas Quellcode mit den Ladeabschnitten währe von Vorteil...
  • in: MySQLi Daten in Array speichern

    geschrieben von alphara

    Deine erste Lösung war schon fast richtig. Allerdings ist deine While-Schleife solange true, wie Einträge in der Datenbank sind. Da du in der Schleife i nicht veränderst wird der Eintrag immer überspeichert. Also bekommst du nur den letzten Eintrag zurück. Machs einfach mal so:
    $query = $db->query("SELECT `spalte1`, `spalte2`, `spalte3`, `spalte4` FROM `tabelle` WHERE `spalte1` LIKE '0' AND `spalte2` LIKE '0' ORDER BY `spalte3` ASC, `spalte2` ASC");
    
    $i=0;
    while($bow = $query->fetch_array(MYSQLI_ASSOC)) {
    	$sat[$i]["id"] = $bow["spalte1"];
            $i++;
    }
    
    // ganz viel super toller Code =P
    for($i=0; $i<$size; $i++) {
    	echo $sat[$i]["id"];
    }


    €dit: Zu lange gebraucht -.-
  • in: Beschwerde

    geschrieben von alphara

    Mag mich nur ungern da rein hängen, aber das da nenne ich aktives Mobbing:
    http://www.lima-city.de/thread/sonok-unser-moderator (Wenn man sich schon über Mobbing beschwert, sollte man selbst das Mobben unterlasen, so als Bemerkung am Rande)
    Könnte bitte mal irgendjemand diesen Mist entfernen und diesen Thread hier closen? "Gespräche" auf diesem Niveau sind hier absolut fehlplatziert, egal wer da wieder irgendetwas gesagt hat...

    €dit: Und bitte bitte zieht mir die Gulden für den Beitrag hier wieder ab. Solche dinge verdienen keine Gulden.
  • in: Software zur (Komplett-)Formatierung

    geschrieben von alphara

    Darik's Boot and Nuke ("DBAN") is a self-contained boot disk that securely wipes the hard disks of most computers. DBAN will automatically and completely delete the contents of any hard disk that it can detect, which makes it an appropriate utility for bulk or emergency data destruction.


    Klar, wenn man auf die Nuklearstrategie steht... Aber wenn ich nur bestimmte Teile erledigen will und das effektiv, ist das Programm nicht geeignet, is klar. Da bevorzuge ich doch lieber das gute, alte Linux mit mächtiger Konsole ^^

    €dit: Um hier keinen Streit vom Zaun zu brechen, und weil es mit dem eigentlichen Thema des Threads nur begrenzt etwas zu tun hat, antworte ich auf den Beitrag unter mir mal hier:

    Ist ja richtig, aber ich kann ja nicht wissen, ob der Threadersteller nicht noch mehr Festplatten hat, nur eine löschen möchte und sich einfach undeutlich ausgedrückt hat. Aber davon mal abgesehen: Da ich DBAN auch erst auf CD machen muss ist der Aufand von beiden Methoden annähernd der selbe. Also hab ich einfach mal die "sicherere" Methode gewählt. Macht aber nix, nun hat er die Auswahl ;)
  • in: Software zur (Komplett-)Formatierung

    geschrieben von alphara

    Heiho.

    Ich glaub der einfachste Weg ist der Folgende:

    - Lade dir die Knoppix LiveCD runter, brenne diese und starte deinen Rechner mit der CD im Laufwerk neu.
    - Ließ dir ein paar Infos zum shred - Befehl für die Shell durch und dann kann es losgehen.

    Aber pass auf, dass du die richtige Platte erwischst, die Daten können keinesfalls wiederhergestellt werden.
  • in: PHP Upload filter Filtert zu stark.

    geschrieben von alphara

    Ja, aber das ist ja auch nur ein Beispiel (und außerdem weiß ich nicht, ob die MIME_types passen). Du ersetzt IMAGETYPE_JPG und so weiter natürlich durch die von dir in den ersten Schritten ermittelten types.
  • in: PHP Upload filter Filtert zu stark.

    geschrieben von alphara

    Da es kaum Zeit kostet, das ganze nochmal in langsam:

    1. Schritt:

    Du ersetzt diese Codezeile:
    echo "Bitte nur Datein im Swf Format hochladen.";

    durch diese:
    echo "Bitte nur Datein im Swf Format hochladen. Gefundenes Format: ".$dateityp[2];


    2. Schritt:

    Du führst das Skript aus. Wenn jetzt eine SWF-Datei nicht hochgeladen wird, bekommst du in etwa so eine Ausgabe:
    Bitte nur Datein im Swf Format hochladen. Gefundenes Format: IMAGETYPE_JPG


    3. Schritt:

    Du sammelst alle Ausgaben nach dem Doppelpunkt und notierst die dir irgendwo.
    (Im Beispiel währe das "IMAGETYPE_JPG")

    4. Schritt:

    Du änderst deinen Quellcode ein weiteres Mal.
    Ersetze diese Codezeile:
    if($dateityp[2] == IMAGETYPE_SWF)

    durch eine, die nun alle notierten Ausgaben enthält, jeweils mit Doppelstrich getrennt, also so zum Bleistiel:
    if($dateityp[2] == IMAGETYPE_SWF || $dateityp[2]==IMAGETYPE_JPG || $dateityp[2]==IMAGETYPE_GIF )


    5. Schritt:

    Du testest das Skript nochmal mit den SWF-Dateien, dann sollte es funktionieren.

    Genauer kann ich das nicht beschreiben.

    €dit: 2 kleine Anmerkungen:
    1. Ich bin zwar selbst kein Rechtschreib- und Grammatikass, aber ich glaube der Plural von Datei ist Dateien und nicht Datein und 2. hat volnerius natürlich vollkommen Recht. Das sind keine weltbewegenden Codemanipulationen, und wenn es schon da scheitert, musst du dir wirklich erst etwas Grundwissen zulegen bevor wir dir effektiv helfen können. Ist ja nicht so, dass dir niemand helfen will, aber jede kleine Sache erst so ausführlich auszuschreiben ist echt zu viel verlangt.
  • in: mit c++ mysql abfragen

    geschrieben von alphara

    Mein Java-Wissen sagt mir dazu, dass man sich da einen passenden MySQL-Treiber raussuchen muss, diesen dann nachlädt und dann wird einem von diesem eine Möglichkeit gestellt querrys an das MySQLsystem zu schicken.

    Der Große Google sagt dazu, dass das bei c++ nicht anderst ist und empfiehlt: http://tangentsoft.net/mysql++/
    Nebenbei: Das hätte man auch ohne das Java-Wissen herausbekommen, wenn man den Großen Google nach "c++ mysql tutorial" befragt hätte, aber da ich gerne mit dem Kerl rede, hab ich dir das mal abgenommen.

    Sah hervoragend dokumentiert aus, so auf den ersten 2 Blicken.
  • in: PHP Upload filter Filtert zu stark.

    geschrieben von alphara

    Für mich sieht das so aus, als läge es an diesem Vergleich:

    $dateityp[2] == IMAGETYPE_SWF

    Bin mir nicht ganz sicher, aber ich glaube, dass hier nach dem MIME-type der Datei gefragt wird. Das soll verhindern, dass du irgend eine beliebige Datei einfach mit der Endung .swf versiehst und dann hochladen kannst, sondern nur "echte" SWF-Dateien durch den Filter kommen. Es kann aber sein, dass , je nach dem mit welchem Programm die swf erstellt wurde, der MIME-type vom angegebenen Typ abweicht. Um herauszubekommen, welcher Typ dann der richtige ist, musst du dein Skript ein klein wenig modifizieren und die Schlussausgabe umbauen:

    <meta http-equiv="refresh" content="5; URL=http://wisaa.lima-city.de/swf/swf/">
          <?php
          $dateityp = GetImageSize($_FILES['datei']['tmp_name']);
    
    // aenderung 1 (nachdem du mit aenderung 2 weitere typen ermittelt hast):
    
          if($dateityp[2] == IMAGETYPE_SWF || $dateityp[2]==weiterertyp || ... )
             {
                move_uploaded_file($_FILES['datei']['tmp_name'], 'swf/'.$_FILES['datei']['name']);
    
                echo "Die Flash datei wurde Erfolgreich hochgeladen";
          	echo "<br>" ;
                echo "Sie werden Zur Liste Weitergeleited";
          	 
             }
          else
              {
    
    // aenderung 2:
    
              echo "Bitte nur Datein im Swf Format hochladen. Gefundenes Format: ".$dateityp[2];
              }
          ?>


    Kann sein, dass du dann feststellst, dass es bloß an der Groß/Kleinschreibung liegt oder so. Füge einfach die gefunden Formate in die If-Abfrage ein, dann sollte es gehen.
  • in: O-Notation im InfoLK Unterricht

    geschrieben von alphara

    Das ist ganz einfach.
    Du gehst davon aus, System.out.println() hat den Aufwand O(1) [Ja, ich weiß, dass das ein Methodenaufruf ist und sich da je nach Methode Schleifen verbergen können. Aber in diesem Beispiel sollte die Annäherung reichen]. Im ersten Beispiel wird dieser Befehl durch die Schleife n mal aufgerufen, also hast du den Aufwand n*O(1)=O(n).

    Anmerkung: Da dies erst für große n von Bedeutung ist, haben ein oder zwei oder 10 Befehle mit dem Aufwand O(1) auch nur den Aufwand O(1).

    Im 2. Beispiel läuft die Schleife mit dem Aufwand O(c) ebenfalls n mal durch, also bekommt man einen Aufwand von n*O(c)=O(n^2). (wenn n>c, sonst O(c^2))

    Du musst also schauen, wo sich die Schleifen verstecken. Je mehr Schleifen man verschachtelt, je größer der Aufwand. (Man nimmt dann die größte CounterVariable und multipliziert sie sooft mit sich selbst, wie Schleifen verschachtelt sind)
    Von diesem System weicht man dann ab, wenn in verschachtelten Schleifen die Durchlaufzahlen sehr stark variieren (sich zum Beispiel immer halbieren). Dann nähert man das logarithmisch an.

    Betrachte das ganze als Angabe für die Geschwindigkeit einzelner Programmabschnitte. Dabei wird immer nur die oberste (=langsamste) Grenze betrachtet. (Also läuft ein Programm mit Abschnitten in O(1), O(n) und O(n^2) in der gesammten Betrachtung auch in O(n^2)). Des weiteren gilt natürlich: je höher die Potenz, um so Aufwändiger (langsamer) ist dein Programm

    Ich hoffe, dass das verständlich ist. Andernfalls gibts es noch sehr gute Wikipediaartikel dazu.

    PS: Das gilt natürlich nur für die "groß-O"-Notation, mit welcher man eine obere Grenze beschreibt (und dabei kann man auch jede größere wählen. Programme, die in O(n) laufen, liegen demnach auch in O(n^2) aber nicht umgekehrt). Man kann mit Landausymbolik noch jede Menge andere Grenzen beschreiben ("klein-o"=kleinste obere Schranke,"klein-omega"=größte untere Schranke,"groß-Omega"=eine untere Schranke ..........)
  • in: Countdown mit JavaScript

    geschrieben von alphara

    Der Fehler liegt in dieser Zeile:
    if (secunde != 0) {thetimeshow += (oTime.getSeconds())+"";}


    Da ich kein JS kann, kann ich dir nicht genau sagen, wie es aussehen muss, aber du kannst mal einen Code in etwa diesem Stiel probieren:
    if ((minute + stunde + secunde)  > 0) {thetimeshow += (oTime.getSeconds())+"";}

    Probiere es einfach mal aus.

    Entsprechend muss man natürlich die Zeile darüber ebenfalls ersetzen durch:
    if((minute + stunde) > 0) {...
  • in: ubuntu in /etc/ schreiben

    geschrieben von alphara

    Konsole auf und dann eintippen:

    su
    <Passwort>
    nano /etc/apache2/.......

    Statt nano kannst du auch einen Editor deiner Wahl verwenden. Alternativ zuerst mit

    su
    <Passwort>
    chmod 0777 /etc/apache2/....

    die Lese-/Schreibrechte komplett freigeben, aber das zurückändern nicht vergessen.
  • in: Mathe: Flächeninhalt

    geschrieben von alphara

    Vlt hilft ja folgender Zusammenhang weiter:

    s = 2 * wurzel(2*h*r - h^2)

    mit
    s = Kreissehne = Grundseite des Rechtecks in deinem Fall
    h = Bogenhöhe zur Sehne s = Gesamthöhe - Höhe des Rechtecks für dich.

    Das ganze nach r auflösen und dann kennst du den Radius mit dem sich alles schnell berechnen lassen sollte:

    A = 1/2 [ b*r - s*( r - h )]

    Ich hoffe, dass du die Bogenlänge b schon kennst, sonst sollte man sich da mal Gedanken machen.

    €dit: hab grad gesehen, dass du den Gesamtumfang kennst, also kennst du auch den Bogen.

    €€dit: Weil mir gerade langweilig ist, hier die Lösung:

    Rechteck:

    A = a*b = 1.2*2.1 = 2.52

    Kreissegment:

    U = 6.9 => b = 6.9 - 2*2.1 - 1.2 = 1.5
    s = 1.2
    h = 2.5 - 2.1 = 0.4
    s = 2 * wurzel(2*h*r - h^2) <=> r = (s^2 + 4*h^2) / (8*h) = 13/20 (hoffentlich nicht verrechnet...)
    A = 1/2 [ b*r - s*( r - h )] = 27/80

    Gesamt:

    2.52 + 27/80 = 1143 / 400 = 2.8575 (sieht nach verrechnet aus, aber im Prinzip gehts genau so)
  • in: Problem mit assoziativen Arrays in PHP

    geschrieben von alphara

    Weiß jetzt nicht, ob das die optimale Lösung ist (vermutlich nicht), aber sie wird funktionieren:
    //Assoziativen Zugriff indizieren
    
    $indexarray = array();
    $i=0;
    foreach ($MEINARRAY as $key => $value) {
        $indexarray[$i]=$key;
        $i++;
    }
    
    //Array in 2-er Schritten auslesen
    
    for ($i=0;$i<count($MEINARRAY)-1;$i+=2) {
       echo $MEINARRAY[$indexarray[$i]];
       echo $MEINARRAY[$indexarray[$i+1]];
    }
    
    // Ausgabe, falls die Anzahl der Arrayelemente nicht durch 2 teilbar ist
    
    if (count($MEINARRAY)%2!=0) {
       echo "Restwert: ".$MEINARRAY[$indexarray[count($indexarray)-1]];
    }


    €dit: zuspät, aber mal am Rande: eure for-Schleife handelt nur den halben Array ab, weil ihr sowohl in der Schleifenbedingung als auch im Befehlsblock durch 2 teilt
  • in: Addressfreigabe nach socket.close()

    geschrieben von alphara

    1. Ich kann dir gerne 500 Zeilen Code Posten, wenn du das willst, aber ich halte das echt für unnötig, da sich das Problem auf genau diese Zeilen beschränkt.

    2. Ich weiß auch genau, WAS das Problem ist, ich weiß nur nicht, WIE man es löst (desshalb sollte man eig gar keinen Code brauchen) aber für dich formuliere ichs auch gerne nochmal:

    Wie lösche ich eine Verbindungsreservierung eines InetAddress-Objektes?

    3. Das "Nein" bezog ich lediglich darauf, dass ich das Gefühl hatte, dass du mein Problem gar nicht verstanden hast und ich das nochmal umformulieren wollte

    So und auf deinen besonderen Wunsch hin, folgt nun das komplette Umfeld (sry, auch das ist nicht der komplette Code, aber wenn dir das nicht reicht, dann weiß ich auch nicht)

    //Methode, die per ActionListener von einem Button aufgerufen wird
    public void net_control() {
    		if (net_started) { 
    			try {
    				sock.shutdownOutput();
    				sock.close();
    				stop.setEnabled(false); //Buttons und Menuepunkte umsetzen
    				start.setEnabled(true);
    				Itm_net_open.setEnabled(true);
    				Itm_net_close.setEnabled(false);
    				net_started=false; // flag, der anzeigt, ob das Netzwerk steht
    				failcomander.append("TCP-Verbindung getrennt\n"); //Ausgabe in ein JTextArea
    			}
    			catch (Exception e) {
    				failcomander.append("TCP-Trennung fehlgeschlagen\n");
    			}
    		}
    		else {
    			Thread busdriver = new Thread(new net_runner());
    			failcomander.append("verbinde TCP\n");
    			start.setEnabled(false);
    			Itm_net_open.setEnabled(false);
    			busdriver.start();
    		}
    	}
      
    	private class net_runner implements Runnable {
    		public void run() { 
    			try {
    				ServerSocket servsock = new ServerSocket(9000);
    				failcomander.append("TCP-Socket eingerichtet\nWarte auf Anfrage (60s)\n");
    				try {
    					servsock.setSoTimeout(60000);
    					sock = servsock.accept();
    				}
    				catch (Exception f) {
    					failcomander.append("TCP-Pingtimeout\n");
    					sock.close();
    					servsock.close();
    				}
    				in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
    				out = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));
    				StringBuffer daten = new StringBuffer();
    				stop.setEnabled(true);
    				Itm_net_close.setEnabled(true);
    				net_started=true;
    				failcomander.append("TCP-Verbindung hergestellt\nParameter:\n"+sock.toString()+"\n");
    			}
    			catch (Exception e) {
    				failcomander.append("TCP-Verbindung fehlgeschlagen\n\n"+e.toString()+"\n\n");
    				start.setEnabled(true);
    				Itm_net_open.setEnabled(true);
    			}
    		}
    	}


    €dit: Hab die Lösung des Problems gefunden. Nur für den Fall, dass es irgendwen interessiert:

    Man muss einfach zuerst den serversocket schließen und dann den anderen socket (und nicht anderst herum), denn sock.close() gibt tatsächlich die Verbindung frei, aber solange der serversocket noch läuft kann wohl auf Grund des accept() der sock nicht geschlossen werden.

    Im übrigen hätten dazu 2 Zeilen Code ausgereicht... und jemand der sich damit genau auskennt ;-):wave::prost:
  • in: Addressfreigabe nach socket.close()

    geschrieben von alphara

    Nein, das Problem liegt so:

    Der Server wartet ja auf eine Anfrage vom Client. Kommt diese nicht, dann gibts einen Timeout und die Exception wird zurückgeworfen - soweit normal. Versuche ich jetzt aber erneut die Verbindung aufzubauen, läuft das Programm gar nicht an, sondern bricht sofort mit oben genannter Exception ab. Dabei dachte ich, dass die Verbindung mit sock.close() sowohl beendet also auch alle Reservierungen wieder frei gibt. Aber dem ist wohl nicht so, sonst würde ja ein erneuter Programmablauf genau gleich laufen, wie der erste. Meine Frage bezieht sich also genau auf die Freigabe der reservierten Verbindung nachdem der Timeout reagiert hat.

    Zur Info: der Programmabschnitt läuft innerhalb eines Threads, der beendet wird, wenn die Exception zurück kommt. Starte ich den Thread neu, dann tritt erwähntes Problem auf, bis ich das ganze Programm beende und neu starte. Dann tuts wieder genau ein mal.
  • in: Addressfreigabe nach socket.close()

    geschrieben von alphara

    Heiho.

    Ich hab ein kleines Problem und der große Google will mir nicht helfen:

    Ich hab ein serversocket aufgesetzt, dazu einen Timeout definiert und diesen dann auf eine eingehende Verbindung warten lassen. Wenn jetzt der socket wieder geschlossen wird, weil der Timeout greift, kann ich die Verbindung nicht wieder aufbauen, weil java den Vorgang mit der Meldung "java.net.BindException: Address already in use" abbricht.

    Frage: Wie geb ich die reservierte Addresse wieder frei?

    Codabschnitt:

    Socket sock;
    ServerSocket servsock = new ServerSocket(9000);
    try {
           servsock.setSoTimeout(60000);
           sock = servsock.accept();
    }
    catch (Exception f) {
    	sock.close();
    	servsock.close();
    }


    vielen Dank schon mal im vorraus.
  • in: Hacker sind Schweine!

    geschrieben von alphara

    Katzenfische.... hmmmm lecker!
  • in: Probleme mit Zuweisung

    geschrieben von alphara

    1. Auch in Datenbanken benutzt man keine Umlaute, weil das manchmal zu Problemen führt.

    2. SQL-Querys enden nicht mit ; => dein Query müsste so aussehen:
    $sql2 = "INSERT INTO `$fondsname2` (`Datum`, `Kurs`, `Stueck`) VALUES ('$datum2', '$kurs2', '$anz2')";
    $eintragen2 = mysql_query($sql2);


    €dit: Natürlich musst du den Spaltennamen deiner Datenbank noch in Stueck umbenennen, wenn du genau diesen code benutzt. Sollte ja klar sein, aber sicher ist sicher...
  • in: Probleme mit Zuweisung

    geschrieben von alphara

    Weitere 3 Punkte:

    1. php-Statements leitet man mit <?php ein (ist aber nicht der Fehler, ist nur ne Schönheitsop ;) )

    2. Ich bin mir nicht sicher, ob die If-Abfrage mit dem isset(Submit1) tut, aber das kann man ja leicht testen. Bei mir musste ich sie rausmachen, aber ich hab ja auch nicht den kompletten Quellcode.

    3. Bei mir werden aus dem ersten Feld keine Werte übergeben, solange das Disabled drinne steht. Mach das mal raus und teste das ganze in Verbindung mit meinem vorherigen 3. Punkt, also $_POST[["".$fzahler] statt nur $_POST[$zahler]

    €dit: folgender stark gekürzter Code tut bei mir problemlos:

    <html><head></head><body><form method="post" action="#"><table>
    <?php 
      $fondsname=array();
      $fzahler = 1;
      $zahler = 1;
    ?>
    	<tr>
    	<td>
    	<input name="<?php echo $fzahler ?>" type="text" size="30" value="test"/>
    	</td>
    <?php
    	$fzahler = $fzahler +1;
    ?>
    	<td>
    	<input name="<?php echo $fzahler ?>" type="text" value="<?php echo date ("Y-m-d") ?>"/>
    	</td>
    <?php
    	$fzahler = $fzahler +1;
    ?>
    	<td>
    	<input name="<?php echo $fzahler ?>" type="text" value="12"/>
    	</td>
    <?php
    	$fzahler = $fzahler +1;
    ?>
    	<td>
    	<input name="<?php echo $fzahler ?>" type="text" value="12"/>
    	</td>
    	</tr>
    
    
    </table>
    <br>
    <input name="Submit2" type="submit" value="Absenden" />
    </form>
    
    <?php
    echo "hall";
    if (isset($_POST['Submit2'])){
    $fzahler =1;
    $zahler4 = 0;
    echo $zahler4;
    echo "bin drin";
    echo $_POST[''.$fzahler];
    $zahler4 = $zahler4 +1;
    $fondsname[$zahler4] = $_POST[''.$fzahler];
    echo $fondsname[$zahler4];
    }
    ?>
    </body></html>

    Wie du siehst hab ich die ganzen Ifs und Whiles mal ausgebaut. aber wenns mit deiner Variante nicht tut, dann weißt du immerhin, dass es dann an eben diesen Verzweigungen / Schleifen liegen muss
  • in: Probleme mit Zuweisung

    geschrieben von alphara

    3 Dinge zum ändern, kp, ob es daran liegt:

    1. Benutze bitte keine Umlaute in Variablennamen. Weiß nicht genau, ob php damit Probleme hat, aber viel Sprachen können einfach nicht mit ä...

    2. <form method=\"post\" action=\"Pfad-zur-Datei.php\"> und </form> gehören an den Anfang bzw ans Ende eines Formulares, also vor deinen ersten input und nach deinem letzten.

    €dit: </form> hab ich jetzt mal gefunden, aber iwie fehlen da am anfang <form> und <table>. Wenn das bei dir da ist und du nur nicht den kompletten code gepostet hast, dann vergiss das einfach.

    3. Vlt liegt es tatsächlich an der Postabfrage. Teste mal $_POST[''.$fzaehler] . Ist zwar eher unwahrscheinlich, aber auf den ersten Blick find ich sonst nix, ich schau aber gleich nochmal genauer darüber.
  • in: Nur leerstellen in Variable verbieten?!

    geschrieben von alphara

    Das geht auf verschiedene Arten. Eine währe mit trim() die variable um Anfangs- und Endleerstellen zu kürzen und dann if (empty()) zu testen, ob die Variable leer ist. Hätte den Vorteil, dass man eine sowieso empfehlenswerte Stringmanipulation ausnutzt.
  • in: wie erhält man mysql

    geschrieben von alphara

    Im Forum posten -> Gulden erhalten
    Gulden hier ausgeben: http://www.lima-city.de/auctions
    Zugriffsdaten in der Verwaltung nachschauen

    .. und ach ja, RTFM!!!!!!!!!
  • in: Datenbank Ausleseproblem

    geschrieben von alphara

    Das ist ganz einfach:

    statt mysql_fetch_object() benutzt du mysql_fetch_assoc()

    und in der Abfrage unten musst du dann $row->wert durch $row["wert"] ersetzen

    teste das einfach mal und schau, ober der fehler bleibt.
  • in: Datenbank Ausleseproblem

    geschrieben von alphara

    industry-giant schrieb:
    Der eine Fehler ist, das in deiner abfrage useremail steht und hinterher benutzt du die variable $row->mail

    ändere und teste das


    Nö, das stimmt. Er benutzt 2 Tabellen mit unterschiedlichen Benennungen und die stimmen auch in der Abfrage.

    industry-giant schrieb:
    also du sagst die daten kommen aus der url?

    dann darf da nicht $row->xyz stehen sondern

    $_GET['deine variable aus der url']


    Auch das stimmt so wie es ist. Nur die userid kommt per Get und die wird ganz oben auch richtig abgefragt. Das einzige was da falsch sein könnte, ist, dass es $userid=$_GET["nr"] heißen müsste, aber so richtig kann ich das der Fragestellung nicht entnehmen.


    Die Fehlermeldung gibt ja an, dass mit deinem ersten query etwas nicht stimmt, aber was kann ich spontan nicht rauskriegen. Du könntest nur mal testen, welchen Wert $userid enthält. Bei mir hats da schon manchmal Fehler gegeben, wenn ein Arrayfeld gleich benannt war, wie eine Variable (und das ist bei dir mit dem Get-Array so), aber ich glaub nicht, dass das der eigentliche Fehler ist. Wie gesagt, den echten finde ich jedoch nicht. Versuchen kannst du auch, das ganze nicht als object zu fetchen sondern als array. Vlt liegts nämlich an der fehlenden Objektunterstützung des mysql_ -Befehls (alternativ einfach mysqli_ benutzen).
  • in: Externe Links

    geschrieben von alphara

    Hab gar nicht gesagt, dass es schlecht sei. Ich meinte bloß, das alt an der Stelle sinnlos ist, was übrigends der Hauptantrieb war überhaupt zu schreiben (und wo ich schon dabei war, hab ich eben auch ein Wort über target verloren). Wollte hier nicht irgendwelche Grundsatzdiskusionen vom Zaun brechen -.-
  • in: Externe Links

    geschrieben von alphara

    Das ist dann aber nicht mehr xhtml 1.0 strict valide. Das akzeptiert weder target noch alt. Darüber hinaus ist alt sowieso unnötig, denn wozu braucht ein Textlink einen Alternativtext? Das target muss man dan wohl durch ein JavaScript ersetzen, nur wie das aussehen muss, weiß ich nicht.
  • in: Upload auf Downloadserver per script

    geschrieben von alphara

    Ok, habs nochmal nachgelesen, tct hat recht. Ich dachte, die file landet erst mit move_uploaded_file() per post auf dem Server. Ist offensichtlich falsch, sry. Du kannst das ganze aber auch offline per Xampp oder so laufen lassen, dann gehts trotzdem auf den Downloadserver und wird nicht auf dem Webserver zwischengespeichert. Dann musst du aber allen Leuten das Uploadskript zukommen lassen (oder als Java-Programm schreiben, dann brauch nicht jeder auch noch das Xampp).
  • in: Upload auf Downloadserver per script

    geschrieben von alphara

    Nein musst du nicht. Nur das PHP-Skrip muss auf den Webserver. Das baut aber eine direkte FTP-Verbindung vom User zum Downloadserver auf, was bedeutet, dass die Uploads direkt auf dem Downloadserver landen und nicht auf den Webspace zwischgespeichert werden.

    kleines Beispiel:
    @$ftp=ftp_connect(FTP_HOST,FTP_PORT); //FTP_HOST, FTP_PORT sind von dir definierte konstanten mit zugangsdaten
    @$log=ftp_login($ftp,FTP_USER,FTP_PASS); // FTP_USER, FTP_PASS wie oben
    @$pa=ftp_pasv($ftp,true); // nötig, falls eine firewall die verbindung blockiert
    if ($log && $ftp && $pa) {
          @$daa=ftp_nlist($ftp,$target); // auflistung aller dateien im ordner $target auf dem server
          if (!is_array($daa) || in_array($target.$file,$daa)) { //$file ist der dateiname des uploads, siehe $_FILE-array
               echo "<p><b>Fehler:</b> Es existiert bereits eine Datei mit gleichem Namen im Zielverzeichnis.</p>";
          }
          else {
    	@$chdr=ftp_chdir($ftp,$target); //wechsel ins gewünschte verzeichnis $target
    	if ($chdr) {
    	    @$fp=fopen($filepath,'r'); //$filepath ist der pfad zur quelldatei bzw zum temporären bild davon. siehe $_FILE
    	    if ($fp) {
    	         @$ret=ftp_nb_fput($ftp,$file,$fp,FTP_BINARY);
    	         while ($ret==FTP_MOREDATA) { //FTP_MOREDATA ist eine konstate aus der ftp-klasse von php
                            @$ret=ftp_nb_continue($ftp);
                     }
    	         if ($ret!=FTP_FINISHED) { //FTP_FINISHED siehe FTP_MOREDATA
                            echo "<p><b>Fehler:</b> Die Datei konnte nicht hochgeladen werden.</p>";
                     }
    	         else {echo "<p>Die Datei ".$file." wurde erfolgreich hochgeladen.</p>";}
    	         @fclose($fp);
    	    }
    	    else {echo "<p><b>Fehler:</b> Die Quelldatei konnte nicht ge&ouml;ffnet werden.</p>";}
    	}
    	else {echo "<p><b>Fehler:</b> Das Zielverzeichnis konnte nicht ge&ouml;ffnet werden.</p>";}
          }
    }
    else {echo "<p><b>Fehler:</b> Die FTP-Verbindung konnte nicht hergestellt werden.</p>";}
    @ftp_close($ftp);


    Natürlich fehlen da noch ein paar Dinge, z.b. Dateigrößenabfrage, Mimetypes usw aber das bekommst du sicher selbst hin, oder? Aber wie du siehst, wird direkt eine Verbindung vom User zum Server per FTP aufgebaut. Welcher Server das ist, entscheidest du. Also kannst du dich auch direkt mit dem Downloadserver verbinden lassen, ohne über den Webserver zu gehen. Noch ein Wort zu $file und $filepath: Die bekommst du natürlich von einem Formular, welches wie folgt aussehen kann:
    <form enctype=\"multipart/form-data\" action=\"uploadskript.php\" method=\"post\">Datei ausw&auml;hlen: <input name=\"uploaded\" type=\"file\" />&nbsp;<input type=\"submit\" value=\"hochladen\" /></form>

    Nach dem Absenden findest du den Dateinamen, den temporären Pfad auf dem Pc des Users, den Mimetype usw im Array $_FILE['uploaded'] und kannst dir von da alle Infos zusammensammeln.
  • in: Upload auf Downloadserver per script

    geschrieben von alphara

    Hi.

    Das funktioniert mit Php. Es gibt Funktionen, die es ermöglichen eine direkte FTP-Verbindung zum Downloadserver aufzubauen. Google einfach mal nach php + ftp, dann solltest du die entsprechenden Funktionen finden.
  • in: Wie oft duscht ihr?

    geschrieben von alphara

    Was zur ... ist bitte eine Dusche?
  • in: Probleme mit der Wohnung

    geschrieben von alphara

    award5 schrieb:
    Du kannst ihnen schriftlich eine Aufforderung schicken in dem sie die Mängel zubeheben hat.
    Erfolgt darauf keine Antwort schickt Ihr ein zweites Schreiben, welches schon als Mahnung geschrieben werden kann......dort fordert Ihr sie direkt auf die Schäden innerhalb von 14 Tagen zu beseitigen, unter androhung von Mietminderung bei nicht Erfolgen der Reperaturen.
    Sollten sie auf dieses Schreiben wiederum nicht reagieren geht ihr den nächsten Schritt, entweder auf eigene Verantwortung oder unter Mithilfe des Mieterbundes......Ein 3 Schreiben in dem Ihr die Mietminderung umsetzt, wobei Ihr euch da aber schlau machen solltet welche Höhe die Mietminderung haben darf.


    Hast du prinzipiell dann recht, wenn der Schimmel nachweislich nicht durch falsches Heizen/Lüften zustande kommt. Ich weiß aber nicht, ob man als Mieter oder als Vermieter in der Beweispflicht steht.
  • in: Mouse over- Butten

    geschrieben von alphara

    Entweder geht das über JavaScript (da ich da ber nicht so bewandert bin, kann ich dir nicht sagen, wie) oder per css:

    css-Datei:
    div.button {
    background:irgendeinbild.gif no-repeat;
    ...
    }
    div.button:hover {
    background:anderesbild.gif no-repeat;
    ...
    }


    html-Datei:
    <div class="button"></div>


    fertig. Nur noch richtig in Position bringen und dann hast du die Antwort.
  • in: völlig unlogische Ausgabe

    geschrieben von alphara

    Ich hatte mal ein Problem mit einem Quelltext, der offline funktioniert, online jedoch total versagt. Nach einigen Versuchen das Problem zu lösen hab ich den Fehler gefunden. Ich hatte eine Variablen $n und gleichzeitig einen Sessioneintrag S_SESSION['n' im Skript angelegt]. Das Skript hat dann aus irgendeinem Grund manchmal den Wert von $n in die Session eingetragen und manchmal sogar den Arrayschlüssel umbenannt (Bsp.: $n="was", $_SESSION['n']="wer", Ausgaben: $n: was, $_SESSION['n']: was, $_SESSION['was']: wer). Ich weiß bis heute nicht genau woran das liegt, aber das umbenennen von $n hat das Problem beseitigt. Jetzt sehe ich bei dir gleiche Problematik: $_SESSION['menge123']=$menge123 usw. Ich weiß, dass es unübersichtlicher wird, aber probier mal die Variable so zu benennen, dass deren Name nicht mit dem Sessionarrayschlüssel übereinstimmt.
  • in: Left Join / Right Join Hilfe.

    geschrieben von alphara

    Der große Google sagt, join funktioniert so: http://dev.mysql.com/doc/refman/5.1/de/join.html und so: http://www.tizag.com/mysqlTutorial/mysqlleftjoin.php und so: http://www.tu-chemnitz.de/docs/mysql/mysql-118.html.

    Da ich jetzt schon zum großen Google gelaufen bin, musst du den nötigen Quelltext selbst entwickeln, weil ich dafür zu faul bin. ;-)

    €dit: Oder aber nikic macht das, dann hast du es ganz einfach :smokin:
  • in: Fehler bei upload?

    geschrieben von alphara

    Klingt, als hättest du keinen Lese/Schreib-Zugriff auf die Datei, die du hochladen möchtest (oder auf die entsprechenden Ordner). CHMOD hilft dir an der Stelle weiter, Link dazu folgt gleich.

    €dit: http://php.net/manual/en/function.chmod.php

    Setz den Modus aber bitte gut gewählt (also NICHT 777, nur weils da tut) sondern eher in Richtung 644 (kp, ob es damit funktioniert, aber probieren kannst dus es ja mal)
  • in: Länge eines Postes

    geschrieben von alphara

    Der große Google sagt, das strlen($string) die php-Funktion deiner Wahl ist, und das schon nach 0.26 Sekunden.

    Bsp:
    <?php
    $text="Testtext";
    echo $text." -> ".strlen($text)." Zeichen";
    ?>

    Ausgabe:
    Testtext -> 8 Zeichen

    €dit: Mist, zu langsam
  • in: Wer braucht ein altes ThinkPad T21

    geschrieben von alphara

    War bestimmt nicht Jugendfrei, das Angebot...
  • in: algorithmus

    geschrieben von alphara

    irndorfer schrieb:
    ich hab ein beispiel als hü auf dass ich leider nicht hin bekomm

    kann mir jemand helfen ?



    Beispiel:

    Erstellen Sie einen Algorithmus für die Berechnung des Maximums von 3 Zahlen.



    danke !!!!!!!!!!!


    ne Javamethode könnte etwa so aussehen:

    public double maximum (double a, double b, double c) {
      double z=a;
      if (b>z) {z=b;}
      if (c>z) {z=c;}
      return z;
    }


    Man nimmt an, a sei die größte Zahl, vergleicht das dann mit b und ersetzt den Rückgabewert, falls nötig. Gleiches dann noch mit c und fertig. Geht übrigends auch mit beliebig vielen Zahlen:


    public double maximum (double zahlen[]) {
      double z=zahlen[0];
      for (int i=1; i<zahlen.length(); i++) {
        if (zahlen[i]>z) {z=zahlen[i];}
      }
      return z;
    }


    questcrawler schrieb: mh dann sollst du bestimmt sowas machen:

    A=10
    B=A*100*20/40+21-4/20
    ergebniss wäre dann ein algurihtmuss


    Nö, das Ablaufschema (der Programmablauf oder wie immer man es nennen möchte) ist der Algorithmus, das Ergebnis ist das Ergebnis.
  • in: gleiches Script, nur andere Zahl, funktioniert nicht

    geschrieben von alphara

    Joa, da hat sich wohl ein kleiner Fehler ins 2. Skript eingeschlichen:

    print("<input type='submit' name='0363' value='kaufen' class='form' /></p>");


    .... na, fällt dir was auf?
  • in: Zip-Datei via PHP auf FTP erstellen

    geschrieben von alphara

    Achso. Ja das währ prinzipiell kein Problem, die Sache ist nur die: Ich will dieses Skript in meine Page einbauen und mir damit eine Datensicherungsfunktion für die Downloaddateien zur Verfügung stellen. Wenn das ausschließlich für mich währe währs immer noch kein Problem, aber das ist eine Funtion, die mehreren Administartoren zur Verfügung stehen soll, was bedeutet: Ich kann das nicht über den localhost laufen lassen...
  • in: Zip-Datei via PHP auf FTP erstellen

    geschrieben von alphara

    czibere schrieb:
    die eine möglichkeit, die mir so einfällt ist, - vorausgesetzt, du hast einen eigenen server bei dir laufen - du holst per ftp die datei(en) auf deinem server, die zipst du dann genau dort, und schickst sie wieder auf lima wieder per ftp.


    Das geht leider nicht, weil alles bei Lima gehostet ist. Da darf ich ja nicht alles auf den Server laden und Zip-Dateien erstellen scheidet da schon mal direkt aus. Aber danke für deine Hilfe.
  • in: Zip-Datei via PHP auf FTP erstellen

    geschrieben von alphara

    Heiho.

    Ich hab folgendes Problem: Ich habe einige Dateien auf dem Downloadserver von lima. Ich möchte diese mit einem PHP-Script in eine Zip-Datei packen und diese Zip dann auf dem Downloadserver hinterlegen. Das Problem: Die Zip-Klasse von PHP erlaubt mir nicht, die Datei von einem anderen Server zu laden und in die Zip zu packen (gleichzeitig darf ich ja auch keine Zips auf dem Fileserver von lima erstellen). ich muss also das Paket direkt auf dem Downloadserver anlegen und direkt dort die Dateien hinzu fügen mit einem Skript, das vom Fileserver ausgeführt wird. Hat jemand eine Idee, wie man so etwas umsetzt, bzw ein Stichwort nachdem ich googlen kann?

    Danke schonmal für eure Hilfe
  • in: a, ein Buchstabe

    geschrieben von alphara

    Warum fällt mir da spontan der Begriff Massenvernichtungswaffeln ein?
  • in: Besitzrechte

    geschrieben von alphara

    Warum er die Zugriffsrechte so setzt, weiß ich auch nicht, aber mit chmod bekommst du das wieder in den Griff:
    http://www.phpbox.de/php_befehle/chmod.php
  • in: Hintergrundbilder

    geschrieben von alphara

    1. Hast du das Bild mit hochgeladen?
    2. Benutzt du relative oder absolute Pfadangaben zum Bild?
    3. Hast du die Pfadangangaben (falls nötig) angepasst?
    4. Hast du mal probiert den Browserchache zu leeren und die Seite zu aktualisieren?

    Wenn du die Fragen nicht beantworten kannst, währ etwas Quelltext nicht schlecht, weil wir uns das meiste dann selbst raussuchen können...

Login zum Webhosting ohne Werbung!