php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 19-01-2009, 14:49
freakie
 Newbie
Links : Onlinestatus : freakie ist offline
Registriert seit: Jan 2009
Beiträge: 2
freakie ist zur Zeit noch ein unbeschriebenes Blatt
Standard Überprüfen ob variable bereits in txt datei vorhanden ist?

Hallo!

Ich programmiere grad eine kleine Filmverwaltung und komm nicht weiter.
Problem ist: Wie überprüfe ich ob der Film bereits in der text datei vorhanden ist.

Hier ist der code den ich bis jetzt habe.
Wär super wenn mir wer weiterhelfen könnte

PHP-Code:
<form action="<?php echo $_SERVER["PHP_SELF"?>" method="post">
 Film:         <input type="text" name="name"> <br>
 Genre:    <input type="text" name="genre"> <br>
 Bewertung: <input type="text"name="bewertung" maxlength="2"> <br>


 <input type="submit" value="Eintrag speichern">
</form>
<?php


 

// Formulareingabe speichern
 
if ($_POST) {
 
$name $_POST["name"]; // Variablen einlesen
 
$genre $_POST["genre"];
 
$bewertung $_POST["bewertung"];
 
$check implode ('',file("daten.txt"));
 
$datum date("d.m.Y",time()); // Aktuelles Datum ermitteln
 
$text "$name;$genre;$bewertung;$datum;\n"// Textstring zusammensetzen



 
$dateiname "daten.txt"// Name der Datei
 
$handler fOpen($dateiname"a+"); // Datei zum Text anhängen öffnen
 
fWrite($handler$text); // Dateiinhalt in die Datei schreiben
 
fClose($handler); // Datei schließen

}
?>

<table border="1">
 <tr style="background-color: #B9B9B9;">
  <th>Film</th>
  <th>Genre</th>
  <th>Bewertung</th>
  <th>Datum des Eintrags</th>
 </tr>

<?php
//Ausgabe
$datei "daten.txt"// Name der Datei
$array file($datei); // Datei in ein Array einlesen

foreach ($array as $element) {
 
// Die Variablen ($name, $genre, $bewertung, $datum) aus der Variablen ($element) holen
 
list($name$genre$bewertung$datum) = explode(";"$element);
 echo 
"<tr>";
 echo 
"<td>$name</td>";
 echo 
"<td>$genre</td>";
 echo 
"<td>$bewertung</td>";
 echo 
"<td>$datum</td>";
 echo 
"</tr>";
}
?>

</table>
Mit Zitat antworten
  #2 (permalink)  
Alt 19-01-2009, 15:13
hhcm
 PHP Senior
Links : Onlinestatus : hhcm ist offline
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
hhcm ist zur Zeit noch ein unbeschriebenes Blatt
hhcm eine Nachricht über ICQ schicken hhcm eine Nachricht über Skype™ schicken
Standard

Schau dir mal in_array an.


PS "if ($_POST)" ist immer wahr.
__________________
gruss Chris

Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
Mit Zitat antworten
  #3 (permalink)  
Alt 19-01-2009, 15:17
freakie
 Newbie
Links : Onlinestatus : freakie ist offline
Registriert seit: Jan 2009
Beiträge: 2
freakie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bevor ich inarray anwenden kann muss ich aber die daten.txt einlesen mit fgets oder?
Mit Zitat antworten
  #4 (permalink)  
Alt 19-01-2009, 15:26
hhcm
 PHP Senior
Links : Onlinestatus : hhcm ist offline
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
hhcm ist zur Zeit noch ein unbeschriebenes Blatt
hhcm eine Nachricht über ICQ schicken hhcm eine Nachricht über Skype™ schicken
Standard

Du kannst die Datei auch mit file_get_contents einlesen und mittels strpos suchen.

Ach ja, ggf. ist auch fget und fputcsv was für dich, dann kannst du dir das implode bzw. explode schenken.
__________________
gruss Chris

Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
Mit Zitat antworten
  #5 (permalink)  
Alt 19-01-2009, 21:38
php_fussel
 Newbie
