SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.11.2010, 18:06:46
Sannybsw Sannybsw ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 52
Beiträge: 4
explode - problem

Moin!

Ich möchte gerne in einem String nach einem <br /> teilen.
In anderen Foren sah ich diese Möglichkeit:

explode("<br />", $datei)

ich baute dieses ein, aber ich lande immer wieder in meinen else-Zweig...
-->> "Sie können nur ihren eigenen Beitrag bearbeiten."
wo liegt nur mein Fehler?

Trenne ich nach dem Doppelpunkt nach "Uhr:", dann wird in der Textarea "<br />" mitangezeigt und verarbeitet.

Dann noch ein Problem nach dem editieren...

der nächste Beitrag wird unter den editierten Beitrag gehängt, anstatt oben drüber...

Ich danke schonmal im voraus für eure Tips!

hier mein Code:
Code:
<?php 
  include "Session.inc.php";  
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link href="Intranet.css" rel="stylesheet" type="text/css" />
<title>Blog</title>

<div id="linie"><!--Linie vom Logo --></div>
 
<div id="logo"><!--Logo--></div>

<div id="datum">
  <?php 
    echo "Aktuelles Datum: <br />"; 
    echo date("d.m.y");
  ?>
</div>

<div id="titel1"><h1> B L O G </h1></div>

<div id="navi">
  <a href="aktuelles.php">Aktuelles</a><br /><br />
  <a href="login.php">Abmelden</a>
</div>

<div id="titel4">
  <h5>Hier das Gedankengut eingeben und absenden:</h5>
</div>

<div id="mehrztextfeld1">
  <form action="blog.php" method="POST" >
    <textarea name="text" cols="80" rows="10" wrap="physical"/></textarea>
     <div id="senden"><input type="submit" name="button1" value="Absenden" ></div>
  </form>
</div>

<div id="textinhalt2">
  <?php 
  // .txt-Datei zum Speichern von Beitraegen initialisieren  
  $datei = "kommentar.txt";
  
  // Beitrag in .txt-Datei anhängen 
  $fp = fopen( $datei,"a+" );
  $data = date( "d.m.Y" ). " - " 
        . date( "H.i" )  . " Uhr:"
        ."<br />"
        . str_replace( "\r\n","<br /> ", $_POST["text"] );
  fclose ( $fp );
     
  // Fehler abfangen - Name,Datum,Uhrzeit in Datei eintragen
  if( !empty( $_POST["text"] ) && $_POST["button1"] )
  {
      if( $fp )
      {
        $fp = fopen($datei,"a+");
        fputs( $fp, $_SESSION["n"] . ": " . $data);
        fwrite( $fp, "$zeile\n" );
        fclose( $fp );   
      }   
      else
      { 
        exit ( "<div id='fehler'>Datei konnte zum Schreiben nicht geöffnet werden!!</div>" );
      }
  }
  
    // Abfrage bei gedruecktem Loesch-Knopf 
  if( $_REQUEST["name"] && $_REQUEST["id"] >= 0 )
  {       
      $array = file( $datei );
      $name = explode(":",$array[$_REQUEST["id"] ] );
      If( $_SESSION["n"] == $name[0] ){
              unset( $array[$_REQUEST["id"] ] );
              $fp = fopen( $datei,"w" );
              fputs( $fp, implode('', $array) );
              fclose( $fp );
              }
      else
       {
        echo "<div id='fehler'>Sie können nur Ihren eigenen Beitrag löschen!<br /></div>";
       }
  }
    
  // Abfrage bei gedruecktem Bearbeiten-Knopf
  if( $_REQUEST["name1"] && $_REQUEST["id"] >= 0 )
  {    
      $array = file( $datei );
      $name = explode("<br>",$array[$_REQUEST["id"] ] );
      If( $_SESSION["n"] == $name[0] ){
        unset( $array[$_REQUEST["id"] ]);
        echo "<form action='blog.php' method='POST' >
              <textarea name='text' cols='80' rows='5' wrap='physical'/>$name[3]</textarea>
              <input type='submit' name='button11' value='Absenden' >
              </form>"; 
        $fp = fopen( $datei,"w" );
        fputs( $fp, implode('', $array) );
        fclose( $fp );  
      }else
       {
        echo '<div id="fehler">Sie können nur Ihren eigenen Beitrag bearbeiten! <br /></div>';
       }       
  }

    // Aenderung eintragen - Name,Datum,Uhrzeit in Datei eintragen
  if( !empty( $_POST["text"] ) && $_POST["button11"] )
  {
      if( $fp )
      {
        $fp = fopen($datei,"a+");
        fputs( $fp, $_SESSION["n"] . ": " . $data);
        fwrite( $fp, "$zeile" );
        fclose( $fp );    
      }   
      else
      { 
        exit ( "<div id='fehler'>Datei konnte zum Schreiben nicht geöffnet werden!!</div>" );
      } 
  } 

  // Datei "zeilenweise" in ein Array einlesen
  $array = file( $datei );
  $i = sizeof( $array );
 
  // $array von hinten nach vorne durchlaufen
  while( $i-- )
  {    

        echo   "<div id='loeschknopf'>
                    <p><a href='blog.php?name=name&id=$i'>
                          <img src='img/drop.gif' width='16' height='16' title='l&ouml;schen' />
                       </a>
                    </p>              
                </div> 
                
                <div id='bearbeiten'>
                  <p><a href='blog.php?name1=name1&id=$i'>
                      <img src='img/edit.gif' width='16' height='16' title='bearbeiten' />
                     </a>
                  </p> 
                </div>"
               . trim($array[$i]) . "<br /><br />";
  }
  ?>
  
