Seite 6 von 15 ErsteErste ... 2345678910 ... LetzteLetzte
Ergebnis 101 bis 120 von 288

Thema: Allgemeiner Fragenthread II

  1. #101
    Hui, heut will ich auch mal eine frage stellen.


    Ich werd hier noch bekloppt, ich verstehe einfach nicht warum mir der http://validator.w3.org/ kein richtiges UTF-8 Encoding ausgibt.

    Bekomme immer diese Meldung:
    Zitat Zitat
    The character encoding specified in the HTTP header (iso-8859-1) is different from the value in the XML declaration (utf-8). I will use the value from the HTTP header (iso-8859-1).
    So und hier der Quelltext:

    HTML-Code:
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    	<title>{title}</title>
    	<link rel="stylesheet" type="text/css" href="firmen/{firma}/style/style.css" />
    </head>
    <body>
    	<div id="head">
    		<div id="headTwo">
    			<h1>{title}</h1>
    			<h2>wushu</h2>
    		</div>
    	</div>
    	<ul id="navi">
    		<li><a href="?page=0">Start</a></li>
    	</ul>
    	<div id="content">
    		{content}
    	</div>
    </body>
    </html>
    Koennt ihr mir da weiterhelfen? Werd hier bald kirre.

    gruss deadshox

  2. #102
    Steht ja eh schon in der Meldung: im HTTP-Header wird statt utf-8 iso-8859-1 als Encoding angegeben.
    Das ist leider immer ein ziemliches Problem, hängt nicht an der HTML-Datei sondern am Server. Als Ausweg gibt es zwei Möglichkeiten:
    Entweder du darfst vom Anbieter aus .htaccess-Dateien erstellen (und der Server verwendet Apache), dann kannst du dort einstellen, dass HTML-Dateien allgemein, oder die Datei im Speziellen, als utf-8 ausgeliefert werden sollen.
    Oder du darfst PHP-Dateien verwenden, dann könntest du eine erstellen, die zuerst header('Content-Type: text/html; charset: utf-8'); aufruft und dann die jeweilige Datei ausgibt, was allerdings ein Performanceverlust wäre.

    In die .htaccess-Datei müsste folgendes:
    Code:
    AddCharset utf-8 .html
    
    # Oder, für bestimmte Files mit utf-8:
    <Files "example.html">
    AddCharset utf-8 .html
    </Files>

  3. #103
    Nebenbei, wenn du utf-8 verwendest ist die XML-Deklaration optional. Und du solltest sie auch weglassen, da sie nur schädlich ist.

  4. #104
    Hallo !
    Ich stehe vor folgendem Problem:
    Ich möchte gern ein PN Script (Ohne PN Anzeige) kreieren, dafür allerdigns nur eine einzige Datei verwenden.
    Das heißt, dass sowohl der DB-Eintrag, also auch die Anzeige des Formulars in eine Datei gebracht werden müssen.
    Soweit kein Problem, ich benutze ein verstecktes Inputfeld, in welchem eine bestimmter Wert übergeben wird.
    Beim Absenden der Nachricht wird überprüft, ob der genannte Wert vorhanden ist, und sofern er es ist, führt die Datei den Eintrag-Part durch; ist er es nicht, wird das Formular angezeigt.
    Nur ist mein Problem, was wohl auch ein albekanntes darstellt, dass man nach dem erfolgreichen Eintrag F5 drückt und ein zweiter Eintrag durchgeführt werden kann, was ich gerne verhinden möchte.
    Eigentlich wäre das auch kein Problem, da ich wieder die Methode des versteckten Inputfeldes verwenden könnte, was sonst auch immer geklappt hat.
    Nun habe ich allerdings die Schwierigkeit, dass der Script sich eben in einer Datei befindet, demnach werden also 2 solcher Inputs verwendet, was logischerweise das Überprüfen per if unmöglich macht.

    Zum Verständnis nochmal der Code (ohne F5 Sicherheit)

    PHP-Code:
    <?php

    $empf 
    $username;
    $rec $_POST["rec"];
    $subj $_POST["subj"];
    $titel $_POST["titel"];
    $pnon $_POST["pnon"];


    $time time();


    if (
    $from == "da")
    {
    $eintrag "INSERT INTO user_pn
             (sender, receiver, message, time, titel)
             VALUES
             ('
    $username', '$rec', '$subj', '$time', '$titel')";

             
    $eintragen mysql_query($eintrag);

    $send "yes";
    }
    else
    {
    echo
    "

    <form action='?content=newpn' method='post'>
    <br />
    <div style='margin: 5px;'>
    <br />
    <input type='hidden' name='form' value='da' />

    <!-- Formulardaten -->

    </form>"
    ;
    }

    ?>

  5. #105
    Entweder du machst eine Zeitsperre über die Session rein oder Aktions-IDs.

    Im ersten Fall speicherst du beim Absenden des Formulars den aktuellen Timestamp in der Session ab und überprüfst den halt:
    PHP-Code:
    <?php
    if($_SESSION['pm_time'] < time() - 60)
    {
      
    // Versende die PM

      
    $_SESSION['pm_time'] = time();
    }
    else
    {
      
    // Warten...
    }
    ?>
    Im anderen Fall generierst du eine ID, wenn das Formular angezeigt wird, der dann mit dem Formular verschickt wird. Mithilfe von diesem Wert kannst du dann überprüfen, ob das Formular bereits abgeschickt wurde:
    PHP-Code:
    <?php
    if(...)
    {
      if(!
    $_SESSION['action_id'])
      {
        
    $_SESSION['action_id'] = uniqid('pm_'true);
      }

      
    // Dein Formular mit der ID
      
    echo '<input type="hidden" name="action_id" value="'.$_SESSION['action_id'].'">';
    }
    else
    {
      if(
    $_POST['action_id'] && $_SESSION['action_id'] == $_POST['action_id'])
      {
        
    // Alles OK

        
    unset($_SESSION['action_id']);
      }
      else
      {
        
    // Schon abgeschickt
      
    }
    }
    ?>
    Ich hoffe das hilft dir weiter...

  6. #106
    Danke für die Hilfe, nur ist das Problem leider sie Session an sich.
    Denn, die Zeitspanne einer Session dauert meistens länger als 5 Minuten, allerdings handelt es sich hierbei ja um ein PN System.
    Man soll nicht per F5 diesselbe Nachricht abschicken können, andererseits, soll man aber auch anschließend andere Nachrichten schreiben können.
    Wenn ich allerdigns Sessions verwende, so muss man einige Zeit warten, bevor man eine weitere Nachricht schreiben kann.

  7. #107
    Zitat Zitat von Antares Beitrag anzeigen
    Danke für die Hilfe, nur ist das Problem leider sie Session an sich.
    Denn, die Zeitspanne einer Session dauert meistens länger als 5 Minuten, allerdings handelt es sich hierbei ja um ein PN System.
    Man soll nicht per F5 diesselbe Nachricht abschicken können, andererseits, soll man aber auch anschließend andere Nachrichten schreiben können.
    Wenn ich allerdigns Sessions verwende, so muss man einige Zeit warten, bevor man eine weitere Nachricht schreiben kann.
    Muss man zumindest bei der zweiten Möglichkeit nicht. Da muss man lediglich die Seite mit dem Formular ein weiteres Mal aufrufen. Und bei der ersten Möglichkeit sind es auch keine 5 Minuten sondern eine einstellbare Zeitspanne, zum Beispiel 20 Sekunden...

  8. #108
    Da du die Daten in eine Datenbank speicherst, kannst du auch einfach überprüfen, ob eine PN mit exakt dem selben Text an diesen Empfänger schon in der Datenbank existiert. Denn die Methode mit der action_id hätte z.B. zum Nachteil, dass man nicht mit "Zurück" wieder zum Formular kommen, alle Felder löschen, neu eintragen und erneut abschicken kann, auch wenn diese neue PN vielleicht eine vollkommen andere ist.

  9. #109
    Zitat Zitat von dead_orc Beitrag anzeigen
    Da du die Daten in eine Datenbank speicherst, kannst du auch einfach überprüfen, ob eine PN mit exakt dem selben Text an diesen Empfänger schon in der Datenbank existiert. Denn die Methode mit der action_id hätte z.B. zum Nachteil, dass man nicht mit "Zurück" wieder zum Formular kommen, alle Felder löschen, neu eintragen und erneut abschicken kann, auch wenn diese neue PN vielleicht eine vollkommen andere ist.
    Deine hat den Nachteil, dass man eine PN nicht zwei Mal versenden kann. Und das könnte ja durchaus gewünscht sein

  10. #110
    Zitat Zitat von Manni Beitrag anzeigen
    Deine hat den Nachteil, dass man eine PN nicht zwei Mal versenden kann. Und das könnte ja durchaus gewünscht sein
    if($row['sendtime'] > time()-300)
    *shrug*
    So macht es das Forum auch mit identischen Beiträgen...

  11. #111

    Antwort/Vorschaubutton

    Für mein kleines Forumsystem brauche ich wie hier im Forum nach dem "Beitrag verfassen" einen Antworten und einen Vorschau-Button. Wie kann ich das in einem Forum übertragen, das man mit den verschiedenen Button's zb. unterschiedliche Argumente überliefert, damit ich darunter unterscheiden kann.

    Wie löst man das am Besten?

  12. #112
    Wenn du meinst, was ich meine dass du meinst, musst du den Buttons einfach nur Namen (übers name-Attribut) geben. Dann kannst du im Skript, dass den Formularinhalt bekommt, überprüfen, ob $_POST['abschicken'] oder $_POST['vorschau'] gesetzt ist (wobei "abschicken" und "vorschau" dann die jeweiligen name-Attribute wären).
    Ich glaube, irgendwelche Browser-spezifischen Besonderheiten gab's da evtl. auch noch, aber das müsstest du wo nachschauen.

  13. #113
    Ja, du musst dazu input-Elementy vom Typ „submit“ mit verschiednenen name-Werten erstellen (so wird es auch hier im Forum gehandhabt).

    button-Elemente, mit denen die Sache theoretisch einfacher wird sind problematisch weil diese im Internet Explorer bis Version 7 (und darüberhinaus in allen nicht-standardkonformen-Modi) fehlerhaft implementiert sind. Der IE versendet den Inhalt des bzw. der button-Elemente statt dem Inhalt des value-Attributs.

  14. #114
    Kommt n bissel Spaet aber danke fuer die Hilfe letztes mal.


    Dann will ich gleich mal das naechste erfragen, is jetz n bissel was theoretisches.

    Thema: MySQL Verbindungen + Performance, Traffic und Rechenaufwand.

    Also ich habe ein Script "sA", womit ich auf andere kleine Scripte "sB,sC,sD ..." zugreifen kann. "sA" Braucht keinen MySQL Zugriff aber "sB,sC,sD ...", empfiehlt es sich jetzt einmal eine MySQL Verbindung in "sA" aufzubauen, es die ganze Zeit laufen zulassen (obwohl es nicht die ganze Zeit genutzt wird) und am ende wieder zu schließen oder fuer "sB,sC,sD ..." eine Verbindung aufzubauen und sie dann wieder zuschließen wenn es durchgelaufen ist?

    Vlt noch mal direkter gefragt, habe ich mehr von wenn ich einmal eine MySQL Verbindung starte und sie die ganze zeit laufen lasse und am ende schließe oder wenn ich sie nur bei gebrauch starte und beende?


    mfg deadshox

  15. #115
    Du hast eindeutig mehr, davon wenn die Verbindung offen bleibt.

    Es epfiehlt sich meist sich eine kleine Classe zu schreiben, bzw. die mysqli-Classe zuverwenden und das Object dann immer wieder abzurufen.

  16. #116
    Die Klasse habe ich ja, ging mir nur darum ob es besser ist sie Offen zulassen oder sie immer wieder auf und zu zu machen.

  17. #117
    Weil es in HTML Strict nicht erlaubt ist.

  18. #118
    Stimmt, jetzt hab ich's auch gesehen. Kann ich das Problem (mit einem alternativen Tag) lösen?

  19. #119
    HTML-Code:
    <span style="text-decoration:underline;">...</span>

  20. #120
    Zitat Zitat von Xardas der Dunkle Beitrag anzeigen
    HTML-Code:
    <span style="text-decoration:underline;">...</span>
    Naja, so ja immer.

    Warum wurde es eigentlich als missbilligt eingestuft? Verstehe ich bei diesem Element wirklich nicht.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •