php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.03.2005, 15:52  
Gast
 
Beiträge: n/a
Standard [Erledigt] Mehrere Beiträge in txt Datei speichern

hallo alle zusammen!

also zuerst einmal tut es mir leid, dass ich etwas anspreche was sicher schon tausendmal gefragt wurde

Ich wäre aber trotzdem dankbar wenn mir jemand schnell helfen könnte.

Ich will über ein Formular ein normales Passwort und ein ASCI Passwort in einer Txtdatei speichern. Soweit funktioniert alles. (Ich weiss es macht keinen Sinn, ich möchte nur ein paar Erfahrungen mit textdateien sammeln... )

Jetzt mein Problem: Im moment überschreibt es einfach den bisherigen Beitrag. Ich möchte aber, dass der neue Beitrag "geaddet" und nicht überschrieben wird.

Mein falscher Code:
PHP-Code:
<?
echo "<h1>Passwort erstellen für .htaccess</h1>";
echo 
"<form name=form1 method=post action=http://localhost/website/crypt.php>";
echo 
"
Gewünschtes Passwort:   "
;
echo 
"<input type=text name=eingabe value='".$_POST['eingabe']."'>";
echo 
"<input type=submit name=submit value=senden>";
echo 
"</form>";

$eingabe=$_POST['eingabe'];

if(isset(
$eingabe)) {
if(
$eingabe=='') {
echo 
"ACHTUNG: Eingabefeld ist leer! Bitte Passwort eingeben";
}
else {
$name=crypt($eingabe);
echo 
"Ihre Eingabe lautet: [b]$eingabe[/b]
"
;
echo 
"Das kreierte Passwort lautet: [b]$name[/b]";


//Schreiben in eingaben.txt
$datei fopen("eingaben.txt""a");
$ersetzen str_replace($datei);

fwrite($datei$ersetzen"Passwort unverschlüsselt: $eingabe\nPasswort verschlüsselt: $name\n");
$dateigroesse=filesize("eingaben.txt");
fclose($datei$ersetzen);
echo 
"

Die Textdatei ist $dateigroesse KB gross."
;
echo 
"
<a target=_blank href=eingaben.txt>Passwortdatei einsehen</a>"
;

}
}

else {
echo 
"Bitte Ihr gewünschtes Passwort eingeben";
}




?>
?>

Er bringt folgende Fehlermeldungen:
Code:
Warning: Wrong parameter count for str_replace() in C:\Programme\Apache Group\Apache2\htdocs\website\crypt.php on line 24

Warning: Wrong parameter count for fclose() in C:\Programme\Apache Group\Apache2\htdocs\website\crypt.php on line 28
Hat jemand eine Idee was ich falsch mache?
Vielen dank im voraus!
Bin über jeden Tipp erfreut
mfG
web4
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.03.2005, 15:54  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

http://www.php.net/str_replace
http://www.php.net/fclose
Corvin ist offline  
Alt 19.03.2005, 15:58  
Gast
 
Beiträge: n/a
Standard

fclose erwartet nur einen parameter ($datei), wohingegen str_replace 3 erwartet:

http://de.php.net/manual/de/function.str-replace.php
 
Alt 19.03.2005, 16:23  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
fclose erwartet nur einen parameter ($datei), wohingegen str_replace 3 erwartet:
Exact. Und durch gründliches Manual-lesen bekommt sowas auch jeder selbst raus!
Corvin ist offline  
Alt 19.03.2005, 18:26  
Gast
 
Beiträge: n/a
Standard

Und wenn mehrere Beiträge in einer Datei stehen sollen, in mehreren Zeilen, dann ist es wohl nicht die Lösung einfach das was drin steht zu ersetzen (str_replace = zeichenkette_ersetzen).

Ich würde es so lösen:

Zum Anzeigen:
Datei mit file() einlesen.
Mittels Schleife (z.B. for oder while) Arrayelemente ausgeben.

Zum Hinzufügen:
Datei mit file() einlesen. (wenn nicht oben schon geschehen)
Dem erzeugten Array das neue Element anfügen.
Ggf. Array sortieren, siehe Manual.
Datei mit ftruncate($datei,0) leeren.
Neuen Array reinschreiben.

Versuch das erstmal soweit mit ausprobieren und Manual, wenn es dann nicht geht, neuen Code hier posten, und dann schaun wir mal.
 
Alt 19.03.2005, 22:02  
Gast
 
Beiträge: n/a
Standard

Vielen Dank für Eure Hilfe!

Ich habe mich jetzt zwei Stunden intensiv mit dem befasst und Eure Ratschläge ausgeführt...gegooglet, gelesen, nachgelesne, probiert...

das str_replace drei Parameter braucht habe ich nun auch verstanden.

Doch muss ich euch enttäuschen, ich probierte die Lösung von m80331 umzusetzen, leider erfolglos.

Meine bisheriger selbstgemachter Code:

Code:
$eingaben = array($eingabe,$name); //Aus dem Txtfile
foreach($eingaben as $var);
array_push($eingaben,"$name","$eingaben"); //Neue Daten hinzufügen vom Forumlar
Das ist das Array um das File anzuzeigen. Es funktioniert nicht, weil ich nicht weiss wie ich aus dem Txtfile die Eingaben bekomme. Konkret: Wie kann ich die Angaben vom txt ins phpfile holen? Wenn Ihr mir da ein Tipp geben könntet? Hier im Code ist es so zusagen doppel besetzt...


Über das hinzufügen von neuen Elementen habe ich viel gelesen, somit denke ich das ich den Rest alleine schaffen würde...