Links : Onlinestatus : php_fussel ist offline
Registriert seit: Jan 2009
Beiträge: 120
php_fussel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
//gesamten Content der Datei holen
$pfad "ort/der/datei.txt;
$inhalt_datei = file_get_contents($pfad);

if($inhalt_datei)
{
   $ausdruck    =    "
!^fängtanmitZeichenoderZahl ...
   
frickelDirhiereinenRegAusdruckzusammen ...
   
dasEndeistwichtig --> kein';' oder '\n' aber '*' damit 
   weiter gesucht wird 
--> [^ ;n]*!i";

preg_match_all ($ausdruck, $inhalt_datei, $einzeldaten_arr,
 PREG_PATTERN_ORDER);

//eventuelle doppelte Einträge löschen 
$einzeldaten_arr    =    array_unique($einzeldaten_arr);

Nun hast Du in $einzeldaten_arr alle Daten vorliegen und kannst
z.B. über eine foreach (...) mit der Eingabe vergleichen.
Den regulären Ausdruck kannst Du aber auch noch weiter
verfeinern, so dass er nur den ersten Wert/ Zeile rausholt
und in dem Array speichert.
Sieht etwas "overdressed" aus, aber so bist Du schon mal
darauf vorbereitet z.B. aus Webseiten Inhalt auszulesen,
dann ist $pfad einfach die URL zu der gewünschten
Seite ...). Habe da mal ein Backup-Script über 1250 Zeilen
geschrieben, dafür habe ich jetzt aber auch immer die
aktuellen Fussball-Tabellen (und vergangene), Spieltag/-e sowie
sämtliche Vereine, Ligen mit dazugehörigen Spielern schön in
Tabelle mit Bild auf meinem PC ... *flöt.

Habe ich nur schnell runtergetippt!!!, aber so gehts im Grunde.

... strpos() ist natürlich auch eine gute Wahl (und ausreichend)

Geändert von php_fussel (19-01-2009 um 21:42 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 19-01-2009, 21:46
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
PS "if ($_POST)" ist immer wahr.
Nööö....

PHP-Code:
// dieses
if($_POST){}


// ist das gleiche wie
if((bool)count($_POST)){}

// oder kürzer
if(!empty($_POST)){} 
Und kann darum sehr wohl FALSE werden
__________________
Wir werden alle sterben
Mit Zitat antworten
  #7 (permalink)  
Alt 19-01-2009, 23:16
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard Re: Überprüfen ob variable bereits in txt datei vorhanden ist?

Zitat:
Original geschrieben von freakie
Hallo!

Ich programmiere grad eine kleine Filmverwaltung und komm nicht weiter.
Wie viele Filme möchtest du verwalten?

Und möchtest du wirklich bei jedem Script-Aufruf die ganze Datei durchackern, nur um einen Eintrag zu finden?

Das schreit ja förmlich nach einer Datenbank-Tabelle.
Und SQLite ist ja nun wirklich nicht sooo schwer zu bedienen ...

Zitat:

Problem ist: Wie überprüfe ich ob der Film bereits in der text datei vorhanden ist.
Ich vermute mal, dass du Doppel-Einträge verhindern möchtest. In einer Datenbanklösung ist das ganz einfach:

Man definiert bei der Erstellung Constraints ("Einschränkungen"). Werden diese beim Einfügen "verletzt", meckert die Datenbank das an. Im Fall Doppel-Einträge heißt die Einschränkung "UNIQUE".
Mit Zitat antworten
  #8 (permalink)  
Alt 20-01-2009, 08:44
hhcm
 PHP Senior
Links : Onlinestatus : hhcm ist offline
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
hhcm ist zur Zeit noch ein unbeschriebenes Blatt
hhcm eine Nachricht über ICQ schicken hhcm eine Nachricht über Skype™ schicken
Standard

Zitat:
Original geschrieben von combie
Und kann darum sehr wohl FALSE werden
Is ja schon gut. Ich geb mich geschlagen. Sry
__________________
gruss Chris

Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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