BlackBoard » Design, Programmierung & Entwicklung » Programmieren » PHP funktion wird nicht ausgeführt » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen funktion wird nicht ausgeführt
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
0cool
Junior Member


Dabei seit: 03.02.2005
Beiträge: 169

funktion wird nicht ausgeführt       Zum Anfang der Seite springen

Hey Leute,

ich habe mal wieder ein Problem mit PHP. Die Funktion htmlentities wird nicht ausgeführt. Ich will eine zufällige reinfolge von Zitaten erstellen. In diesen Zitaten soll es egal sein, wenn umlaute verwendet werden. Leider werden die Umlaute nicht als umlaute dargestellt, sondern der HTML code für Umlaute wird angezeigt.

Damit ihr mir ichtig helfen könnt, hier der code smile

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:

<?PHP
$datei "motto.inc";
$temp file($datei);
$max = (count($temp))/2;

for ($i 0$i $max$i++){
  $motto [$i][Zitat] = htmlentities($temp[$i]);
  $motto [$i][Quelle] = htmlentities($temp[$i +1]);
}

//Variablen vergeben
$maxwert count ($motto)-1;
$nr zufall(0$maxwert);
$zitat $motto[$nr][Zitat];
$quelle $motto[$nr][Quelle];
ausgabe ($zitat$quelle);

//Funktion für die zufällige auswahl der Zitate
function zufall ($min$max){
  srand ((double)microtime()*1000000);
  return (rand($min$max));
}


//Ausgabe der Daten


function ausgabe ($zitat$quelle){
  echo "<div align=\"right\">";
  echo "<b>$zitat</b><br>";
  echo "<small><i>$quelle.</i></small>";
  echo "</div>";
  echo "<hr>";
}
?>


Dazu noch die motto.inc

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
Alt wird man wohl, wer aber klug?
Johann Wolfgang von Goethe
Ich habe hier bloß ein Amt und keine Meinung
Friedrich Schiller
Computer sind die Inteligentesten Idioten, die es gibt
Norman Mailer
Politik ist das Paradies zungenfertiger Schwätzer
Georg Bernhard Shaw
Die Welt ist gross genug, das wir alle darin Unrecht haben können!
Arno Schmidt


Danke für eure Hilfe.


Gruß

0cool

__________________
Es gibt keine blöden Fragen, nur blöde Antworten!!!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von 0cool: 21.10.2009 00:08.

16.10.2009 16:00 0cool ist offline E-Mail an 0cool senden Beiträge von 0cool suchen
HeaD HeaD ist männlich
Hoffnungsloser Sozialfall in Behandlung bei Styx


images/avatars/avatar-2266.gif

Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama

      Zum Anfang der Seite springen

Probier es mal mit htmlspecialchars() statt htmlentities()...

Soweit ich weiß ist htmlentities() etwas "radikaler" und wandelt wirklich ALLES in HTML um...

__________________

16.10.2009 16:21 HeaD ist offline E-Mail an HeaD senden Homepage von HeaD Beiträge von HeaD suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

Unabhängig von der Umlautgeschichte: schau dir mal array_rand() an.

__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

16.10.2009 17:09 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
0cool
Junior Member


Dabei seit: 03.02.2005
Beiträge: 169

Themenstarter Thema begonnen von 0cool
PHP funktion wird nicht ausgeführt       Zum Anfang der Seite springen

@HeaD: danke aber es hat nichts gebracht beide Funktionen geben das selbe aus, nämlich die Umlaute als HTML code.

Wie bekomme ich es hin das am ende die Umlaute als Umlaute dargestellt werden?
Muss ich vielleicht dazu meinen lokalen Webserver so einstellen das ich die Dateien *.htm oder *.html nennen kann?

@LX: ich hatte zuerst die ganze geschichte als array laufen aber jetzt wollte ich mal die Variante probieren.


Gruß

0cool

__________________
Es gibt keine blöden Fragen, nur blöde Antworten!!!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von 0cool: 16.10.2009 17:30.

16.10.2009 17:28 0cool ist offline E-Mail an 0cool senden Beiträge von 0cool suchen
HeaD HeaD ist männlich
Hoffnungsloser Sozialfall in Behandlung bei Styx


