You are not logged in.

wcf.regNote.message

Manuel

Trainee

  • "Manuel" started this thread

Posts: 64

  • Send private message

1

Sunday, June 11th 2006, 5:39pm

$php_self

Hallo Leute,

kann mir einer von euch erklären was das bedeutet??

<form action="<?echo $php_self;?>" method="POST">

mich interessiert der PHP teil, der rest ist klar.
Gruß M-Arens

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

2

Monday, June 12th 2006, 1:23pm

$php_self ist der Name der PHP Datei die diese Ausgabe erzeugt.

Also z.B. in der test.php steht folgendes:
<? echo $php_self; ?>

Dann sollte test.php ausgegeben werden.
Allerdings glaube ich des, des vor so festgelegt wurde. Da soviel ich weiß es eine solche Var nicht gibt, wenn dann nur folgende Möglichkeit diese Var sich zu erstellen:
$php_self = $_SERVER['SCRIPT_NAME']

Ciao Ephraim

Manuel

Trainee

  • "Manuel" started this thread

Posts: 64

  • Send private message

3

Tuesday, June 13th 2006, 9:56am

Also ein paar mehr Details:

ich habe das mal in einem Code gesehen und dachte das dann meine Form Felder zu Variablen werden.
Hier mal der code wo ich das anwende:

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
    <!-- Datensatz anlegen ############################################################################################# -->
    <table border=1>
      <tr>
        <td colspan=2 align="center">
          <b>Neuer Datensatz</b>
          <br>
          <br>
        </td>
      </tr>
      <tr>
        <td>
          <form action="<?echo $php_self;?>" method="POST">            Titel:&nbsp;
        </td>
        <td>
          <input type=text name=titel class=sform>
        </td>
      </tr>
      <tr>
        <td>          Interpret:&nbsp;
        </td>
        <td>
          <input type=text name=interpret class=sform>
        </td>
      </tr>
      <tr>
        <td>          Art:&nbsp;
        </td>
        <td>
          <select type=text name=art class=sform>
                    <option value="*"></option>
<?
$result = mysql_query("SELECT * FROM `mta_art`");
while($row = mysql_fetch_array($result)) {
        echo "<option value=\"".$row['art']."\">".$row['art']."</option>";
}
                    ?>
          </select>
        </td>
      </tr>
      <tr>
        <td>          Kategorie:&nbsp;
        </td>
        <td>
          <select type=text name=kategorie class=sform>
          <option value="*"></option>
<?
$result = mysql_query("SELECT * FROM `mta_kategorie`");
while($row = mysql_fetch_array($result)) {
        
         echo "<option value=\"".$row['kategorie']."\">".$row['kategorie']."</option>";
}
                    ?>
          </select>
        </td>
      </tr>
      <tr>
        <td>          Länge:&nbsp;
        </td>
        <td>
          <input type=text name=laenge class=sform>
        </td>
      </tr>
      <tr>
        <td>          Verliehen:&nbsp;
        </td>
        <td>
          <input type=text name=verliehen class=sform>
        </td>
      </tr>
      <tr>
        <td>          Verliehen an:&nbsp;
        </td>
        <td>
          <input type=text name=verl_an class=sform>
        </td>
      </tr>
      <tr>
        <td>          &nbsp;
        </td>
        <td>
          <input type="hidden" name="wert_ein" value=1>
          <input type=submit name=eintragen value=Eintragen class=sbuttonk>          &nbsp;&nbsp;&nbsp;
          <input type=reset name=abbrechen value=Abbrechen class=sbuttonk>
          </form>
        </td>
      </tr>
    </table>
    </td>
    </tr>
    <tr>
      <td height=22 background=../images/punkt.png>
