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, 2504 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 ..
Ähnliche Inhalte
PHP
gelöst ZIP-Datei auf Server speichern (23)

Frage von Yanmai zum Thema PHP ...

C und C++
C-sharp soll Datei von PHP speichern (3)

Frage von Yanmai zum Thema C und C ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Rechtliche Fragen
gelöst Geschäftsführer Email gefaked (15)

Frage von xbast1x zum Thema Rechtliche Fragen ...

Festplatten, SSD, Raid
gelöst Welche Software für Bandlaufwerk (14)

Frage von djonas zum Thema Festplatten, SSD, Raid ...

Vmware
gelöst Update auf ESXI 6.5 Installieren (13)

Frage von zeroblue2005 zum Thema Vmware ...