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 10-03-2008, 11:37
d4n7e
 Newbie
Links : Onlinestatus : d4n7e ist offline
Registriert seit: Mar 2008
Beiträge: 6
d4n7e ist zur Zeit noch ein unbeschriebenes Blatt
Standard namen über array in datei schreiben

hallo liebe gemeinde!

ich habe ein php script in das ich schon eine art klickzähler integriert habe. nun möchte ich zum test noch etwas einbauen, dass die beiden integrierten links neben einer zahl auch noch einen namen o.ä. mit übergeben und in eine datei schreiben. was müsste ich zu diesem zweck an meinem script ändern damit das so funzt wie ich mir das vorstelle?
hier mein code:

PHP-Code:
<?php

class LoadInfo
{
    
//Deklaration der Variablen
    
var $_counter;
    var 
$folder   = array ();    
    
    
//Funktion für die Übergabe der Werte (0=fertig mit Laden; 1=beginne mit Laden) der externen Daten
    
public function pruefestatus ($status$name)
    {
        
//Falls eine 1 übergeben wurde, dann:
        
if ($status == 1)
        {
            
$this -> _counter++;
            
$this -> folder[$name] = $status;
        }
        
//Falls eine 0 übergeben wurde, dann:
        
else if ($status == 2)
        {
            
$this          -> _counter-- ;
            unset (
$this -> folder[$name]);
        }
    }
    
    
//Funktion für die Abfrage was geladen wird
    
public function getstat ($name)
    {
        
//Falls die gesuchte Datei geladen wird, wird der Name zurückgegeben
        
if (isset ($this -> folder[$name]))
        {
            return 
$this -> folder[$name];
        }
        
//Falls die gesuchte Datei nicht geladen wird, wird nichts zurückgegeben
        
else
        {
            return (
false);
        }
    }
    public function 
setcounter ($_count)
    {
        
$this -> _counter $_count;
    }
    
    public function 
setname ($_names)
    {
        
$this -> name $names;
    }
}

//Testlinks um zu schaun, ob mit dem Übergebenen Status gearbeitet wird (kann nachher entfernt werden)
echo "<a href='script_flex.php?status=1?'>1 raufzählen</a><br>";
echo 
"<a href='script_flex.php?status=2?'>1 abziehen  </a><br>";

/////Verarbeitung, Öffnen & Schließen, Lesen & Schreiben in die Datei counter.txt/////
$InfoLoad = new LoadInfo ();

$LadeInfoc fopen ('counter.txt''r+');
//-1>=fgets2<=10; -10>=fgets3<=100; -100<=4<=1000; usw.
$readcounter fgets ($LadeInfoc4);
fclose ($LadeInfoc);
$InfoLoad -> setcounter ($readcounter);

$InfoLoad -> pruefestatus ($_GET ['status']);
$LadeInfoc fopen ('counter.txt''w+');
fwrite ($LadeInfoc$InfoLoad -> _counter);
fclose ($LadeInfoc);



$LadeInfon fopen ('name.txt''r+');
$readname fgets ($LadeInfon4);
fclose ($LadeInfon); 
//Testausgabe um den $_count Wert auszulesen (kann nachher entfernt werden)
echo $readname;
echo 
$InfoLoad -> _counter"<br><br>";

?>
Mit Zitat antworten
  #2 (permalink)  
Alt 10-03-2008, 11:59
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich versuche mal aus deinen Angaben und deinem(?) Code zu erraten, was du möglicherweise haben möchtest.
Übergib doch einfach den Namen als weitern GET-Parameter und schreib ihn dann ins File:
PHP-Code:
...
echo 
"<a href='script_flex.php?status=1\&amp;name=Addierer'>1 raufzählen</a><br />";
echo 
"<a href='script_flex.php?status=2&amp;name=Subtrahierer'>1 abziehen</a><br />";

$InfoLoad = new LoadInfo ();

$LadeInfoc fopen('counter.txt''r');
$readcounter fgets($LadeInfoc4);
fclose($LadeInfoc);
$InfoLoad->setcounter($readcounter);

$InfoLoad->pruefestatus ($_GET ['status']);
$LadeInfoc fopen ('counter.txt''w');
fprintf($LadeInfoc"%d %s"$InfoLoad->_counter$_GET['name']);
fclose($LadeInfoc);
... 
__________________
Gruss
H2O
Mit Zitat antworten
  #3 (permalink)  
Alt 10-03-2008, 12:04
d4n7e
 Newbie
Links : Onlinestatus : d4n7e ist offline
Registriert seit: Mar 2008
Beiträge: 6
d4n7e ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ob dus glaubst oder nicht aber das meinste stammt tatsächlich von mir^^

danke erstmal für den vorschlag werde den mal testen

mfg

Arne (d4n7e)
Mit Zitat antworten
  #4 (permalink)  
Alt 10-03-2008, 12:28
d4n7e
 Newbie
Links : Onlinestatus : d4n7e ist offline
Registriert seit: Mar 2008
Beiträge: 6
d4n7e ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmmm leider passt das net so ganz wie ich mir das vorstelle...

