Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

In Datei speichern

Frage Entwicklung PHP

Mitglied: erik87

erik87 (Level 1) - Jetzt verbinden

13.06.2011 um 16:57 Uhr, 2480 Aufrufe, 3 Kommentare

Hallo,

ich habe mir eine kleine HTML aufgebaut mit einem Formular. Ein Javascript wertet mir darin dieses Formular aus und erstellt einen String, den ich gerne in eine Datei speichern möchte. Nun habe ich ein weilchen gegoogelt und rausgefunden das das mit HTML und Javascript nicht geht, da dies auf dem Anwenderpc und nicht auf dem Server ausgeführt wird.

Mein Javascript:

01.
function Neu_onclick() { 
02.
//Tabelle auslesen 
03.
var Line1 = document.getElementById("Stadt1").value + ";" + document.getElementById("SL1").value + ";" + document.getElementById("RE1").value + ";" + document.getElementById("SW1").value + ";" + document.getElementById("BO1").value + ";" + document.getElementById("HO1").value + ";" + document.getElementById("ST1").value + ";" + document.getElementById("FS1").value + ";" + document.getElementById("BI1").value 
04.
var Line2 = document.getElementById("Stadt2").value + ";" + document.getElementById("SL2").value + ";" + document.getElementById("RE2").value + ";" + document.getElementById("SW2").value + ";" + document.getElementById("BO2").value + ";" + document.getElementById("HO2").value + ";" + document.getElementById("ST2").value + ";" + document.getElementById("FS2").value + ";" + document.getElementById("BI2").value 
05.
var Line3 = document.getElementById("Stadt3").value + ";" + document.getElementById("SL3").value + ";" + document.getElementById("RE3").value + ";" + document.getElementById("SW3").value + ";" + document.getElementById("BO3").value + ";" + document.getElementById("HO3").value + ";" + document.getElementById("ST3").value + ";" + document.getElementById("FS3").value + ";" + document.getElementById("BI3").value 
06.
var Line4 = document.getElementById("Stadt4").value + ";" + document.getElementById("SL4").value + ";" + document.getElementById("RE4").value + ";" + document.getElementById("SW4").value + ";" + document.getElementById("BO4").value + ";" + document.getElementById("HO4").value + ";" + document.getElementById("ST4").value + ";" + document.getElementById("FS4").value + ";" + document.getElementById("BI4").value 
07.
var Line5 = document.getElementById("Stadt5").value + ";" + document.getElementById("SL5").value + ";" + document.getElementById("RE5").value + ";" + document.getElementById("SW5").value + ";" + document.getElementById("BO5").value + ";" + document.getElementById("HO5").value + ";" + document.getElementById("ST5").value + ";" + document.getElementById("FS5").value + ";" + document.getElementById("BI5").value 
08.
var Line6 = document.getElementById("Stadt6").value + ";" + document.getElementById("SL6").value + ";" + document.getElementById("RE6").value + ";" + document.getElementById("SW6").value + ";" + document.getElementById("BO6").value + ";" + document.getElementById("HO6").value + ";" + document.getElementById("ST6").value + ";" + document.getElementById("FS6").value + ";" + document.getElementById("BI6").value 
09.
var Line7 = document.getElementById("Stadt7").value + ";" + document.getElementById("SL7").value + ";" + document.getElementById("RE7").value + ";" + document.getElementById("SW7").value + ";" + document.getElementById("BO7").value + ";" + document.getElementById("HO7").value + ";" + document.getElementById("ST7").value + ";" + document.getElementById("FS7").value + ";" + document.getElementById("BI7").value 
10.
var Line8 = document.getElementById("Stadt8").value + ";" + document.getElementById("SL8").value + ";" + document.getElementById("RE8").value + ";" + document.getElementById("SW8").value + ";" + document.getElementById("BO8").value + ";" + document.getElementById("HO8").value + ";" + document.getElementById("ST8").value + ";" + document.getElementById("FS8").value + ";" + document.getElementById("BI8").value 
11.
var Line9 = document.getElementById("Stadt9").value + ";" + document.getElementById("SL9").value + ";" + document.getElementById("RE9").value + ";" + document.getElementById("SW9").value + ";" + document.getElementById("BO9").value + ";" + document.getElementById("HO9").value + ";" + document.getElementById("ST9").value + ";" + document.getElementById("FS9").value + ";" + document.getElementById("BI9").value 
12.
var Line10 = document.getElementById("Stadt10").value + ";" + document.getElementById("SL10").value + ";" + document.getElementById("RE10").value + ";" + document.getElementById("SW10").value + ";" + document.getElementById("BO10").value + ";" + document.getElementById("HO10").value + ";" + document.getElementById("ST10").value + ";" + document.getElementById("FS10").value + ";" + document.getElementById("BI10").value 
13.
var newline  
14.
// String erstellen 
15.
//Spielername vorhanden? 
16.
var Spvorh = document.getElementById("Spieler").value 
17.
if  (Spvorh == "") { 
18.
    alert("Bitte Spielernamen eingeben") 
19.
20.
else 
21.
22.
    var SaveString = Line1 + "\n" + Line2 + "\n" + Line3 + "\n" + Line4 + "\n" + Line5 + "\n" + Line6 + "\n" + Line7 + "\n" + Line8 + "\n" + Line9 + "\n" + Line10 
23.
    document.getElementById("TB").value = SaveString 
24.
    // in Datei speichern 
25.
    // ??? 
26.
27.
28.
// ]]> 
29.
</script>
Nun habe ich auch schon rausgefunden das das in php ungefähr so aussehen sollte:

01.
<?php 
02.
$datei = fopen('Test.txt', w); 
03.
fwrite($datei, 'test'); 
04.
fclose($datei); 
05.
?>
Jetzt weiß ich nur nicht wie ich den String "SaveString" in die php-Datei "write.php" bekomme, wie ich den php-code ausführe und ob das dann so einfach funktioniert.

Muss die Datei "Test.txt" vorhanden sein? Ich würde gerne für jeden Spieler der sich dort einträgt eine extra Datei anlegen. Wie muss die Dateistruktur aufgebaut sein oder muss ich mit permanenten Adressen arbeiten?


Zur Info, ich programmiere mit Visual Studio 2008. Das javascript befindet sich in der Datei "default.html" und die php im gleichen Ordner namens "write.php"
Mitglied: StefanKittel
13.06.2011 um 18:58 Uhr
Hallo,
google, 2 Sekunden: http://www.phpbox.de/php_tutorials/formularversenden1.php

Besser wäre es eh das ganze in einer MySQL Datenbank zu speichern.
Der Aufwand ist gleich und man vermeidet auch Problem beim gleichzeitigem Zugriff von 2 Benutzern.

Stefan
Bitte warten ..
Mitglied: 76109
13.06.2011 um 20:18 Uhr
Möglicherweise funktioniert's mit VB-Script:
01.
<SCRIPT Language="VBScript"> 
02.
    Const Von = 1 
03.
    Const Bis = 10 
04.
    Const Path = "E:\Test\" 
05.
     
06.
    Sub Neu_onclick() 
07.
        Dim Fso, File, ById, Token, Text, i, c 
08.
         
09.
        ById = Array("Stadt", "SL", "RE", "SW", "BO", "HO", "ST", "FS", "BI") 
10.
         
11.
        ReDim Token(UBound(ById)) 
12.
 
13.
        For i = Von To Bis 
14.
            For c = 0 To UBound(ById) 
15.
                Token(c) = document.getElementById(ById(c) & i).Value 
16.
            Next 
17.
             
18.
            Text = Text & Join(Token, ";") & vbCrLf 
19.
        Next 
20.
 
21.
        Spieler = document.getElementById("Spieler").Value 
22.
 
23.
        If Spieler = "" Then 
24.
            MsgBox "Bitte Spielernamen eingeben:", ,"Spieler..." 
25.
        Else 
26.
            document.getElementById("TB").Value = Text 
27.
            Set Fso = CreateObject("Scripting.FileSystemObject") 
28.
            Set File = Fso.CreateTextFile(Path & Spieler & ".txt"):  File.Write Text:  File.Close 
29.
        End If 
30.
    End Sub 
31.
</SCRIPT>
Wobei die Werte in einer kleinen Schleife gesammelt und in die Variable Text (inkl. Trennzeichen und Zeilenschaltung) geschrieben werden.

Gruß Dieter
Bitte warten ..
Mitglied: EinTyp
17.06.2011 um 18:14 Uhr
Hallo,

Hier ist ein Beispiel ohne JavaScript:

default.html:
01.
<form action="write.php" method="POST"> 
02.
  <!-- 
03.
  hier drin hast du dein ganzes Formular 
04.
  alle input-Tags haben jetzt auch ein name-Attribut, welches dem id-Attribut gleicht 
05.
  zB aus <input type="text" id="Stadt1" /> 
06.
  wird <input type="text" id="Stadt1" name="Stadt1" /> 
07.
  --> 
08.
  <input type="submit" value="Abschicken" /> <!-- mit einem Submit-Button --> 
09.
</form>
Die ganzen Daten werden jetzt an das PHP-Skript weitergeleitet und verarbeitet.

write.php:
01.
$line1 = $_POST['Stadt1'].";".$_POST['SL1'].";".$_POST['RE1'].";".$_POST['SW1'].";".$_POST['BO1'].";".$_POST['HO1'].";".$_POST['ST1'].";".$_POST['FS1'].";".$_POST['BI1']; 
02.
$line2 = $_POST['Stadt2'].";".$_POST['SL2'].";".$_POST['RE2'].";".$_POST['SW2'].";".$_POST['BO2'].";".$_POST['HO2'].";".$_POST['ST2'].";".$_POST['FS2'].";".$_POST['BI2']; 
03.
$line3 = $_POST['Stadt3'].";".$_POST['SL3'].";".$_POST['RE3'].";".$_POST['SW3'].";".$_POST['BO3'].";".$_POST['HO3'].";".$_POST['ST3'].";".$_POST['FS3'].";".$_POST['BI3']; 
04.
$line4 = $_POST['Stadt4'].";".$_POST['SL4'].";".$_POST['RE4'].";".$_POST['SW4'].";".$_POST['BO4'].";".$_POST['HO4'].";".$_POST['ST4'].";".$_POST['FS4'].";".$_POST['BI4']; 
05.
$line5 = $_POST['Stadt5'].";".$_POST['SL5'].";".$_POST['RE5'].";".$_POST['SW5'].";".$_POST['BO5'].";".$_POST['HO5'].";".$_POST['ST5'].";".$_POST['FS5'].";".$_POST['BI5']; 
06.
$line6 = $_POST['Stadt6'].";".$_POST['SL6'].";".$_POST['RE6'].";".$_POST['SW6'].";".$_POST['BO6'].";".$_POST['HO6'].";".$_POST['ST6'].";".$_POST['FS6'].";".$_POST['BI6']; 
07.
$line7 = $_POST['Stadt7'].";".$_POST['SL7'].";".$_POST['RE7'].";".$_POST['SW7'].";".$_POST['BO7'].";".$_POST['HO7'].";".$_POST['ST7'].";".$_POST['FS7'].";".$_POST['BI7']; 
08.
$line8 = $_POST['Stadt8'].";".$_POST['SL8'].";".$_POST['RE8'].";".$_POST['SW8'].";".$_POST['BO8'].";".$_POST['HO8'].";".$_POST['ST8'].";".$_POST['FS8'].";".$_POST['BI8']; 
09.
$line9 = $_POST['Stadt9'].";".$_POST['SL9'].";".$_POST['RE9'].";".$_POST['SW9'].";".$_POST['BO9'].";".$_POST['HO9'].";".$_POST['ST9'].";".$_POST['FS9'].";".$_POST['BI9']; 
10.
$line10 = $_POST['Stadt10'].";".$_POST['SL10'].";".$_POST['RE10'].";".$_POST['SW10'].";".$_POST['BO10'].";".$_POST['HO10'].";".$_POST['ST10'].";".$_POST['FS10'].";".$_POST['BI10']; 
11.
$spieler = $_POST['Spieler']; 
12.
 
13.
// Es wird für jeden Spieler eine Datei angelegt in /Spieler/<Spieler-Name>.txt 
14.
//Der Ordner "Spieler" muss erstellt werden 
15.
$datei = fopen("/Spieler/".$spieler.".txt", "w"); // Datei wird automatisch erzeugt 
16.
fwrite($datei, "$line1\n$line2\n$line3\n$line4\n$line5\n$line6\n$line7\n$line8\n$line9\n$line10\n"); 
17.
fclose($datei);
Aber ich muss StefanKittel Recht geben, dass das ganze mit Hilfe einer Datenbank viel praktischer handzuhaben ist.
Auf Nachfrage werde ich auch ein PHP-Skript schreiben, welches mit der Datenbank arbeitet.

-eintyp-
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

VB for Applications
gelöst Xml-Datei laden bzw. auf Festplatte kopieren und per VBA in eine Access-Tabelle speichern (22)

Frage von machohunk zum Thema VB for Applications ...

VB for Applications
gelöst Datei mit variablem Namen einlesen und als Excel speichern (1)

Frage von Anrion zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...