</body>
</html>
Mit Zitat antworten
  #2  
Alt 18.11.2010, 19:31:09
Benutzerbild von rarios
rarios rarios ist offline
Member
 
Registriert seit: Jun 2006
Beiträge: 655
AW: explode - problem

1. Bitte foreneigene PHP-Tags im Beitragseditor verwenden!

2. Wie wäre es mit
PHP-Code:
$name explode("<br />",$array[$_REQUEST["id"] ] ); 
anstatt Deinem
PHP-Code:
$name explode("<br>",$array[$_REQUEST["id"] ] ); 
?
__________________
Liebe Grüße
Mit Zitat antworten
  #3  
Alt 22.11.2010, 06:54:10
Sannybsw Sannybsw ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 52
Beiträge: 4
AW: explode - problem

Moin!

Danke für den Ansatz, das klappt aber auch net...
Mit Zitat antworten
  #4  
Alt 22.11.2010, 16:34:13
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: explode - problem

Was klappt nicht? Kannst Du es genauer beschreiben?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5  
Alt 22.11.2010, 17:19:12
Sannybsw Sannybsw ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 52
Beiträge: 4
Es ist egal, ob ich bei diesem explode <br /> oder <br> eingebe, das Programm geht sofort in den Else-Zweig...

Bei nem Doppelpunkt funzt es... leider wird dann in der Textarea zum Editieren der Umbruch angezeigt und auch verarbeitet

PHP-Code:

  
/* Abfrage bei gedruecktem Bearbeiten-Knopf */
  
if( $_REQUEST["name1"] && $_REQUEST["id"] >= )
  {    
      
$array file$datei );
      
$name explode("<br />",$array[$_REQUEST["id"] ] ); // <--hier
      
If( $_SESSION["n"] == $name[0] ){
        unset( 
$array[$_REQUEST["id"] ]);
        echo 
"<form action='blog.php' method='POST' >
              <textarea name='text' cols='80' rows='5' wrap='physical'/>$name[2]</textarea>
              <input type='submit' name='button11' value='Absenden' >
              </form>"

        
$fp fopen$datei,"w" );
        
fputs$fpimplode(''$array) );
        
fclose$fp );  
      }else
       {
        echo 
'<div id="fehler"> Sie können nur Ihren eigenen Beitrag bearbeiten! </div>';
       }       
  } 
in meiner Textdatei werden auch alle Daten die untereinander stehen, mit einem Umbruch gespeichert, daher wird es in der Textarea auch so angezeigt...

z.B.
im Browser sieht das so aus:

Nick: 22.11.2010 - 16.12 Uhr:
tester
1
2

in der Datei und auch in der Textarea so:
Nick: 22.11.2010 - 16.12 Uhr:<br />tester<br /> 1<br /> 2<br />

beim Editieren, kann ich ja net verlangen, das die User die Brüche löschen, sieht ja auch unübersichtlich aus

LG
Sanny

Geändert von vt1816 (22.11.2010 um 17:29:32 Uhr)
Mit Zitat antworten
  #6  
Alt 23.11.2010, 18:07:37
Benutzerbild von rarios
rarios rarios ist offline
Member
 
Registriert seit: Jun 2006
Beiträge: 655
AW: explode - problem

Naja ich gehe mal stark davon aus, dass bei dir
$_SESSION["n"] != "Nick: 22.11.2010 - 16.12 Uhr:" ist
Du musst also erst einmal nach dem Nick filtern und dann erst nach den Umbrüchen:
Erklärung:
PHP-Code:
$name explode("<br />",$array[$_REQUEST["id"]]);
// Erste Trennung also bei: Nick: 22.11.2010 - 16.12 Uhr:
      
If( $_SESSION["n"] == $name[0] ){ 
// Hier soll aber Der Session-Inhalt wohl gleich dem Nick sein. Aber $name[0] ist der o.g. Wert inkl. Zeit 
Es müsste also in etwa so lauten:
PHP-Code:
$abc explode(":",$array[$_REQUEST["id"] ] );
If( 
$_SESSION["n"] == $abc[0] ){ 
$def explode("<br />",$abc[2] );
print_r($dev);
... 
__________________
Liebe Grüße
Mit Zitat antworten
  #7  
Alt 24.11.2010, 09:50:36
Sannybsw Sannybsw ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 52
Beiträge: 4
AW: explode - problem

Moin!

leider auch erfolglos...

in der textarea zum Bearbeiten siehts genauso aus:

<br />test

Habe inzwischen mein Programm umgestaltet, jetzt läuft es soweit gut...

Danke allen für die Mithilfe!

Thread kann geschlossen werden.

LG
Sanny
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit MySQL in Typo3-CMS yamukud MySQLi/PDO/(MySQL) 0 09.10.2009 14:21:18
Subquery Problem (Verständnis?) newgame MySQLi/PDO/(MySQL) 1 29.05.2009 23:01:27
Upload von Fotos, die in eine DB eingetragen werden sollen. Problem 2 jf-flasher PHP Grundlagen 2 01.02.2009 18:20:41
Problem mit Lokalisierung eines SESSION - Problems Fabian85 PHP für Fortgeschrittene und Experten 5 03.10.2005 21:17:54
mysql und php problem schmidt PHP für Fortgeschrittene und Experten 9 31.10.2003 19:05:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:13:37 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt