You are not logged in.

wcf.regNote.message

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

1

Tuesday, June 3rd 2003, 1:29pm

Textdatei in HTML-Seite einbetten

sodele, ich hab da mal ein problem :D

ich möchte ne html seite erstellen, in der dann mittels php eine textdatei eingelesen wird. die textdatei hat eine festgelegte anzahl an zeilen und jede zeile hat eine bestimmte länge. jede zeile soll dann in eine variable gelesen werden, so das man zeile für zeile separat ausgeben kann. hier mal das grundgerüst dazu:

<html><head></head>
<body>
<?php
<!-- hier wird die textdatei eingelesen -->
?>
<table>
<?php
<!-- hier muß eine schleife hin, die so oft läuft wie es zeilen (datensätze) in der textdatei gibt -->
?>
<tr>
<td><?php echo $data[$count]; ?></td>
</tr>
<?php
<!-- hier endet die schleife -->
?>
</table>
</body>
</html>

so, um das ganze jetzt noch auf die spitze zu treiben brauch ich dann ne zweite seite, welche pw-geschützt ist und über die ich dann diese textdatei bearbeiten kann. wenn ich mal weiß wie ich die datei einlese ist das aber kein problem denke ich. ich mach einfach nen form der die variablen alle abfragt und schreibe diese dann in nem extra file per fwrite in die datei (oder?)
thx für die hilfe!
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Exekutor

Trainee

Posts: 78

  • Send private message

2

Saturday, June 14th 2003, 1:10pm

Hi,

so ein Script ist nicht schwer!

Kann Dir die Ansätze mit auslesen usw. gerne schreiben.

Aber, Frage: Wieso arbeitest Du mit Textdateien und nicht mit einer MySQL Datenbank?


Greets Exe

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

3

Saturday, June 14th 2003, 1:13pm

das brauch ich für ne ganz einfache seite die ich für nen kunden mache und der möchte die möglichkeit haben daten einzugeben für seine tageskarte. das heißt es gibt 6 gerichte die einzeln eingegeben werden müssen und 6 preise dazu. die 12 felder sollen also untereinander in die textdatei und dann hab ich ganz einfach per htaccess ne geschützte seite die in einem form diese 12 felder anzeigt und abspeichert. nur wie gesagt funktioniert das aus irgend nem grund nicht. wenn du da was weißt bin ich sehr dankbar :)
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Exekutor

Trainee

Posts: 78

  • Send private message

4

Saturday, June 14th 2003, 1:18pm

Das könnte an der Server konfiguration liegen!

Ihr habt nicht zufällig zugriff auf die php.ini? bzw. wißt ob fopen usw. aktiviert oder deaktiviert ist? Und ob secure_mode = on oder = off ist?

Greets Exe

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

5

Saturday, June 14th 2003, 1:20pm

ne zugriff darauf hab ich nur indirekt also ich muß jemand bescheid geben das da was geändert werden soll. fopen ist aktiviert und secure_mode auch. das weiß ich da ich das für andere dinge schon gebraucht hab. fopen tut auch problemlos genau wie fclose usw. nur irgendwas mach ich halt falsch das der scheiß net will.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Exekutor

Trainee

Posts: 78

  • Send private message

6

Saturday, June 14th 2003, 1:28pm

Also secure_mode = on ist schon eine schlechte vorraussetzung!

Ne Schönheitssache ist auch register_globals,.. sollte = off stehen,.. Aber ist halt ne schönheits und bisschen security sache!


Greets Exe

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

7

Saturday, June 14th 2003, 1:31pm

ich laß mir die aktuelle php.ini mal schicken und laß dich mal nen blick drauf werden. hab selber nur mal kurz nen apache server mit php installiert gehabt und muß sagen das ich mich sooo gut damit auch net auskenne.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Exekutor

Trainee

Posts: 78

  • Send private message

8

Saturday, June 14th 2003, 1:38pm

Kurze Erklärung,...

secure_mode = on => Schlecht weil einige Prozesse usw. evtl. nicht zugelassen werden. Möglich ist es zwar aber Standart ist halt = off!

register_globals = on => Funktioniert aber ist unschön. Inzwischen ist register_globals = off auch schon standart, meine ich. Ich glaube ab PHP 4. irgendwas!
Hat was mit der Varbiabelen übergebung zu tun.
Bei register_gobals = on, kann wenn die Variabele $test über Formular, also POST oder Adresse (datei.php?test=1) also GET einfach im Script als $test verwendet werden.
Dadurch gibt es natürlich manipulations möglichkeiten. Bei register_globals = off muß $test dann aber über $_GET['test'] bzw. $HTTP_GET_VARS['test'] oder $_POST['test'] bzw. $HTTP_POST_VARS['test'] aufgerufen werden. Damit kann dann ganz klar definiert werden ob es über GET oder POST kommt und einfach mit $test aufrufen ist nicht mehr möglich. Ist echt besser so!
z.B. bei Gästebuch kann es nicht mehr gespammt werden, wenn man die Daten immer über GET rein schmeißt, weil nur POST akzeptiert wird,...



