Registrierung
Teammitglieder
Download-Support
Zur Startseite
Mitgliederliste
Suche
Kalender
Häufig gestellte Fragen
Portal
Chat
Link Us

 
Boardmenü
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

Guckloch
Hier kann man sich über die letzten Beiträge im Board live informieren, das kleine Fenster welches sich durch einen Klick öffnet aktualisiert sich von alleine alle 60 Sekunden.

Guckloch öffnen

Rechner-Support Toolbar

toolbar powered by Conduit

Team
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

Boardsuche
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

TopForen
» Off-Topic
mit 21846 Beiträgen
in 1833 Themen

» PC- Probleme allgemein
mit 18498 Beiträgen
in 1388 Themen

» Treiber Bereich- Feedback
mit 10461 Beiträgen
in 3359 Themen

» Fun-Area
mit 9965 Beiträgen
in 592 Themen

» Spiele
mit 6873 Beiträgen
in 51 Themen


Links
zur Linkliste
- Andere Foren
- Internet
- Online Shops
- Treiber

Forenliste
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

Rechner-Support » Software / Internet / Handy / Treiber- Feedback » Programmieren » PHP Protokollskript - Problem in Verbindung mit DB » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Protokollskript - Problem in Verbindung mit DB
Autor
Beitrag « »

rich rich ist männlich
Jungspund


images/avatars/avatar-832.jpg

Dabei seit: 02.01.2008
Beiträge: 20
Dieser User hat sich mal bedankt CPU: Core 2 Duo T7100 @ 1,80 GHZ

Protokollskript - Problem in Verbindung mit DB Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Huhu,
ich hab ein kleines techn. Problem mit meinem Protokolluploadskript.
Der Upload und das anschließende Versenden der Datei per Email funktioniert ohne Probleme, allerdings trägt es nichts in die Datenbank ein, um es von dort ebenfalls auslesen zu können.

Wo liegt in meinem Skript der Fehler? Augenzwinkern Ist evtl. ein wenig unsauber programmiert, aber ich bitte um Rücksichtsnahme smile

Anbei der Code + .rar Archiv

Danke und viele Grüße


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:

//database.php

<?php
// Connect to database
$mysql_server "localhost";
$mysql_user "xyz";
$mysql_pwd "xyz";
$mysql_db "xyz";
$connect mysql_connect("$mysql_server","$mysql_user","$mysql_pwd");
mysql_select_db($mysql_db,$connect);

if (!$connect)
{
        echo "<font face=\"Tahoma,Verdana,Arial\" color=\"black\">Die Verbindung zur Datenbank ist z.Z. nicht m&ouml;glich.<br>Versuchen Sie es bitte <a href=\"javascript:location.reload()\">nocheimal</a>.</font>\n";
    exit;
}


php?>


php:
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:

// index.php

<?php
    
    include("database.php");
    include("mail.php");
php?>
<head>
</head>

<body></body>
<p class="globalhead">Protokollarchiv</p>
<p class="headline">Kategorie1:
<ul>
<?php
    $sql "SELECT id, kategorie, DATE_FORMAT(datum,'%d') as tag, DATE_FORMAT(datum,'%m') as monat, DATE_FORMAT(datum,'%Y') as jahr, file FROM protocol_test WHERE kategorie=1 ORDER BY datum";
    $erg mysql_query($sql);
    
    while (list($id,$kategorie,$tag,$monat,$jahr,$file) = mysql_fetch_row($erg))
    {
        echo"<li><a href=\"../protokolle/$file\">ProtokollKategorie1 vom $tag.$monat.$jahr</a></li>";
    } //endwhile

?>
</ul>
<p class="headline">Kategorie2:</p>
<ul>
<?php
    $sql "SELECT id, kategorie, DATE_FORMAT(datum,'%d') as tag, DATE_FORMAT(datum,'%m') as monat, DATE_FORMAT(datum,'%Y') as jahr, file FROM protocol_test WHERE kategorie=2 ORDER BY datum";
    $erg mysql_query($sql);
    
    while (list($id,$kategorie,$tag,$monat,$jahr,$file) = mysql_fetch_row($erg))
    {
        echo"<li><a href=\"../protokolle/$file\">ProtokollKategorie2 vom $tag.$monat.$jahr</a></li>";
    } //endwhile