images/avatars/avatar-2266.gif

Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama

RE: PHP funktion wird nicht ausgeführt       Zum Anfang der Seite springen

Zitat:
Original von 0cool
@LX: ich hatte zuerst die ganze geschichte als array laufen aber jetzt wollte ich mal die Variante probieren.


Öhm, das ist immer noch ein Array !?

__________________

16.10.2009 21:09 HeaD ist offline E-Mail an HeaD senden Homepage von HeaD Beiträge von HeaD suchen
0cool
Junior Member


Dabei seit: 03.02.2005
Beiträge: 169

Themenstarter Thema begonnen von 0cool
PHP funktion wird nicht ausgeführt       Zum Anfang der Seite springen

@LX: Das ist mir schon klar, aber eher wohl ein temporäres array. Ich hatte es davor mit einem array versucht in dem die Zitate mit der Quelle stehen, das hat auch gut geklappt, bloss muss ich dann jedesmal ein neues array anlegen um ein Zitat mit Quelle hinzuzufügen und genau das will ich nicht mehr. Ich findes es einfacher über eine externe Datei die eingelesen wird so nach dem muster wie ich es hier mache.
Aber das ist ja auch geschmack sache und ausserdem war das von dir ja auch nur ein Vorschlag, den ich mir angeschaut habe, aber nicht so gut fand.

Trozdem Danke

0cool

__________________
Es gibt keine blöden Fragen, nur blöde Antworten!!!

16.10.2009 23:34 0cool ist offline E-Mail an 0cool senden Beiträge von 0cool suchen
HeaD HeaD ist männlich
Hoffnungsloser Sozialfall in Behandlung bei Styx


images/avatars/avatar-2266.gif

Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama

      Zum Anfang der Seite springen

Ich weiß nicht ob ich da was falsch verstehe, aber es ist doch egal ob das Array aus einer Datei gefüllt wird oder sonstwo. Es ist letztendlich das selbe, ein Array. Diese Random Funktion funktioniert trotzdem...

Dazu könntest du das Zitat und den Autor in eine Zeile schrieben und mit einem Trennzeichen arbeiten, dann gibt es auch nicht so schnell ein Durcheinander...

Zu dem Problem mit den Umlauten fällt mir im Moment nichts anderes ein als eine Funktion schreiben die diese Zeichen sucht und ersetzt. Dabei habe ich aber noch eine Frage, nämlich wieso Du die Umlaute nicht im HTML Code haben willst?

__________________

16.10.2009 23:53 HeaD ist offline E-Mail an HeaD senden Homepage von HeaD Beiträge von HeaD suchen
0cool
Junior Member


Dabei seit: 03.02.2005
Beiträge: 169

Themenstarter Thema begonnen von 0cool
PHP funktion wird nicht ausgeführt       Zum Anfang der Seite springen

@HeaD: Danke erstmal für deine Hilfe. Zu deiner Frage mit den Umlauten, mir geht es darum das die Umlaute nachher auf der Webseite nicht als HTML code dargestellt werden, so wie es jetzt gerade ist, sondern das die Umlaute auch als Umlaute dargestellt werden sollen.
Also ein ä soll auch als ä dargestellt werden.

bsp.
Im Moment:
code:
1:
2:
3:
Politik ist das Paradies zungenfertiger Schw&auml;tzer

Ziel:
code:
1:
2:
3:
Politik ist das Paradies zungenfertiger Schwätzer


Egal ob ich in der datei "motto.inc" Umlaute oder html code für die Umlaute verwende, es wird immer der html code für die Umlaute ausgegeben.

Genau da liegt mein Problem.
Wie bekomme ich es hin das die Umlaute auch als Umaute angezeigt werden?


Gruß

0cool

__________________
Es gibt keine blöden Fragen, nur blöde Antworten!!!

17.10.2009 01:15 0cool ist offline E-Mail an 0cool senden Beiträge von 0cool suchen
HeaD HeaD ist männlich
Hoffnungsloser Sozialfall in Behandlung bei Styx


images/avatars/avatar-2266.gif

Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama

      Zum Anfang der Seite springen

Mit welchem Browser arbeitest Du denn? Ich hab Dein Script mal getestet und bei mir sind nur im Quellcode die HTML Codes für Umlaute.. Im Browser als Webseite selbst wird alles korrekt angezeigt..