Greets Exe

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

9

Monday, June 16th 2003, 7:59am

sodele,
hier mal was ich bis jetzt hab. versteh nur nicht warum der schrott nicht funktioniert!

Quoted

<html>
<title>Bistro-Krokodil</title>
<head>
</head>
<body bgcolor=#000000 text="#C0C0C0">
<?php
$data = fopen("tageskarte.txt","r");
while (!feof($data))
{
$line[$Data] = fgets($Data, 1024);
echo "Eintrag";
}
?>
<table>
<?php
$Data = 1;
while ($Data < 12): $Data++;
{?>
<tr>
<td><?php echo $line[$Data]; ?></td>
</tr>
<?php
}

</body>
</html>


brauch da bitte ganz dringend hilfe! die zeit drängt 8o
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Exekutor

Trainee

Posts: 78

  • Send private message

10

Monday, June 16th 2003, 12:37pm

Also,

abgesehen davon, das dein nicht vorhandener Stil grausam ist und einige Tags gar nicht wieder abgeschloßen wurden denke ich, ich bau Dir wirklich nen neues!

Also Du brauchst einfach nur, das er 12 Zeilen ausliest und die dann ausgibt?


Greets Exe

Exekutor

Trainee

Posts: 78

  • Send private message

11

Monday, June 16th 2003, 1:16pm

Also ich habe mir mal eben was aus den Fingern gesogen. Wehe es gefällt nicht! Waren mindestens 3 Minuten Arbeit! ;)

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$handle fopen ("beispiel.txt""r");
$zeile = array ( '' );
while ( !feof $handle ) ) 
{
    $buffer fgets $handle );
    array_push ($zeile$buffer);
}
fclose $handle );

echo $zeile['12'];

?>


Und mit

PHP Source code

1
echo $zeile['zeilennummer'];


Also für Zeile 4 mit:

PHP Source code

1
echo $zeile['4'];


Kann dann halt jede existierende Zeile aufgerufen werden.

PHP Source code

1
echo
kann natürlich durch andere Ausgaben erstetzt werden!

So gut, oder willste noch mehr? Muß erstmal essen! :D


Greets Exe

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

12

Monday, June 16th 2003, 1:23pm

dat is schonmal net übel ... jetzt brauch ich noch en form um die 12 einträge editieren zu können. das form leg ich in nen separaten ordner den ich mit .htaccess schütze. denke das wird reichen als schutz für das skript.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Exekutor

Trainee

Posts: 78

  • Send private message

13

Monday, June 16th 2003, 2:09pm

Ähh,

muß man mit dem Form die alten bearbeiten können, oder soll bei jedem mal wo das Form abgesendet wird, einfach die alte Datei gelöscht und mit den neuen Daten überschrieben werden?

Letzteres wäre einfacher ;)


Greets Exe

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

14

Monday, June 16th 2003, 2:15pm

hmmm ... ich hätte jetzt gedacht ich mach das gleiche wie du oben geschrieben hast um die variablen erst mal auszulesen. dann erstelle ich ein form welches die variablen nutzt also sprich als value geb ich auch die variable an so das in dem form gleich der entsprechende eintrag drin steht. ich bräuchte dann doch nurnoch hingehen und am ende des forms also sprich wenn submit gepresst wurde in nen anderen codeteil springen wo die variablen wieder in die textdatei geschrieben werden oder net?

so hätt ich das zumindest versucht. wenn du was besseres weißt schlag ruhig vor :)
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Exekutor

Trainee

Posts: 78

  • Send private message

15

Monday, June 16th 2003, 2:20pm

hmm jo, ok mach ich dir fertig!

Nur mit dem Unterschied, ich werde am Ende nicht die Variabelen in der Textdatei umschreiben, sondern die Datei löschen und neu schreiben! ist einfacher! ;)


Greets Exe

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

16

Monday, June 16th 2003, 2:26pm

