Beiträge von m.scatello

    der Code von mir

    Code
    $rein=substr($row['inhalt'], strrpos(substr($row['inhalt'], 0, stripos($row['inhalt'], $a3)), " "), 200).'<br>';

    besagt doch ,gehe 0 Zeichen vom gefundenen Suchwort zurück und 200 nach vorne ,richtig ?

    Den hast du doch bestimmt irgendwo her kopiert, denn sonst wüsstest du es ja.

    Und wenn du dieses zusammengesetzte Chaos in einzelne Teile zerlegst, findest du auch die Textteile, die Farblich markiert werden sollen, ohne auf Groß/Kleinschreibung zu achten.

    Dies stimmt so nicht. Wenn nun ein User nur die E-Mail angibt und den rest nicht. Dann hat man 2 mal eine Warnung oder Notiz mit Undefined Index nachdem Formular absenden.

    Diese Aussage ist falsch, teste selber

    Code
    $email;$anmerkung;$captcha;$anrede;$vorname;

    Was soll bitte das sein? Wenn du initialisierst, dann so:

    Code
    $email = $anmerkung = $captcha = $anrede = $vorname = '';
    Code
    if(isset($_POST['email'])){
    $email=$_POST['email'];
    }
    
    if(isset($_POST['anmerkung'])){
    $anmerkung=$_POST['anmerkung'];
    }
    if(isset($_POST['Anrede'])){
    $anrede=$_POST['Anrede'];
    }

    Das kannst du dir leichter machen, denn wenn ein Formular gesendet wird, sind alle Felder, egal ob leer oder nicht, gesetzt. Ausnahme bilden dabei Radiobutton und Checkboxen. Deshalb reicht in deinem Fall:

    Code
    if(isset($_POST['email']))
    {
       $email     = $_POST['email'];
       $anmerkung = $_POST['anmerkung'];
       $anrede    = $_POST['Anrede'];
    }

    Ja aber ab und zu hilft ein denk anstoß und schon gehts

    Dein Denkanstoß war schon dein JavaScript, denn da machst du doch vom Prinzip her nichts anderes. :(

    Darin bestimmst du doch auch die Start- und Endpostion des String, der ausgeschnitten werden soll. Also einfach mal einen Blick in die PHP-Doku unter String-Funktionen werfen und Bingo!!!

    Sailor

    Sind wir doch mal ehrlich, besonders genau kann das sowieso nicht gehen. Deshalb würde ich gar nicht nach Satzzeichen suchen, sondern die Position des Treffers nehmen und einfach x Zeichen davor und x Zeichen danach nehmen. Dann nach am Anfang und am Ende "..." einbauen und gut ist. Vielleicht noch den Suchbegriff einfärben, wenn man es bunt mag. Aber Satzzeichen suchen, nee never ever.

    PHP
    <?php
        $time = time();
        
        echo $time;
    ?>
    <p>Das hier ist reines HTML</p>
    <p>Das muss man nicht unbedingt mit echo ausgeben</p>
    <?php
       echo "Hier geht es jetzt wieder mit PHP weiter, time = $time";
    ?>

    Aber für php hilfe ist man hier falsch ,das habe ich mitlerweile auch begriffen.

    Du hast schon reichlich Hilfe von mir bekommen, aber bei dir endet fast jeder Thread in einer "Never ending story", weil du anscheinend nicht konzentriert an einer Sache arbeitest und/oder die Doku nicht richtig liest. Das macht auf Dauer einfach keinen Spaß und manchmal auch keinen Sinn!

    Somit habe ich nur noch ein Fehler und der Code läuft trotzdem noch.

    Genau! Sch... was auf Fehler, was will das blöde PHP denn auch von dir??!! Eine echte Unverschämtheit von PHP dich mit Warnings zu belästigen!!! Zumal du die anscheinend ja sowieso nicht verstehst.

    :cursing: Kopfschüttel :cursing:

    Zitat

    Was soll ich jetzt tun ?

    Es zur Abwechslung mal richtig machen?

    Ein

    Code
    print_r($_POST);

    sollte dir Klarheit verschaffen. Das nennt sich auch "Richtig debuggen"

    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Ich frage mich gerade, wie du einen Satz finden willst?

    Ein ? oder ! sind ja kein Problem, da weiß man, das der Satz zu 99,9% beendet ist. Aber der Punkt wird Probleme machen bei z.B.

    "Guten Tag. Ich habe ca. 100 mal mal gesagt, dass es Rechtschreibkorrekturen gibt."

    Wenn du jetzt nach "dass" suchst, wie willst du da den Satzanfang finden, da ja schon ein Punkt bei ca. steht?