Beiträge von Cujo
-
-
Wenn ich das richtig verstehe, müssten die Webmaster dann selbst eine Tabelle in einer MySQL-Datenbank anlegen, die Fragen hochladen und dann das Skript einbinden.
Mir wäre es aber lieber, wenn der Zugriff über meine Datenbank erfolgen würde und die Webmaster nur einen kleinen Code einbinden müssten. Das geht wohl nur mit Javascript, oder?
-
lies dir die fehlermeldung durch die sagt doch alles!
nimm nicht den absoluten pfad sondern einen relativenJa, daran lag's. Danke für den Tipp.
Allerdings ergibt sich dadurch dann ein neues Problem. Ich würde nämlich gerne anderen Webmastern die Möglichkeit bieten, dieses PHP-Script bei sich einzubinden (ähnlich wie bei "Das Zitat des Tages"). Das funktioniert allerdings nur, wenn ich es absolut einbinden kann. Oder würde ich sowas besser mit Javascript machen?
Ich mach es eben schnell udn schmerzlos:
Deine datei darf nicht .html heißen sonder "muss" .php heißen
Nee, damit hatte es nichts zu tun. Ich habe "AddHandler application/x-httpd-php .html" in meiner .htaccess drin, also funktioniert es auch mit .html.
-
So, ich habe es geschafft, das Script fertigzustellen. Mit Antwort und Javascript. Ich kopiere es hier nochmal rein. Für zukünftige Generationen
PHP
Alles anzeigen<?php @mysql_connect("Mein Host", " Mein Benutzername", "Mein Passwort") or die ("Fehler beim Connect"); @mysql_select_db("Meine Datenbank") or die ("Datenbank nicht vorhanden"); function resetDate() { $query = "Update scherzfrage set datum='0000-00-00'"; mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); } function getQuestion(&$id, &$question, &$antwort) { $result = false; // Frage des Tages schon mal ermittelt? $query = "Select id, question, antwort from scherzfrage where datum=curdate()"; $result = mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); if (mysql_num_rows($result)) { $row = mysql_fetch_array($result); $id = $row['id']; $question = $row['question']; $antwort = $row['antwort']; $result = true; } else { // Es wurde noch keine Frage des Tages ermittelt $query = "Select id, question, antwort from scherzfrage where datum='0000-00-00' order by rand()"; $result = mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); if (mysql_num_rows($result)) { $row = mysql_fetch_array($result); $id = $row['id']; $question = $row['question']; $antwort = $row['antwort']; // Die Frage haben wir, jetzt Datum aktualisieren $query = "Update scherzfrage set datum=curdate() where id = $id"; mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); $result = true; } else { // Alle Fragen durch, Datum resetten resetDate(); $result = getQuestion($id, $question, $antwort); } } return $result; } $result = getQuestion($id, $question, $antwort); if ($result === true) { echo "$question "; echo "<img style=\"width: 78px; height: 33px;\" onclick=\"alert('$antwort')\" alt=\"Lösung\" src=\"buttons/raetsel-loesung.png\">"; } else echo "Mist, da ist was schiefgelaufen."; ?>Edit: Aaargggh, es gibt doch noch ein Problem
Wenn ich das Skript einfach so als Datei aufrufe, funktioniert es einwandfrei. Wenn ich es aber mitin einer html-Datei aufrufe, gibt es folgende Fehlermeldungen:
Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/www/test.html on line 36
Warning: include(http://test.raetselstunde.de/scherzfrage-des-tages.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/www/test.html on line 36
Warning: include() [function.include]: Failed opening 'http://www.raetselstunde.de/frage.php' for inclusion (include_path='.:/usr/share/php') in /home/www/test.html on line 36
Woran liegt denn das jetzt schon wieder? Fehlen mir da irgendwelche Rechte?
-
Ich weiß nicht genau wieso und warum, aber auf jeden Fall sind jetzt die 992 Datensätze in der Tabelle drin

Aber beim Frage-ermitteln-Script gibt es leider auch wieder eine Fehlermeldung:
Parse error: syntax error, unexpected '[' in /home/www/frage.php on line 34
Hier ist nochmal der Code:
PHP
Alles anzeigen<?php function resetDate() { $query = "Update scherzfrage set datum='0000-00-00'"; mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); } function getQuestion(&$id, &$question) { $result = false; // Frage des Tages schon mal ermittelt? $query = "Select id, question from scherzfrage where datum=curdate()"; $result = mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); if (mysql_num_rows($result)) { $row = mysql_fetch_array($result); $id = row['id']; $question = row['frage']; $result = true; } else { // Es wurde noch keine Frage des Tages ermittelt $query = "Select id, question from scherzfrage where datum='0000-00-00' order by rand()"; $result = mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); if (mysql_num_rows($result)) { $row = mysql_fetch_array($result); $id = row['id']; $question = row['frage']; // Die Frage haben wir, jetzt Datum aktualisieren $query = "Update scherzfrage set datum=curdate() where id = $id"; mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); $result = true; } else { // Alle Fragen durch, Datum resetten resetDate(); $result = getQuestion($id, $question); } } return $result; } $result = getQuestion($id, $question); if ($result === true) echo "Id = $id, Frage = $question"; else echo "Mist, da ist was schiefgelaufen."; ?>Kannst du bitte nochmal drübergucken?Den Feldnamen in der Tabelle habe ich von "frage" auf "question" geändert.
Edit: So, ich habe den Fehler gefunden. Bei "row" hat an manchen Stellen das "$" davor gefehlt. Ich versuche, das jetzt mit der Antwort hinzukriegen.
Vielen Dank, Bandit. Du hast mir sehr geholfen

Nochmal Edit: So, ich bin noch einen Schritt weiter. Die passende Antwort habe ich jetzt auch. Jetzt hätte ich gerne noch ein bisschen Javascript eingebunden:
Codeecho '<script type="text/javascript"><img style="width: 78px; height: 33px;" onclick="alert('$antwort')" alt="Lösung" src="buttons/raetsel-loesung.png" /></script>';Die Antwort soll durch ein Klick auf einen Button per Alert angezeigt werden. Wenn ich das einbinde, gibt es aber folgende Fehlermeldung:
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/www/frage.php on line 97
Wahrscheinlich habe ich die Einbindung völlig falsch gemacht. Kann sich das bitte nochmal jemand angucken?
-
Nee, gab immer noch keine Fehlermeldung. Hier ist das Script:
PHP
Alles anzeigen<?php error_reporting(E_ALL); ini_set("display_errors", true); $fp = @fopen ("scherzfragen.csv","r"); if ($fp) { @mysql_connect("host", "name", "passwort") or die ("Fehler beim Connect"); @mysql_select_db("datenbank") or die ("Datenbank nicht vorhanden"); while (($data = fgetcsv ($fp, 992, ";")) !== FALSE) { $query = "Insert into scherzfrage set frage = '" . mysql_real_escape_string($data[0]) . "', antwort = '" . mysql_real_escape_string($data[1]) . "'"; mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); } fclose ($fp); } else die ("Fehler beim Oeffnen der CSV-Datei"); ?>Die Felder "host", "name", "passwort" und "datenbank" sind natürlich sinnvoll gefüllt. Die csv-Datei heißt "scherzfragen.csv", die Tabelle "scherzfrage". Die Anzahl habe ich auf 992 geändert, da es nur 496 sind

-
$handle ist falsch, versuche es mal mit $fp
Jetzt passiert gar nix. Es gibt keine Ausgabe und die Tabelle bleibt leer.
-
Da ich nicht wusste, wo ich diese Zeilen eingeben muss, habe ich die Tabelle von Hand angelegt. Hat auch einwandfrei funktioniert. Der nachher angezeigte Code sah so aus wie deiner.
Einlesen der CSV
PHP
Alles anzeigenwhile (($data = fgetcsv ($handle, 1000, ",")) !== FALSE) { $query = "Insert into tabelle set frage = '" . mysql_real_escape_string($data[0]) . "', antwort = '" . mysql_real_escape_string($data[1]) . "'"; mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); } fclose ($fp); } else die ("Fehler beim Oeffnen der CSV-Datei");Mit der while-Schleife stimmt was nicht. Sie wird nicht verlassen. Es erscheinen tausende von Zeilen mit dieser Warnung:
Warning: fgetcsv() expects parameter 1 to be resource, null given in /home/www/tabelle.php on line 13
Ich habe dann nach einer Minute abgebrochen. Da waren dann 200.000 Einträge in der Tabelle