meine herren, ich glaub ich bin echt unfähig. hier was ich grad auf die schnelle zusammen gebastelt hab.

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<html>
<title>Bistro-Krokodil</title>
<head>
</head>
<body bgcolor=#000000 text="#C0C0C0">
<?php
$handle fopen ("tageskarte.txt""r");
$zeile = array ( '' );
while ( !feof $handle ) )
{
    $buffer fgets $handle );
    array_push ($zeile$buffer);
}
fclose $handle );
## echo $zeile['12'];
?>
<table width=80% border=0 cellspacing=0 cellpadding=0>
    <tr>
        <td width=70%>
            <? echo $zeile['1']; ?>
        </td>
        <td width=30%>
            <? echo $zeile['2']; ?>
        </td>
    </tr>
    <tr>
        <td width=70%>
            <? echo $zeile['3']; ?>
        </td>
        <td width=30%>
            <? echo $zeile['4']; ?>
        </td>
    </tr>
    <tr>
        <td width=70%>
            <? echo $zeile['5']; ?>
        </td>
        <td width=30%>
            <? echo $zeile['6']; ?>
        </td>
    </tr>
    <tr>
        <td width=70%>
            <? echo $zeile['7']; ?>
        </td>
        <td width=30%>
            <? echo $zeile['8']; ?>
        </td>
    </tr>
    <tr>
        <td width=70%>
            <? echo $zeile['9']; ?>
        </td>
        <td width=30%>
            <? echo $zeile['10']; ?>
        </td>
    </tr>
    <tr>
        <td width=70%>
            <? echo $zeile['11']; ?>
        </td>
        <td width=30%>
            <? echo $zeile['12']; ?>
        </td>
    </tr>
</table>
</body>
</html>


ne idee warum mir das scheißding wieder kein ergebnis liefert? die textdatei ist vorhanden und auch manuell gefüllt.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Exekutor

Trainee

Posts: 78

  • Send private message

17

Monday, June 16th 2003, 3:01pm

Hi,

dem anderen Problem nehme ich mich gleich an!

Erstmal hier das Form!

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php

if ( $_POST['eintragen'] )
{


    $handle fopen "beispiel.txt" "w+" );
    
    fwrite $handle$_POST['zeile1'] );
    fwrite $handle$_POST['zeile2'] );
    fwrite $handle$_POST['zeile3'] );
    fwrite $handle$_POST['zeile4'] );
    fwrite $handle$_POST['zeile5'] );
    fwrite $handle$_POST['zeile6'] );
    fwrite $handle$_POST['zeile7'] );
    fwrite $handle$_POST['zeile8'] );
    fwrite $handle$_POST['zeile9'] );
    fwrite $handle$_POST['zeile10'] );
    fwrite $handle$_POST['zeile11'] );
    fwrite $handle$_POST['zeile12'] );
    
    fclose $handle );
    
    die ( "Die Datei wurde geändert" );
}
//Datei auslesen und Zeilen in ein Array schreiben
$handle fopen ("beispiel.txt""r");
$zeile = array ( '' );
while ( !feof $handle ) ) 
{
    $buffer fgets $handle );
    array_push ($zeile$buffer);
}
fclose $handle );
//Ende Datei auslesen

echo '
<form action="' $PHP_SELF '" method="post">
<input type="text" value="' $zeile['1'] . '" name="zeile1"><br />
<input type="text" value="' $zeile['2'] . '" name="zeile2"><br />
<input type="text" value="' $zeile['3'] . '" name="zeile3"><br />
<input type="text" value="' $zeile['4'] . '" name="zeile4"><br />
<input type="text" value="' $zeile['5'] . '" name="zeile5"><br />
<input type="text" value="' $zeile['6'] . '" name="zeile6"><br />
<input type="text" value="' $zeile['7'] . '" name="zeile7"><br />
<input type="text" value="' $zeile['8'] . '" name="zeile8"><br />
<input type="text" value="' $zeile['9'] . '" name="zeile9"><br />
<input type="text" value="' $zeile['10'] . '" name="zeile10"><br />
<input type="text" value="' $zeile['11'] . '" name="zeile11"><br />
<input type="text" value="' $zeile['12'] . '" name="zeile12"><br />
<br />
<input type="submit" value="Eintragen" name="eintragen">
</form>';
?>


Sieht nicht sehr schön aus und es gibt sicher noch effizientere Wege, aber es funktioniert!


Greets Exe

Nachtrag von mir:

Die Textdatei sollte den chmod 777 haben!

Exekutor

Trainee

Posts: 78

  • Send private message

18

Monday, June 16th 2003, 3:05pm

Hi,

also ich weiß nicht, was Du für ein Problem hast!

Ich habe dein Script da oben kopiert, bei mir drauf geschmießen und es geht wunderbar!

Habe es nicht verändert! Zu sehen unter http://hollow-security.de/tageskarte.php

Greets Exe

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

19

Monday, June 16th 2003, 3:08pm

versteh ich net ... wie zum geier kann das sein?

gugg ma hier

da auf tageskarte. der scheiß will einfach net!

die textdatei liegt auch da (textdatei )
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Exekutor

Trainee

Posts: 78

  • Send private message

20

Monday, June 16th 2003, 3:12pm

Na ganz einfach!

Du hast die Datei .htm genannt!

Aber da wird der PHP code nicht geparst!

Benenn die wie ich in .php um und schon wird es laufen!



Greets Exe

wcf.user.socialbookmarks.titel