php?>
</ul>
<p align="center"><a href="hinzufuegen.php">neues Protokoll hinzuf&uuml;gen</a></p>
<p align="center"><a href="../index.php">Zur&uuml;ck</a></p>
<p>&nbsp; </p>
</body>
</html>


php:
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:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:

// hinzufuegen.php

<?php
    
    include("database.php");
    include("mail.php");
    
    if($_POST['add'])
    {
        if($_FILES['localupload']['name']!="") {
            $datum $_POST['jahr']."-".$_POST['monat']."-".$_POST['tag'];
            
            $endung substr($_FILES['localupload']['name'], strrpos($_FILES['localupload']['name'],".")+1);
            
            if($_POST['kategorie'] == 1) {
                $newFilename "staru_$datum.$endung";
                $to=$strTo_StaRu;
            }
            else {
                $newFilename "stafue_$datum.$endung";
                $to=$strTo_StaFue;
            }
            
            move_uploaded_file($_FILES['localupload']['tmp_name'], $protodir."/".$newFilename);
            $sql "INSERT INTO protocol_test (id,kategorie,datum,file) VALUES ($_POST[kategorie],$datum,$newFilename)";
            $result mysql_query($sql);
            
            //Dateianhang als BASE64 Codieren
            $datei_content fread(fopen($protodir."/".$newFilename,"r"),filesize($protodir."/".$newFilename));
            $datei_content chunk_split(base64_encode($datei_content));
            $boundary =strtoupper(md5(uniqid(time())));
            
            $subject "Protokoll vom $_POST[tag].$_POST[monat].$_POST[jahr]";            
            $mail_header "From: Protokollpfadfinder <protokoll@pfadfinder-steppenwolf.de>";
        
             /* Generiere einen Boundary */
            $boundary strtoupper(md5(uniqid(time())));

            /* Beginne den Mail-Header mit MIME-Mail-Header */
            $mail_header .= "\nMIME-Version: 1.0";
            $mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
            $mail_header .= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";
    
            /* Hier faengt der normale Mail-Text an */
            $mail_content str_replace("_%Dateiname%_"$newFilename$mail_content); //aktueller Dateiname noch hinzufügen
            $mail_header .= "\n--$boundary";
            $mail_header .= "\nContent-Type: text/plain"//$content_type
            $mail_header .= "\nContent-Transfer-Encoding: 8bit";
            $mail_header .= "\n\n$mail_content";
        
            /* Hier faengt der Datei-Anhang an */
            $mail_header .= "\n--$boundary";
            $mail_header .= "\nContent-Type: ".$_FILES[$_POST['localupload']]['type']."; name=\"$newFilename\"";
            
            /* Lese aus dem Array $contenttypes die Codierung fuer den MIME-Typ des Anhangs aus */
            $mail_header .= "\nContent-Transfer-Encoding: base64";
            $mail_header .= "\nContent-Disposition: attachment; filename=\"$newFilename\"";
            $mail_header .= "\n\n$datei_content";
    
            /* Gibt das Ende der eMail aus */
            $mail_header .= "\n--$boundary--";
    
            mail($to,$subject,"",$mail_header);
            
                    }
        else {
        $uploadfalse true;
        $errMessage "Es wurde keine Datei zum Hochladen ausgewählt";        
        }
    }
php?>



<body>
<p class="globalhead">Protokollarchiv</p>
 <?php 
if($uploadfalse) {
    Echo "<p><span class=\"errorMessage\">$errMessage</span></p>";
    }