Zuerst dachte ich, es läge daran, dass in der csv-Datei als Trennzeichen ";" und nicht "," eingestellt ist. Aber die entsprechende Änderung im Code hat nicht geholfen.
Kann sich bitte nochmal jemand den Code angucken?
-
Ich wusste halt nicht, dass es möglich ist, eine Datenbank für mehrere Anwendungen zu benutzen. Jetzt, da ich das weiß, würde ich natürlich gerne die MySQL-Datenbank verwenden.
-
Zitat
2 MySQL-Datenbanken, die ich aber für andere Zwecke benötige.
Du wirst doch wohl eine Tabelle in einer der Datenbanken dafür anlegen können.
Die eine MySQL-Datenbank benutze ich für Wordpress und die andere ist reserviert für ein CMS, das ich demnächst verwenden will.
Sorry, ich kenne mich mit SQL überhaupt nicht aus. Kann ich eine MySQL-Datenbank für mehrere Anwendungen verwenden?
-
beantwortet mir aber jetzt nicht die frage wies später sein soll.
- hast du php zur verfügung ?
- hast du ne datenbank zur verfügung ?Ich habe PHP5 und 2 MySQL-Datenbanken, die ich aber für andere Zwecke benötige. Deswegen wäre es mir lieber, wenn es ohne SQL-Datenbank funktionieren würde.
-
das skript sollte keine große sache sein.
interessant wäre es, ob du als datenhaltung ne
datenbank hast oder ne textdatei ?Im Moment stehen die Scherzfragen in einer Excel-Datei. In Spalte A stehen die Fragen, in Spalte B die Antworten.
-
Hallo,
es gibt doch solche Angebote wie "Zitat des Tages", "Witz des Tages" usw. Ich hätte nun gerne auf meiner Seite eine "Scherzfrage des Tages". Ich habe ungefähr 500 Scherzfragen, davon soll pro Tag eine zufällig ausgewählt und angezeigt werden.
Weiß jemand, ob es für so etwas ein fertiges Script gibt? Ich habe auf verschiedenen PHP-Script-Seiten gesucht, aber nix gefunden.
-
Trage das hier bei head ein:
<meta name="description" content="Meine Homepagebeschreibung." />
Am besten beschränkst du dich auf ungefähr 170 Zeichen, denn mehr zeigt Google nicht an.
-
Zitat
Im großen und ganzen finde ich die Seite schön.
Mein persönlichen Kritikpunkte sind:
die dunkle Leiste oben... wo "Profil anlegen oder Login" drin steht. die ganze Leiste passt nicht ins Gesammtbild finde ich.Das ist die Leiste der sixgroups-Community. Kann ich leider nicht verändern. Ich könnte sie höchstens weglassen, aber dann gäbe es keine Rätselstundencommunity mehr.
ZitatDas selbe gilt für roten den Text: Neu ! Ab sofort gibt es ein Quiz mit verschiedenen Themen...
Ja, gut, da hast du recht. Werde mal gucken, ob ich da eine bessere Farbe finde.
ZitatDie Überschriften ["Über 1000 Rätsel" und "Herzlich willkommen..." ] sind zu groß.. ich würde h1 und h2 kleiner machen.
Habe ich aus SEO-Gründen so gemacht. Google mag große Überschriften

