[PHP] hidden Feld aus form wird nicht übertragen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von AceOnFire, 8. Juli 2015 .

  1. 8. Juli 2015
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Da ich bei meinem Problem leider keine Lösung gefunden habe, dachte ich mir, dass ich mir mal selbst eine programmiere.

    Das PDF habe ich zum leichteren Arbeiten in eine HTM Datei umgewandelt.
    Das Finden und Markieren der Paragraphen funktioniert, nur leider wird der Text mit den Markierungen nicht übertragen.

    Hier ist der gesamte Code, den ich geschrieben habe.

    PHP:
    <? php
    $datei
    = "text.htm" ;

    if(!isset(
    $_POST [ 'source' ]))
    {
        
    $source  implode ( "" , file ( $datei ));
        echo 
    "Text neu geladen<br>\n" ;
        echo 
    "Zeichen im Text:" . strlen ( $source ). "<br>\n\n" ;
    }
    else
    {
        
    $source  str_replace ( '|' '>' str_replace ( '~' '<' $_POST [ 'source' ]));  // Kehrt die Vertauschung aus form wieder um
    }
    if(isset(
    $_POST [ 'paragraph' ]))
    {
        
    $paragraph = $_POST [ 'paragraph' ];
        
    $new_source = substr  $source  strpos  $source  "<BODY>"   ) );     // Vor BODY kommen noch einige Vormatierungen mit ***px Angaben,
        
    $source = substr  $source  strpos  $source  "<BODY>"   ) );         // die nicht mit durchsucht werden sollen.
        
    if( is_numeric  $paragraph  ))
        {
            
    $pos = strpos  $source  $paragraph   );
            while (
    $pos !== false ){
                
    $paragraph_length = strlen ( $paragraph );
                
    $zeichen_vor_pos = substr  $source  $pos - );
                
    $zeichen_nach_pos = substr  $source  $pos + $paragraph_length  );
                if( !
    is_numeric  $zeichen_vor_pos  ) AND ! ctype_alpha ( $zeichen_vor_pos )  AND ! is_numeric  $zeichen_nach_pos  ) AND ! ctype_alpha ( $zeichen_nach_pos ) )  // Ueberprueft, ob sich for und nach NEEDLE noch Zahlen (waere dann nicht der gesuchte Zahlenwaert)  sind
                

                    
    $new_source .= substr  $source  $pos - $paragraph_length + ). "<span style=\"background-color:yellow\">" . substr  $source  $pos  ,   $paragraph_length ). "</span>" ;
                    
    $source = substr  $source  $pos + $paragraph_length  );     // Setzt den Befehl fuer die Textmarkierung fuer die spaetere Ausgabe
                
    }
                
    $new_source = $new_source . substr  $source  $pos + );
                
    $source = substr  $source  $pos + );
                
    $pos = strpos  $source  $paragraph   );
            }
        }
        
    $source = $new_source . $source ;
    }
    ?>

    <form action="index.php" method="post">
    <p>Paragraph: <input type="text" name="paragraph" /></p>
     <p><input type="hidden" name="source" value='<?php  echo  str_replace ( '>' '|' str_replace ( '<' '~' $source ));  ?>' /></p> <!--// Ersetzt "<" und ">", damit es keine seltsame Ausgabe gibt -->
     <p><input type="submit" /></p>
     </form>
     
     <?php
     
    echo  " $source " ;
     
    ?>
    Hier ist noch der Link zur htm Datei.

    Ich hatte nur etwas html/php in der 10ten Klasse und das was ich gebraucht habe, habe ich mir schnell zusammengesucht.
    Hoffe, dass es nur eine Kleinigkeit ist, die geändert werden muss.

    Wäre für Hilfe echt dankbar.
     
  2. 12. Juli 2015
    AW:
    PHP:
     hidden Feld aus form wird nicht übertragen [/ b ]

    Kann mir da echt keiner helfen ?
     
  3. 12. Juli 2015
    AW:
    PHP:
     hidden Feld aus form wird nicht übertragen[/b]

    Code schaut soweit funktional aus, hast du mal in die Errorlog geschaut von PHP evtl ist der Text zu lange, weil POST hat meistens eine Limitierung durch gewisse PHP-Schutzfunktionen.

    [code]value='<?php  echo  str_replace ( '>' '|' str_replace ( '<' '~' $source ));  ?>' />[/code]

    Wenn der $source ein ' enthält geht es auch nicht mehr... also ist Fehleranfällig. Du müsstest also ' auch durch " ersetzen.

    Am einfachsten wäre htmlspecialchars($source,ENT_QUOTES)

    [I]PS. Thema wurde in Webentwicklung verschoben.[/I]
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.