if($_POST['add'] && !$uploadfalse) 
{
php?>
<p></p>
<p span class="headline">Protokoll erfolgreich hinzugef&uuml;gt</p>
<p>Urspr&uuml;nglicher Dateiname: <? echo  $_FILES['localupload']['name']; ?> <br />
  Neuer Dateiname: <? echo $newFilename?></p>
<p>Datei erfolgreich hochgeladen und per Mail verschickt</p>
<p><a href="index.php">zur&uuml;ck zur Protokoll&uuml;bersicht</a> <br />
</p>
<?php
}
else {
php?>
<p class="headline">Neues Protokoll hinzuf&uuml;gen:</p>
<form name="add" method="post" action="" enctype="multipart/form-data">
<table width="393" border="0" cellspacing="4" cellpadding="2">
    <tr>
      <td width="70">Kategorie:</td>
      <td width="300">
        <select name="kategorie">
          <option value="1">Stammesrunde</option>
          <option value="2">Stammesf&uuml;hrungsrunde</option>
        </select></td>
    </tr>
    <tr>

      <td width="70">Datum:</td>
      <td>
        <select name="tag">
          <option value="01">01</option>
          <option value="02">02</option>
          <option value="03">03</option>
          <option value="04">04</option>
          <option value="05">05</option>
          <option value="06">06</option>
          <option value="07">07</option>
          <option value="08">08</option>
          <option value="09">09</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
          <option value="13">13</option>
          <option value="14">14</option>
          <option value="15">15</option>
          <option value="16">16</option>
          <option value="17">17</option>
          <option value="18">18</option>
          <option value="19">19</option>
          <option value="20">20</option>
          <option value="21">21</option>
          <option value="22">22</option>
          <option value="23">23</option>
          <option value="24">24</option>
          <option value="25">25</option>
          <option value="26">26</option>
          <option value="27">27</option>
          <option value="28">28</option>
          <option value="29">29</option>
          <option value="30">30</option>
          <option value="31">31</option>
        </select>

        <select name="monat">
          <option value="01">Januar</option>
          <option value="02">Februar</option>
          <option value="03">M&auml;rz</option>
          <option value="04">April</option>
          <option value="05">Mai</option>
          <option value="06">Juni</option>
          <option value="07">Juli</option>
          <option value="08">August</option>
          <option value="09">September</option>
          <option value="10">Oktober</option>
          <option value="11">November</option>
          <option value="12">Dezember</option>
        </select>
        <select name="jahr">
          <option selected value="2008">2008</option>
        </select></td>
    </tr>
    <tr>
      <td width="70">Datei:</td>
      <td>
        <input type="file" name="localupload" size="28">      </td>
    </tr>
    <tr>
      <td colspan="2">        <div align="center">
  <input name="add" type="submit" id="add" value="Hinzuf&uuml;gen">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <input type="button" name="Abbrechen" value="Abbrechen" onClick="">
        <input type="hidden" value="true" name="add">
      </div></td>
    </tr>
</table>
</form>
<?php
}
php?>
</body>
</html>


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:

// mail.php

<?php
//Uploaddirectory
    $protodir ="./protokolle";
    
//Mailempfänger definieren
    $strTo_StaFue "fear4ever@gmail.com, "// Kategorie 2

    
    $strTo_StaRu $strTo_StaFue;
    $strTo_StaRu .= "fear4ever@gmail.com, "// Kategorie 1

//Mailcontent definieren
    $mail_content "Hallo \n";
    $mail_content .= "Es ist wiedereinmal so weit, ein neues Protokoll wurde hochgeladen.\n";
    $mail_content .= "Alle verfügbaren Protokolle findet Ihr auch im internen Bereich auf unserer Homepage unter \"Protokollarchiv\"\n\n";
    $mail_content .= "Auf Bald\n\n";
    $mail_content .= "PS: see attached file(_%Dateiname%_)";
php?>


DATENBANK:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
-- 
-- Tabellenstruktur für Tabelle `protocol_test`
-- 