Zitat:
Und durch gründliches Manual-lesen bekommt sowas auch jeder selbst raus!
Wie du es schon leicht antönst..."gründliches" es ist manchmal extrem schwierig diese Texte vollständig zu verstehen als Anfänger...nur was wenn man manche Seiten nicht gaanz "gründlich" verstehen kann?

mfG
web4
 
Alt 20.03.2005, 00:08  
Benutzer
 
Registriert seit: 30.10.2004
Beiträge: 76
imported_dex
Standard

Ich weiß jetzt nicht 100% ob ich dein Problematik versteh!
Aber offne die TXT mit
Code:
$array=file(…);
und dann such mit
Code:
$key=array_search(…);
darin, was die den Schlüssel ausgibt!
Dann mach mal
Code:
 echo “$array[$key]“;
KA obs das ist was du meinst!
Die Funktionen findest du alle hier
imported_dex ist offline  
Alt 20.03.2005, 01:56  
Gast
 
Beiträge: n/a
Standard

Mal ungetestet:
PHP-Code:
<?php

// ausgabe vorher:
$array=file("eingaben.txt");
print_r($array);

// hier wird der neue eintrag hinzugefügt:
array_push($array,"der neue datensatz");

// und wenn es in die datei soll:
$fp=fopen("eingaben.txt","r+");
ftruncate($fp,0);
for(
$i=0;$i<sizeof($array);$i++) fwrite($fp,$array[$i]."\r\n");
fclose($fp);

// ausgabe nachher:
$array=file("eingaben.txt");
print_r($array);

?>
Und wenn einem die ausgabe zu häßlich ist, nimmt man statt der Zeilen mit print_r z.B.:
PHP-Code:
<?php
for($i=0;$i<sizeof($array);$i++) echo $array[$i]."
"
;
?>
 
Alt 20.03.2005, 11:12  
Gast
 
Beiträge: n/a
Standard

Hi,

echt vielen Dank für Eure Hilfe es funktioniert nun so weit!!

Ich habe da nur noch eine Frage. Wie kann man die txt noch formatieren?
Schaut es Euch mal an.


Seht Ihr was ich meine? Es drückt irgendwie die neuen Einträge extrem weit runter. Was kann man dagegen tun?

Nochmals Danke m80331, ich verstehe nun die Art und Weise wie es ablaufen muss. Nur an einer Stelle frage ich mich wie du auf das kommst...
PHP-Code:
<?php
for($i=0;$i<sizeof($array);$i++) fwrite($fp,$array[$i]."\n"); 
?>
Wenn mir jemand erklären könnte wie man auf das kommt und auch was es genau bedeutet, fände ich das super!

mfG
web4
 
Alt 20.03.2005, 11:30  
Gast
 
Beiträge: n/a
Standard

Lass mal das "\r\n" beim Schreiben weg, denn beim Einlesen mit file hast du in jeder Zeile schon Umbrüche. Mit jedem Schreiben verdoppelst du das dann nur. Beim array_push solltest du es dann aber einbauen:

array_push($array,"der neue datensatz\n");

Gruß
phpfan
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Quellcode einer dynamischen Seite kopieren und als Datei speichern Lothar PHP Tipps 2008 15 05.05.2008 23:32
Datei speichern bei MIR Uratuso PHP Tipps 2008 2 15.02.2008 19:19
Datei erstellen und Speichern Unter andrew22 PHP Tipps 2006 3 05.10.2006 17:14
String als Datei speichern Zangelo PHP Tipps 2006 23 25.08.2006 14:13
Musik Datei abspielen und parallel als MP3 speichern Plague Off-Topic Diskussionen 5 22.05.2006 19:17
dynamische Seite als htm datei speichern chrisbog PHP Tipps 2006 4 23.01.2006 22:11
Externe Datei auslesen und auf Webspace speichern Beitragsarchiv 9 19.04.2005 16:44
DUMP per Linux in ein Datei speichern!! Klaus Datenbanken 1 11.04.2005 08:12
Idee zum Speichern einer Datei PHP Tipps 2005 6 10.01.2005 22:36
geparste datei speichern PHP Tipps 2007 12 04.01.2005 17:01
Kontaktformular: Felder auslesen und in .txt datei speichern djrace PHP Tipps 2004-2 4 29.12.2004 13:56
TXT Datei Öffnen, lesen, beschreiben, speichern maximus PHP Tipps 2004-2 1 28.11.2004 19:15
daten in einer text datei speichern kain PHP Tipps 2004 12 25.11.2004 14:25
Datei mit php erzeugen Stümper PHP Tipps 2004 4 12.10.2004 12:51
php und ftp PHP Tipps 2004 4 07.10.2004 09:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php print_r in datei schreiben, mehrere daten in eine datei speichern in c, php eingaben in .txt datei speichern, print_r in datei, php eingaben zur einer textdatei hinzufügen, submit dateien in txt speichern, fwrite arry to .txt, php beime speichern einer datei daten hinzufügen, nicht überschreiben, php mehrere daten in txt speichern, wrong parameter count for preg_replace, php print_r in datei ausgeben, php print_r() in textdatei schreiben, array in txt speichern, php mehrere daten in datei speichern, txt datei sortiert speichern php, http://www.php.de/php-tipps-2005/19859-erledigt-mehrere-beitraege-txt-datei-speichern.html, php print_r datei, \wrong parameter count for fclose()\, php print_r in datei, mehrere daten in eine datei schreiben php

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.