Edit: So, ich habe die Startseite jetzt nochmal überarbeitet. Ich nehme an, du verwendest den IE. Beim FF sahen die h1 und h2-Überschriften nämlich ganz gut aus. Beim IE waren sie dagegen viel zu groß. Danke für den Hinweis.
-
Ich habe mich für das Gästebuch von onlyfree.de entschieden. Sieht jetzt sehr gut aus, finde ich:
http://www.raetselstunde.de/gaestebuch.html
Ist übrigens nicht richtig, dass sich http://www.guestbook-free.com/ nicht in die Homepage integrieren läßt. Ich wusste nur nicht, wie es funktioniert.
-
Die Links im Content könnten ne andere Farbe vertragen, die heben sich momenten leicht unangenehm ab und sind trotzdem nicht so gut zu lesen.
Ja, ich rede mal mit der Designerin. Mit den Linkfarben bin ich selbst auch nicht so glücklich.
Hat vielleicht jemand eine Idee, welche Linkfarben man nehmen könnte?
ZitatIm Internet Explorer 6 wird die Seite fehlerhaft dargestellt.
Danke für den Hinweis. Da stand ein <p> anstatt von </p>. Ich hab's korrigiert.
-
Find das Design schön, auch die Navigation ist übersichtlich !
Super so.
Das Lob für das Design habe ich an die Designerin weitergeleitet. Und die Navigation wurde zwischenzeitlich sogar noch ein wenig übersichtlicher gemacht
-
Die Homepage http://www.raetselstunde.de erstrahlt in neuem Glanz. Mit einem neuen, sehr modernen Layout erfreut sie nicht nur wie bisher die Herzen aller Rätselfreunde, sondern auch deren Augen. Außerdem gibt es zukünftig noch mehr Rätsel als bisher:
- Geräuschrätsel: Erkennen Sie das geheimnisvolle Geräusch?
- Bilderrätsel: Liebevoll erstellt
- Original + Fälschung: Finden Sie die Fehler, die der Fälscher gemacht hat?
- Neue Fotorätsel uvm.Ich würde mich über eine Neubewertung freuen

-
Ich habe es ausprobiert, aber soweit ich gesehen habe, läßt es sich nicht in die eigene Homepage integrieren, d. h. wer sich ins Gästebuch eintragen will, muss die Seite verlassen.