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 ::

Das Zend Framework

Das Zend Framework 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 für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.07.2002, 22:30:03
cb master cb master ist offline
Anfänger
 
Registriert seit: Jun 2002
Ort: Dresden
Alter: 49
Beiträge: 10
zeile in datei auslesen und editieren / löschen

nachdem ich php nun schon ein wenig verstehe hänge ich bei meinem guten gästebuch nun an der adminverwaltung:

ich übergebe die daten aus dem eintrag in den adminbereich per link:

<a href="admin.php?nr=<? echo $id ?>&action=delete">Beitrag löschen</a>


#########################
wobei $id die nummer des eintrages ist - wird im array unter $lg[7] beim eintrag schon gespeichert - also hat der erste eintrag die nummer 1 da stehen und der fünfte die nummer 5 ...

so und nun geht es los - hier versuche ich nun die action zu verarbeiten:
#########################


<?
if (!file_exists("$datei")) fclose(fopen("$datei","w+"));
$lines = file("$datei");
$num = sizeof($lines);
?>


<?

if ($action == "delete") {
for ($i=0; $i < $num; $i++) {
$lg = explode("||°||", $lines[$i]);

if ($lg[7] == $id) {
$num--;

for ($j=$i; $j < $num; $j++)
$lines[$j]=$lines[$j+1];
}
}
echo "Beitrag gelöscht";
}

?>


<?
$fp = fopen("$datei","w+");
for ($i=0; $i < $num; $i++) {
fwrite($fp, $lines[$i]);
}

fclose($fp);
?>




#####################################
so ...

und es geht - er übergibt die richtigen daten und sagt mir auch "Beitrag gelöscht" ... aber er tut es eben nicht !!!
__________________
schreibt ihr mit an meinem gästebuch ? :)
Mit Zitat antworten
  #2  
Alt 02.07.2002, 22:40:09
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
ne frage,

warum hast du immer <? und ?> da stehen?

das kannst du auch in einem machen so:

Code:
<? 
if (!file_exists("$datei")) fclose(fopen("$datei","w+")); 
$lines = file("$datei"); 
$num = sizeof($lines); 

if ($action == "delete") { 
for ($i=0; $i < $num; $i++) { 
$lg = explode("||°||", $lines[$i]); 

if ($lg[7] == $id) { 
$num--; 

for ($j=$i; $j < $num; $j++) 
$lines[$j]=$lines[$j+1]; 
} 
} 
echo "Beitrag gelöscht"; 
} 

$fp = fopen("$datei","w+"); 
for ($i=0; $i < $num; $i++) { 
fwrite($fp, $lines[$i]); 
} 

fclose($fp); 
?>
oder steht dazuwischen noch html code?
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #3  
Alt 02.07.2002, 23:56:05
cb master cb master ist offline
Anfänger
 
Registriert seit: Jun 2002
Ort: Dresden
Alter: 49
Beiträge: 10
ja - und anderer code ... :)

wollte ja nur erstmal den teil hier bearbeitet haben.



hast du ne idee wo es da hängt das er die zeile mit dem treffer

if ($lg[7] == $id)

nicht löscht ???
__________________
schreibt ihr mit an meinem gästebuch ? :)
Mit Zitat antworten
  #4  
Alt 02.07.2002, 23:59:05
cb master cb master ist offline
Anfänger
 
Registriert seit: Jun 2002
Ort: Dresden
Alter: 49
Beiträge: 10
hier hab ich mal den kompletten ordner mit dem BETA script gezippt:


http://www.loveground.com/database/p...ebuch_beta.zip



wer da mehr einblick haben will ...
__________________
schreibt ihr mit an meinem gästebuch ? :)
Mit Zitat antworten
  #5  
Alt 03.07.2002, 12:05:40
cb master cb master ist offline
Anfänger
 
Registriert seit: Jun 2002
Ort: Dresden
Alter: 49
Beiträge: 10
kann mir denn keiner helfen ???

in dem teil hier will ich die zeile $id überschreiben - alte daten löschen + die neuen rein - geht das so nicht ???

if ($action == "$my_save") { // so hier geht die action los ...
for ($i=0; $i < $num; $i++) { // hier schleifen wir uns durch

if ($lines[$id]) { // hi

$array = array($lg); // so array der zu bearbeitenden zeile bezeichnen
$buch_array = implode("||°||", $lg); // mit daten füllen

// array neu zuordnen
$lg[0] = $new_name;
$lg[1] = $new_ort;
$lg[2] = $new_mail;
$lg[3] = $new_on;
$lg[4] = $new_hp;
$lg[5] = $new_comment;
$lg[6] = $new_datum;
$lg[7] = $index;

} // end if

} // end for
include "$header";
echo "<tr><td colspan=2><font size=1><b>Beitrag $info bearbeitet !!!</b><br /><br />Juhuu ...</td></tr>";
include "$footer_show";
} // end if
?>
__________________
schreibt ihr mit an meinem gästebuch ? :)
Mit Zitat antworten
  #6  
Alt 03.07.2002, 18:50:44
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
Re: zeile in datei auslesen und editieren / löschen

hi,

ändere diese zeilen:

Code:
<?
$fp = fopen("$datei","w+");
   for ($i=0; $i < $num; $i++) {
        fwrite($fp, $lines[$i]);
}

fclose($fp);
?>
in diese:

Code:
<?
$fp = fopen("$datei","w+");
   for ($i=0; $i < $num; $i++){
      if($action != 'delete'){  // beachte hier das ! welches für nicht steht. also ist action NICHT gleich delete, dann save wenn action doch delete ist, dann überspringen.
          fwrite($fp, $lines[$i]);
      }
}

fclose($fp);
?>

ich hab das jetzt nicht ausprobiert und den code nur überflogen, aber es sollte funzen.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:35:14 Uhr.


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


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