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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
18.11.2010, 17:06:46
|
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ö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>
|
18.11.2010, 18:31:09
|
|
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
|
22.11.2010, 05:54:10
|
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...
|
22.11.2010, 15:34:13
|
|
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!
|
22.11.2010, 16:19:12
|
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"] >= 0 )
{
$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( $fp, implode('', $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 16:29:32 Uhr)
|
23.11.2010, 17:07:37
|
|
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
|
24.11.2010, 08:50:36
|
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
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:44:00 Uhr.
|