<?
//neuen Datensatz anlegen
if($wert_ein==1) {
  if($title=="" or $interpret=="" or $art=="" or $kategorie=="" or $laenge=="") {
    echo "<font color='$w_farbe'>Bitte <b>alle</b> Felder ausf&uuml;llen.</font>";
  }
  else {
    mysql_query("INSERT INTO mta_liste (title,interpret,art,kategorie,laenge)
                   VALUES('$titel','$interpret','$art','$kategorie','$laenge')");
      echo "<font color='000000'>Die Daten wurden gespeichert.</font>";
    }
    
  }
#####################################################################################################################
        ?>
      </td>
    </tr>


aber mein Problem ist das die Datensätze nicht geschrieben werden.
Gruß M-Arens

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

4

Tuesday, June 13th 2006, 11:59am

Steht denn wenn du dir den Quellcode deiner erstellten HTML Seite anschaust in der Action vom Form deine PHP Datei drin?

Wenn ja dann ist register_globals wahrscheinlich aus und du musst, da du also METHOD in deinem Form "post" genommen hast, deine Variablen aus dem Array $_POST nehmen. Also z.B. um den Interpreten zu bekommen musst du dann folgendes machen:
$interpret = $_POST['interpret'];

Ciao Ephraim

Manuel

Trainee

  • "Manuel" started this thread

Posts: 64

  • Send private message

5

Tuesday, June 13th 2006, 12:06pm

Quoted

Steht denn wenn du dir den Quellcode deiner erstellten HTML Seite anschaust in der Action vom Form deine PHP Datei drin?


Verstehe nicht wie du das meinst!!

Aber wenn ich die aktion <?echo $php_self;?> einfach weg lasse und das über Post mache sollte das doch auch klappen oder??

Hier noch mal der PHP teil wie jetzt geändert:

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
<?
//Variablen zuweisen
$titel = $_POST['titel'];
$interpret = $_POST['interpret'];
$art = $_POST['art'];
$kategorie = $_POST['kategorie'];
$laenge = $_POST['laenge'];
$verliehen = $_POST['verliehen'];
$verl_an = $_POST['verl_an'];
//neuen Datensatz anlegen
if($wert_ein==1) {
  if($title=="" or $interpret=="" or $art=="" or $kategorie=="" or $laenge=="") {
    echo "<font color='$w_farbe'>Bitte <b>alle</b> Felder ausf&uuml;llen.</font>";
  }
  else {
    mysql_query("INSERT INTO mta_liste (title,interpret,art,kategorie,laenge,verliehen,verl_an)
                   VALUES('$titel','$interpret','$art','$kategorie','$laenge','$verliehen','$verl_an')");
      echo "<font>Die Daten wurden gespeichert.</font>";
    }
    
  }
#####################################################################################################################
        ?>
Gruß M-Arens

This post has been edited 1 times, last edit by "Manuel" (Jun 13th 2006, 12:22pm)


Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

6

Wednesday, June 14th 2006, 9:52am

Einfach weglassen geht nicht (so ca.) :) ... Du kannst aber den PHP Teil rausschmeissen und von Hand die PHP Datei da eintragen die das Ergebnis des Forms verarbeitet.

Ciao Ephraim

Manuel

Trainee

  • "Manuel" started this thread

Posts: 64

  • Send private message

7

Wednesday, June 14th 2006, 7:19pm

Gut, aber wie schreibt man so eine PHP Datei, habe so was noch nicht gemacht!!!!
Gruß M-Arens

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

8

Friday, June 16th 2006, 8:31pm

Stell dir des doch net sooo kompliziert vor!!

Einfach den Dateinamen der Datei die das Form als nächstes aufrufen soll.

Also z.B.:
Du hast eine Datei die heisst form.php. Diese erstellt dir dein Form und stellt des dar.
Die Ergebnisse aus dem Form sollen via POST Methode an die Datei form_verarbeitung.php geschickt werden. Also heisst dann dein Form Tag wie folgt:
<form action="form_verarbeitung.php" method="post">
....
</form>

So jetzt alles klar?

Ciao Ephraim

Manuel

Trainee

  • "Manuel" started this thread

Posts: 64

  • Send private message

9

Monday, June 19th 2006, 9:07am

So nach nen Urlaub bin ich wieder da und stelle blöde fragen!!!! :P :P :P

Gut so weit verstanden und die auswertung findet dann in der Datei form_verarbeitung.php statt oder wie?
Also ich meine da schreibe ich dann meine Datensätze??
Was muss sonst noch in der datei form_verarbeitung.php drin stehen???
Gruß M-Arens

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

10

Monday, June 19th 2006, 9:34am

Was passiert in der form_verarbeitung.php ...
Hmmm ansich die Daten die der Benutzer in dein Form eingegeben hat weiterverarbeiten. Sprich in die DB schreiben, vorher verifizieren soweit nötig bzw. möglich usw.
Dann würde ich dir noch ne Ausgabe für den Benutzer empfehlen, Fehler oder kein Fehler.
Und dann vielleicht noch eine Weiterleitung auf eine nächste Seite oder so.

Aber ansich is des deine Sache was du dann da in die PHP Datei reinproggst ;)

Ciao Ephraim

wcf.user.socialbookmarks.titel