CREATE TABLE `protocol_test` (
  `id` int(11) NOT NULL auto_increment,
  `kategorie` text NOT NULL,
  `datum` date NOT NULL,
  `file` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

-- 
-- Daten für Tabelle `protocol_test`
-- 


Dateianhang:
rar skript.rar (4 KB, 2 mal heruntergeladen)


__________________
"There are 10 kinds of people. Those who understand binary, and those who do not."

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von rich: 22.03.2008 13:55.

22.03.2008 13:55 rich ist offline E-Mail an rich senden Beiträge von rich suchen Nehmen Sie rich in Ihre Freundesliste auf

sile   Zeige sile auf Karte sile ist männlich
Programmierer


Dabei seit: 18.07.2006
Beiträge: 90
Dieser User hat sich mal bedankt
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

hallo,
ich würde mal beim insert das feld "id" weg lassen, dann funzt das auch!

greetz
sile
22.03.2008 14:07 sile ist offline E-Mail an sile senden Beiträge von sile suchen Nehmen Sie sile in Ihre Freundesliste auf

rich rich ist männlich
Jungspund


images/avatars/avatar-832.jpg

Dabei seit: 02.01.2008
Beiträge: 20
Dieser User hat sich mal bedankt CPU: Core 2 Duo T7100 @ 1,80 GHZ

Themenstarter Thema begonnen von rich
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

huhu
erstmal danke für die schnelle antwort Augenzwinkern

aber wenn ich aus dem insert die id, wie folgt weglasse, bringt mich das nicht weiter unglücklich die informationen werden nicht in die datenbank geschrieben.

php:
1:
$sql "INSERT INTO protocol_test (kategorie,datum,file) VALUES ($_POST[kategorie],$datum,$newFilename)";


liebe grüße

__________________
"There are 10 kinds of people. Those who understand binary, and those who do not."

22.03.2008 14:20 rich ist offline E-Mail an rich senden Beiträge von rich suchen Nehmen Sie rich in Ihre Freundesliste auf

sile   Zeige sile auf Karte sile ist männlich
Programmierer


Dabei seit: 18.07.2006
Beiträge: 90
Dieser User hat sich mal bedankt
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

dann versuch das mal:


$sql = "INSERT INTO protocol_test (kategorie,datum,file) VALUES ('".$_POST['kategorie']."','".$datum."','".$newFilename."')";


+ falls das auch nicht funzt, gib doch $sql mal aus:
echo $sql;

oder schreibs mit in die mail rein.

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von sile: 22.03.2008 15:06.

22.03.2008 15:04 sile ist offline E-Mail an sile senden Beiträge von sile suchen Nehmen Sie sile in Ihre Freundesliste auf

rich rich ist männlich
Jungspund


images/avatars/avatar-832.jpg

Dabei seit: 02.01.2008
Beiträge: 20
Dieser User hat sich mal bedankt CPU: Core 2 Duo T7100 @ 1,80 GHZ

Themenstarter Thema begonnen von rich
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

es tut smile

dankeschön

grüße

__________________
"There are 10 kinds of people. Those who understand binary, and those who do not."

22.03.2008 18:04 rich ist offline E-Mail an rich senden Beiträge von rich suchen Nehmen Sie rich in Ihre Freundesliste auf

tomtaz   Zeige tomtaz auf Karte tomtaz ist männlich
Grünschnabel


Dabei seit: 11.03.2008
Beiträge: 3
Dieser User hat sich mal bedankt CPU: AMD Athlon XP X2 6600+

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Weiters muss ich hier empfehlen, da du Werte mittels Post in die DB schreibst, mysql_real_escape_string( ) zu verwenden um eine SQL- Injektion auszuschließen!

Dieser Link wird erst nach der Registrierung angezeigt.
28.03.2008 14:38 tomtaz ist offline E-Mail an tomtaz senden Homepage von tomtaz Beiträge von tomtaz suchen Nehmen Sie tomtaz in Ihre Freundesliste auf Fügen Sie tomtaz in Ihre Kontaktliste ein
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Rechner-Support » Software / Internet / Handy / Treiber- Feedback » Programmieren » PHP Protokollskript - Problem in Verbindung mit DB

Views heute: 11.502 | Views gestern: 28.601 | Views gesamt: 18.998.755


Impressum


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH

Designed by:Designed by: vbdesigns.devbdesigns.de