hätte es gerne so das ich zb 6 links da habe so in der art:

PHP-Code:
echo "<a href='script_flex.php?status=1&name=hans'>1 raufzählen</a><br>";
echo 
"<a href='script_flex.php?status=2&name=hans'>1 abziehen  </a><br>";
echo 
"<a href='script_flex.php?status=1&name=peter'>1 raufzählen</a><br>";
echo 
"<a href='script_flex.php?status=2&name=peter'>1 abziehen  </a><br>";
echo 
"<a href='script_flex.php?status=1&name=maik'>1 raufzählen</a><br>";
echo 
"<a href='script_flex.php?status=2&name=maik'>1 abziehen  </a><br>"
die namen sollen dann eingetragen werden und wenn man auf den entsprechenden abziehen link klickt wieder gelöscht werden... wäre schön wenn das in ner extra datei ablaufen würde und net in der selben.

mfg

Arne (d4n7e)
Mit Zitat antworten
  #5 (permalink)  
Alt 10-03-2008, 12:42
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von d4n7e
hmmm leider passt das net so ganz wie ich mir das vorstelle...
Dann beschreibe mal klar, wie du dir das vorstellst.
Wo sollen Namen wie eingetragen oder gelöscht werden.
Und wenn du eine andere Datei willst, dann schreibs halt in eine andere und ruf dann halt diese auf.
__________________
Gruss
H2O
Mit Zitat antworten
  #6 (permalink)  
Alt 10-03-2008, 13:04
d4n7e
 Newbie
Links : Onlinestatus : d4n7e ist offline
Registriert seit: Mar 2008
Beiträge: 6
d4n7e ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also ich möchte 1 datei haben in der durch die funktion eine art counter gezählt wird. in meinem bsp ist dies die counter.txt. dort steht nur 1 wert drin und das ist auch gut so... so zb wenn ich auf den ersten link klicke zählt er +1, bei klick auf den zweiten -1. das funzt auch alles super!

in der zweiten datei sollen die namen stehen die die links mit übergeben. die datei heißt bei mir name.txt. bei klick auf den ersten link soll in die datei "hans" geschrieben werden. bei klick auf den dritten link soll "peter" geschrieben werden. klicke ich nun auf den zweiten link soll "hans" aus der .txt datei gelöscht werden.

so hatte ich mir das vorgestellt.
ich hoffe das war soweit verständlich wie ich mir das denke.

mfg

Arne (d4n7e)
Mit Zitat antworten
  #7 (permalink)  
Alt 10-03-2008, 14:28
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Eigentlich eine typische Aufgabe für eine Datenbank.
Aber was solls, den ersten Teil hast du ja schon.
Dann hängst du den Rest einfach noch dran:
PHP-Code:
...
$name $_GET['name'];
$status $_GET['status'];
$namen file('name.txt');                // File in Array lesen

if ($status == 1){                        // Addieren
    
if (!array_search($name$namen)){
        
array_push($namen$name);        // Namen einfügen
    
}
//    else {
//        Name ist schon vorhanden, also nichts tun
//    }
}
else{                                    
// Subtrahieren
    
if ($key array_search($name$namen)){
        
array_splice($namen$key1);    // Namen löschen
    
}    
//    else {
//        Name ist nicht vorhanden, also nichts tun
//    }
}
file_put_contents('name.txt'implode("\n"$namen)); // File zurückschreiben 
__________________
Gruss
H2O
Mit Zitat antworten
  #8 (permalink)  
Alt 10-03-2008, 14:48
d4n7e
 Newbie
Links : Onlinestatus : d4n7e ist offline
Registriert seit: Mar 2008
Beiträge: 6
d4n7e ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wow danke! das ding is super!!!

hab allerdings noch 1 frage zu deinem teilscript: wie kommt es, dass der erste eintrag stehenbleibt??? alles andere ist spitze aber der eintrag der als erstes geschrieben wurde verschwindet nicht mehr!?

btw: mit der DABA haste vollkommen recht! da aber leider keine vorhanden ist bzw die die da ist nicht für diesen zweck genutzt werden kann muss ich auf .txt files ausweichen:-/

mfg

Arne (d4n7e)

Geändert von d4n7e (10-03-2008 um 14:56 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 10-03-2008, 15:33
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von d4n7e
... wie kommt es, dass der erste eintrag stehenbleibt???
Das kann ich dir leider nicht sagen, ich weiss aber, dass die Array-Funktionen korrekt funktionieren. Also wirst du deinen Code debuggen müssen. Achte z.B. auf überflüssige Leerzeichen und ähnliche Dinge.
__________________
Gruss
H2O
Mit Zitat antworten
  #10 (permalink)  
Alt 10-03-2008, 15:35
d4n7e
 Newbie
Links : Onlinestatus : d4n7e ist offline
Registriert seit: Mar 2008
Beiträge: 6
d4n7e ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok gut danke nochmal für deine spitzen hilfe! hast mich echt sehr weit voran gebracht! dann werde ich mich mal ein wenig auf die suche machen...
viel spass weiterhin beim scripten!

mfg

Arne (d4n7e)
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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:48 Uhr.