Beiträge von Afrael

    Was ist bei deiner Tabelle denn der Primärschlüssel? Normalerweise ist es ein Feld `id` vom typ int, das auf auto_increment und primary key gesetzt ist. Der Primärschlüssel dient dazu, jeden Eintrag eindeutig zu identifizieren. Das Feld erhöht sich bei jedem Eintrag selber um eins, es braucht kein Wert über PHP dafür gesetzt zu werden.

    Ad 1: phpBB steht laut Wikipedia unter GPL, welche kommerzielle Nutzung ausdrücklich erlaubt. Es könnte höchstens sein, dass dein Webspace-Anbieter keine Werbung erlaubt, was aber ungewöhnlich wäre.

    Die Spalten ja und nein kannst du thoretisch direkt in ein Feld vom Typ boolean verschmelzen. Hier hast der User ja nur zwei Möglichkeiten. Du nennst die Spalte zum Beispiel wohlergehen. Wenn es ihm gut geht, trägst du eine 1 ein, sonst eine 0.

    Zitat von SinnlosS

    Am einfachsten vielleicht, trotzdem ist davon abzuraten.


    Mein Fehler. Ich ging davon aus, dass nichts schlimmes passieren könnte, wenn er keine Cookies verwendet. Allerdings könnte man da auch noch andere Sachen mit einstellen, wie mir gerade auffällt, zum Beispiel Hits für eine andere Webseite sammeln.


    Wo wir schon dabei sind, von der Ausgabe des SQLs und des SQL-Errors im Klartext ist auch generell abzuraten. Angenommen, der Benutzer schafft es, einen SQL-Error zu erzeugen, in dem auch Javascript vorkommt. Beispiel:

    Du hast ein Feld, das einen Zahlentyp erwartet. Der Benutzer schmuggelt einen String ein (wie, will ich an dieser Stelle nicht ausführen). Dann wirft deine Anwendung einen SQL-Error aus, in dem der eingeschmuggelte String ungefiltert ausgegeben wird.
    Schlußfolgerung: html_entities() auf $sql und mysql_error() anwenden und dann erst ausgeben.

    infügen.

    ICh habe ein paar kleine Probleme, und habe dazu aber auch nirgendst im web tutorials gefunden. UND NEIN, ich möchte kein vorgefertigtes tool verwenden um die umfrage zu erstellen, so lern ich ja nichts dazu.


    Lobenswerte Einstellung ;)

    Code
    <form method=post action="XXX.php"> // Bei action muss ich ja auf eine PHP seite verweisen, aber welche, bzw. was muss ich bei der seite machen auf die ich verweiße?


    In diesem Fall ist es wohl am einfachsten, auf das Script selber zu verweisen, mit <form method=post action="<?php echo $_SERVER['PHP_SELF'];?>">
    Das verweist auf den Namen des Scripts, das du gerade ausführst.

    Code
    foreach ( $_POST['antwort'] as $f)
    echo $f."<br>";


    Ich nehme an, das benutzt du zum Debuggen? Dafür kannst du var_dump($_POST) benutzen ;)

    Code
    if (!mysql_query("INSERT INTO umfrage [COLOR='Red'](`spalte1`,  `spalte2`,`spalte3`)[/COLOR] VALUE[COLOR='Red']S[/COLOR]('wert_in_erste_spalte', 'wert_in_zweite_spalte', 'wert_in_dritte_spalte')"))


    Außerdem das, was thilda sagt, beachten.

    Müsste jetzt so funktionieren. Von Verwendung von Sonderzeichen (ß) in Funktions- oder Variablennamen ist übrigens generell abzuraten, gibt evtl. Probleme.

    Edit: Sorry, hab das ganze an einem anderen Beispiel getestet. Statt 'team1' muss es natürlich 'game' heißen. Und synaptic unter mir hat natürlich recht.

    Evtl auch interessant: Dollar-Funktion.

    Dann kannst du statt document.getElementById einfach $ schreiben.
    Beispiel: $('game').

    Herrje, wirft das denn keinen Syntaxfehler aus?

    So müsste es zumindest syntaktisch stimmen. Ein Tipp für die Zukunft, "klappt irgendwie nicht" ist nie eine gute Problembeschreibung (nicht böse gemeint ;))

    Ich hoffe, das ist das richtige Forum für meine Frage.

    Bei einer Diskussion mit The User hatte ich mir überlegt, dass es sinnvoll wäre, einen Thread zu haben, wo häufige Sicherheitslücken bei der Programmierung von Webseiten aufgegriffen werden (zum Beispiel XSS, register_globals/import_request_variables, SQL Injection...). Haltet ihr das für sinnvoll? Wie könnte man das am besten realisieren? Inwiefern dürfte ich hier zum Beispiel Informationen posten, die als Anleitung fürs Erlernen der Techniken missbraucht werden könnten?

    Ach, jetzt verstehe ich das ganze erst.
    Deine Funktion will zwei Zahlen von dir haben. "40px" ist jedoch eine Zeichenkette. D.h. es wird die Größe von dem Element genommen und versucht, dazu die Zeichenkette "40px" zu addieren, logisch, dass das nicht geht.

    Kurz ausgedrückt, mach das px in
    <a href="javascript:set_groeße ('.$10_width.px.', '.$10_height.px.')">+10%</a><br>
    weg.

    Wo soll denn die $10_width-Variable herkommen? Steckt da ein PHP-Script dahinter, das das HTML erzeugt? Wenn ja, poste das mal bitte.
    Ansonsten überprüf nochmal die Syntax, '.-$10_width.px.' sieht irgendwie falsch aus, ich denke, das Apostroph müsste vor das px.

    Übrigens:

    Code
    document.getElementById ('game').style.width += width;


    macht genau das gleiche wie

    Code
    document.getElementById ('game').style.width = document.getElementById ('game').style.width + width;

    und ist kürzer.

    Du scheinst register_globals zu benutzen, d.h., dass Variablen, die über die URL übergeben werden, direkt in deinem Script eingesetzt werden. Das sollte man niemals nie machen. Jemand könnte über die URL deine internen Variablen überschreiben und somit dein Script ordentlich durcheinanderbringen. Benutz stattdessen
    ini_set("register_globals","Off");
    $meldung=$_GET['meldung'];
    usw.

    Außerdem solltest du genau sowas

    PHP
    if (isset($meldung))
        {
          print "<font color='red'>Fehler: $meldung</font>";
        }

    nicht machen. Informiere dich mal über XSS. Ich schlage vor, dass du jeder Fehlermeldung eine Nummer zuweist und diese über GET-Parameter übergibst. Anschließend pickst du anhand des Errorcodes die Meldung aus einem Array.

    In bestellung.php:

    PHP
    $sql = "DELETE FROM warenkorb";
    mysql_query($sql) or die (mysql_error());

    Du willst doch sicherlich nicht, dass alle Einträge in allen Warenkörben gelöscht werden, oder?
    Außerdem dürfen Feldnamen, meine ich, keine Bindestriche enthalten, nimm lieber Unterstriche.

    Zitat

    "INSERT INTO bestellungen (bestellid,artikelid,kundennummer,anzahl) SELECT artikelid, kundennummer FROM warenkorb WHERE warenkorb.kundennummer=".$_SESSION['nummer']"

    Wie soll das gehen, was auch immer das soll? 8|
    warenkorb.php

    PHP
    $sql = "select name, preis, anzahl from artikel, warenkorb where warenkorb.kundennummer=".$_SESSION['nummer']." AND artikel.id=warenkorb.artikel-id";

    wird, meine ich, so nicht funktionieren. Was du suchst, ist ein INNER JOIN.
    Ich glaube, bis auf ein paar kleine HTML-Details wars das.

    Du speicherst die Anzahl der Downloads ja in einer Datenbank, nehme ich an. Dann musst du aus der Datenbank die Anzahl wieder auslesen lassen und die Links halt nur anzeigen, wenn das Ergebnis kleiner gleich 4 ist. Außerdem musst du in das Download-Script das gleiche einbauen, nämlich dass die Datei dann nicht zum Download angeboten wird (es wird eben kein Content-Disposition-header geschickt). Wenn das Verzeichnis, in dem die Dateien sind, dem User bekannt ist, musst du irgendwie mit .htaccess rumwerkeln bzw einfach ein neues Verzeichnis wählen.