__________________

17.10.2009 01:47 HeaD ist offline E-Mail an HeaD senden Homepage von HeaD Beiträge von HeaD suchen
0cool
Junior Member


Dabei seit: 03.02.2005
Beiträge: 169

Themenstarter Thema begonnen von 0cool
PHP funktion wird nicht ausgeführt       Zum Anfang der Seite springen

@Head: Das ist ja schon mal ein Anfang smile
Ich habe mir die Seite mit 3 Verschiedenen Browsern anzeigen lassen, Firefox 3.5.3, Opera 10.0 und zu guter letzt IE 6.0, doch bei allen drei browser zeigt er mir nur den html code statt den Umlaut oder das "ß".
Was ich auch noch gemacht habe, ich habe mir das script auf 3 verschiedene Webserver ausgeführt und angeschaut, auf diesen Webservern sind die PHP versionen 4.4.7, 4.4.9, 5.1.2 installiert. Das brachte aber auch keinen erfolg.

Woran kann es noch liegen?

Gruß

0c00p

__________________
Es gibt keine blöden Fragen, nur blöde Antworten!!!

17.10.2009 12:24 0cool ist offline E-Mail an 0cool senden Beiträge von 0cool suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

      Zum Anfang der Seite springen

Kannst du uns mal einen Link zu dem Skript auf einem der Webserver geben? Bei mir funktioniert das Skript originalgetreu wie aus dem ersten Beitrag übernommen ebenfalls.

__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

17.10.2009 13:45 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
HeaD HeaD ist männlich
Hoffnungsloser Sozialfall in Behandlung bei Styx


images/avatars/avatar-2266.gif

Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama

      Zum Anfang der Seite springen

Das hier ist jetzt nicht die Lösung zu Deinem Problem, aber ich würd Dir gern zeigen wie klein das Programm mit array_rand() sein kann smile Ist ungetestet, sollte aber funktionieren...

Die PHP Datei:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
<?php
$datei "motto.inc";
$temp file($datei);
    
ausgabe ($temp[array_rand($temp)]);

function ausgabe ($zeile) {
    $zitat explode("µ"$zeile);
    echo "<div align=\"right\">";
    echo "<b>$zitat[0]</b><br>";
    echo "<small><i>$zitat[1].</i></small>";
    echo "</div>";
    echo "<hr>";
}
?>

die motto.inc
code:
1:
2:
3:
4:
5:
Alt wird man wohl, wer aber klug?µJohann Wolfgang von Goethe
Ich habe hier bloß ein Amt und keine MeinungµFriedrich Schiller
Computer sind die Inteligentesten Idioten, die es gibtµNorman Mailer
Politik ist das Paradies zungenfertiger SchwätzerµGeorg Bernhard Shaw
Die Welt ist gross genug, das wir alle darin Unrecht haben können!µArno Schmidt


Dabei kommt dann am Ende das selbe raus smile

__________________

17.10.2009 15:26 HeaD ist offline E-Mail an HeaD senden Homepage von HeaD Beiträge von HeaD suchen
0cool
Junior Member


Dabei seit: 03.02.2005
Beiträge: 169

Themenstarter Thema begonnen von 0cool
PHP funktion wird nicht ausgeführt       Zum Anfang der Seite springen

@HeaD: Vielen Dank das werde ich mal ausprobieren.

@LX: Der link zu dem Script: hier
Das kommische ist das das Script auf deinem Webserver auch bei mir funktioniert. smile

[edit]
@LX: ich habe den fehler gefunden, es lag an meinem Editor an den Einstellungen. Ich benütze den Editor Phase5 un dieses Programm wandelt mit den Grundeinstellungen von Projekten Umlaute in HTML code automatisch um. Als ich diese Einstellung deaktivierte und die motto.inc wieder berichtigte, funktionierte es plötzlich.
[/edit]

Danke für eure Hilfe

0cool

__________________
Es gibt keine blöden Fragen, nur blöde Antworten!!!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von 0cool: 18.10.2009 01:58.

17.10.2009 17:16 0cool ist offline E-Mail an 0cool senden Beiträge von 0cool suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » PHP funktion wird nicht ausgeführt

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH