Beiträge von spinball

    So wie ich das nachvollziehen kann, hast du einen großen Strukturfehler: Die Variablen $id_new, $name_new, $inhalt_new und $comment_new kriegen beim zweiten Aufruf der Seite die Inhalte des untersten Eintrags aus der Liste. Du überschreibst sie nämlich bei jedem Schleifendurchlauf immer - und immer wieder. Ist das Absicht? :confused:

    Folgender Denkansatz möge dich auf die richige Bahn führen: Die oben genannten Variablen brauchst du in der zweiten Schleife! Dort musst du die korrigierten Gästebucheinträge aus $_POST auslesen. Nicht in der While-Schleife.

    Und die zweite Abfrage sollte so aussehen:

    PHP
    $eintrag = "UPDATE Tabelle SET name='$name_new', inhalt='$inhalt_new', comment='$comment_new' WHERE id='$id_new'";

    Ich gehe hierbei davon aus, dass die Spalte id der sich selbst automatisch erhöhender Primärschlüssel ist. Den solltest du also nicht verändern, sondern als Filterbedingung in der WHERE-Klausel benutzen.

    Viel Erfolg mit deinem Gästebuch wünscht dir DJ spinball!

    Es gibt keine vordefinierte Funktion dafür. Du musst also jede Zahl in deinem Array einzeln nacheinander durch eine Zufallszahl ersetzen.

    Zufallszahlen erstellt man in Javascript mit dem Befehl Math.random(). Du erhältst eine Zahl von 0 bis 1 als Bruch und kannst sie dann bequem in eine Größenordnung deiner Wahl multiplizieren. Sortieren macht man mit (array).sort() also in deinem Fall Zahlenfeld.sort()

    Alter! Wenn wir gerade beim Hirnwichsen sind: Falls du die Funktion header nur zur Weiterleitung benutzt, dann programmier doch eine eigene Version:

    PHP
    function location($path) {
    	header("Location: $path");
    	exit();
    }

    Und wer logische Verknüpfungen zu Gebrauchen weiss, macht dann folgendes:

    PHP
    $var1 and location("1.html"); // entspricht if
    
    
    $var2 ? location("2.html") : location("3.html"); // entspricht if und else

    Das ist Hardcore.

    Du brauchst Tutorials. Hast du dich bereits für eine Programmiersprache entschieden?

    Drei in diesem Forum beliebte Sprachen:

    http://de.wikibooks.org/wiki/Python einfach zu erlernen, führt dich schnell zu deinem Ziel
    http://de.wikibooks.org/wiki/C-Programmierung schwieriger, aber pädagogisch wertvoller für größere Aufgaben
    http://de.wikibooks.org/wiki/Java_Standard wird an der Universität am häufigsten verwendet und in vielen Lehrveranstaltungen gebraucht

    Mit allen drei Sprachen kann man so ein Spiel hinkriegen. Du solltest eine der drei wählen, da weil sie in diesem Forum viele beherrschen, dir auch viele Leute helfen können.

    Weitere bekannte Programmiersprachen:

    http://de.wikipedia.org/wiki/Liste_der_Programmiersprachen

    Guten Tag.

    Sobald der Benutzer über das Formular eine Datei hochladen darf, ist die Seite bereits komplett generiert worden. Mit PHP kannst du das Problem also nicht lösen. Da muss client-seitig gearbeitet werden. Du könntest zB das Formular in ein unsichtbares (i)Frame oder gar ein ganz neues Fenster verweisen o.ä.

    PHP
    <iframe name="ich_seh_ich_seh_was_du_nicht_siehst"></iframe>
    <form action="upload.php" target="ich_seh_ich_seh_was_du_nicht_siehst">

    Die erste Methode, die mir einfällt: Mit einem Texterkennungsprogramm sämtliche Wörter aus den Bildern extrahieren und in einer Textdatei abspeichern. Die Textdatei kannst du dann mit einem beliebigen Textverarbeitungsprogramm primitiv durchsuchen.

    Die bessere Methode: Eine Datenbank anlegen. Jeder Datensatz enthält das eingescannte Bild, den mit einem Texterkennungsprogramm extrahierten Reintext und optional die Seitennummer, falls du die originalen Dokumente kreuzreferenzieren möchtest. Moderne Datenbanken bieten weitaus bessere Suchmöglichkeiten, als reine Textverarbeitungsprogramme. Allerdings ist diese Methode auch zeitaufwendiger, lieber outoftime.

    Ojeojeoje jetzt kommen gleich die Prediger! :rofl2:

    Wenn du nur einen Einblick ins Programmieren möchtest, ist eine Sprache, die an kein Dogma gebunden ist, ideal. Informatiker spalten sich nämlich gerne in quasipolitische Lager wenn es darum geht einen Denkansatz für sämtliche Promlemstellungen als Optimum zu definieren. Hal hat ganz Recht! Deswegen empfehle ich dir eine agile Sprache, wie zB Python. Die ist wirklich sehr schnell zu erlernen und ist nicht an eines der Lager gebunden.

    Jetzt muss ich aber weg. Die Meute der pseudoreligiösen Paradigmen ist hinter mir her!

    Wenn dein PHP-Programm fertig ist und die generierte Seite in HTML an den Benutzer geschickt wurde, hat er sie im Cache. Du hast keinen direkten Zugriff darauf, ob der Zielcomputer sich die Seite cached oder nicht. Mit HTML-Meta-Tags kannst du ihn darum bitten, aber nicht zwingen.

    Ansonsten könntest du jedem Benutzer eine Boolsche-Variable zuweisen, die speichert, ob er sein Passwort bereits gesehen hat. Nach erfolgreicher Registrierung wird das Passwort nur angezeigt, falls die Variable false ist. Und danach setzt du sie auf true. So stellst du sicher, dass dein Programm das Passwort nur einmal ausgibt, und bei späteren Aufrufen mit gleichen Parametern nie wieder. Aber das schützt nicht davor, falls der Benutzer die Seite lokal gespeichert hat.

    Und ein letzter Tipp noch: Anstatt 3749837498 Tabellen gleicher Struktur mit Antworten zu haben, solltest du besser eine Einzige anlegen, welche die Kategorie in einer extra Spalte speichert. Dann brauchst du nicht Benutzeranzahl * Antwortanzahl SQL-Abfragen, sondern mit feinen Joins nur zwei. Ich empfehle die LVA Datenmodellierung.

    Ups, mein Fehler. Dynamische Typisierung ist böse! Wegen der Anführungszeichen dachte ich erst, du willst Strings. Nimm sie doch bitte weg, wenn du Zahlen willst.

    Dein Programm funktioniert nicht, da mysql_fetch_array/assoc/row konsumierend ist. Beim ersten Schleifendurchlauf werden die IDs herausgesaugt und sind beim zweiten Mal leer. Deswegen wird die zweite Schleife kein einziges Mal ausgeführt.

    Du solltest die IDs am Anfang des Programmes gleich in ein Array zwischenspeichern. Oder du fügst es als SQL-Unterabfrage direkt ein.

    PHP
    $i=0;
    
    
    for ($i=0; $i<$x; $i++) {
    
    
        $tname=$test['$i'];

    Die erste Zeile ist überflüssig. Und das Array $test hat keine Werte an den Stellen $i. Es gibt zwei Möglichkeiten, das Problem zu lösen:

    1) Du benutzt Foreach. Foreach ist die empfohlene und fast immer die effizienteste Schleifenanweisung für Arrays.

    2) Du realisierst, dass man Variablen in SQL-Abfragen auch in den Tabellennamen schreiben kann:

    PHP
    for($i = 0; $i < $x; $i++) {
        $fraternity = mysql_query("SELECT * FROM antworten$i WHERE meine mudda = deine mudda");
    }

    Und schon kannst du Switch in die Tonne kloppen. Wundertastisch.