Logo - MyWebsolution.de
User gesamt  :  2452957
User online  :  6
KubaSeoTräume, PHP Forum, PHP Community and more ... MyWebsolution.de!
   
   
 
Registrieren Login User F.A.Q Suche Home

eingeloggt bleiben

MyWebsolution.de Foren » Anfängerfragen PHP und MYSQL » Up- und Download von Dateien..

Seite: <  1 2 3 4 5  > Posts pro Seite: 5 10 20
Autor Thread
02.02.2007 16:59 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
folgende Fehlermeldung kommt:

Parse error: parse error, unexpected $end
Profil ansehen
02.02.2007 17:20 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
dann haste irgendwo ne Klammer nicht zu gemacht


Profil ansehen Mail senden
02.02.2007 17:42 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
Jetzt kommen folgende Fehlermeldungen:

Notice: Undefined variable: errors in C:\Testserver\test\usercenter\up_skript.php on line 48

Notice: Undefined variable: endung in C:\Testserver\test\usercenter\up_skript.php on line 61

Notice: Undefined index: datei in C:\Testserver\test\usercenter\up_skript.php on line 64

Aber die variablen hab ich doch definiert...
Hier nochmals der code:
PHP:
<?
    error_reporting
(E_ALL);
    include 
'../conect.php';

    
$connid = @mysql_connect($MYSQL_HOST$MYSQL_USER$MYSQL_PASS) OR die("Error: ".mysql_error());
    
mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error());
    
    if(isset(
$_POST['Send_x']) AND $_POST['Send_x'] == "Upload") {
            
            
$errors = array();

            
// Prüft, ob ein Interpret eingegeben wurde
            
if(trim($_POST['Interpret'])=='')
                
$errors[]= "Bitte geben Sie den Namen des Interpreten an.";
            
// Prüft, ob der Interpret mindestens 2 Zeichen enthält
            
elseif(strlen(trim($_POST['Interpret'])) < 2)
                
$errors[]= "Der Name des Interpreten muss mindestens 2 Zeichen lang sein";
            
// Prüft ob ein Album angegeben wurde
            
if(trim($_POST['Album'])=='')
                
$errors[]= "Bitte geben Sie den Namen des Albums an.";
            
// Prüft ob ein Songname eingegeben wurde
            
if(trim($_POST['Songname'])=='')
                
$errors[]= "Bitte geben Sie den Titel für den Song an.";
            
            
// Prüft ob der richtige Mime Typ vorliegt
            
$erlaubte_typen = array('image/pjpeg',
                                    
'image/jpeg',
                                    
'application/pdf'
                                   
);
                if(!
in_array($_FILES['datei']['type'], $erlaubte_typen))
                    
$errors[] = "Der Mime-Typ ihrer Datei ist verboten.";
            
            
// Prüft ob die Datei die richtige Endung hat
            
$erlaubte_endungen = array('jpeg',
                                       
'jpg',
                                       
'pdf'
                                      
);
                                      
             
$endung strtolower(substr($_FILES['datei']['name'], strrpos($_FILES['datei']['name'], '.')+1));
                    if(!
in_array($endung$erlaubte_endungen))
                        
$errors[] = "Die Dateiendung muss .jpeg .jpg oder .pdf lauten. ";
            
            
// Prüft ob die Datei die richtige grösse hat
            
if($_FILES['datei']['size'] > 10*1024*1024)
                
$errors[] = "Bitte w&auml;hlen Sie eine Datei aus, die kleiner als 10 MB ist.";
            }    
            
            if(
count($errors)){
                echo 
"Ihre Datei konnte nicht gespeichert werden.<br>\n".
                     
"<br>\n";
                foreach(
$errors as $error)
                    echo 
$error."<br>\n";
            }
            
            else {
            
            
//Datei speichern
            
$uploaddir 'noten/';
            
            
//Neuen Dateinamen erstellen
            
$Name "DRUM_".substr(microtime(),-8).".".$endung;
            
            
//Upload
            
if (move_uploaded_file($_FILES['datei']['tmp_name'], $uploaddir.$Name)) {
                
$sql "INSERT INTO
                               notes
                               (UserID,
                                 Newname,
                                 Interpret,
                                 Album,
                                 Songname,
                                 Date
                                 )
                        VALUES
                                ('"
.mysql_real_escape_string(trim($_SESSION['UserID']))."',
                                 '"
.mysql_real_escape_string(trim($Name))."',
                                 '"
.mysql_real_escape_string(trim($_POST['Interpret']))."',
                                 '"
.mysql_real_escape_string(trim($_POST['Album']))."',
                                 '"
.mysql_real_escape_string(trim($_POST['Songname']))."',
                                 CURDATE()
                                )
                           "
;            
            
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
            echo 
"Vielen Dank!<br>\n".
                 
"Ihre Daten wurden erfolgreich kopiert.\n<br>".
                 
"Nach erfolgreicher Überprüfung, wird die Datei in der Downloadpage erscheinen.\n<br>";
                    
                    }
                }
?>
Profil ansehen
02.02.2007 17:53 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
PHP:
<?php
            
// Prüft ob die Datei die richtige grösse hat
            
if($_FILES['datei']['size'] > 10*1024*1024)
                
$errors[] = "Bitte w&auml;hlen Sie eine Datei aus, die kleiner als 10 MB ist.";
            }
?>


An dieser Stelle machst du ne Klammer zu, die nicht geöffnet wird. Diese Klammer schließt dann dieses if:

PHP:
<?php
    
if(isset($_POST['Send_x']) AND $_POST['Send_x'] == "Upload") {
?>


Darin werden aber die Variable $error und $endung definiert.

Naja wie dem auch sei, es liegt jedenfalls an der falschen Klammer, wäre jetzt etwas aufwendig dir zu erläutern, was dadurch alles falsch läuft ;)


Profil ansehen Mail senden
02.02.2007 18:33 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
Danke! Klappt jetzt! xD
Profil ansehen
10.02.2007 14:43 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
So hab wieder eine Frage. Den Vorschlag den du mit der Downloadpage gebracht hast ist zwar gut, aber ich such was anderes. Ich hab mir das so vorgestellt:

Ich mach eine Buchstabennavi bei der die Leute den Anfangsbuchstaben jedes Interpreten auswählen können. Es werden dann alle Interpreten mit diesem Buchstaben angezeigt. Dann kann man einen Interpreten anklicken und schliesslich werden alle Noten von diesem aufgelistet.

Weisst du wie ich sowas machen könnte?
mdean
Profil ansehen
10.02.2007 15:01 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Den Buchstaben kannst du als $_GET-Parameter übergeben

download.php?interpret=e

Im Script prüfst du dann, ob 'interpret' übergeben wurde und führst dann, falls ja, einen MySQL-Query mit der LIKE Expression durch.

PHP:
<?php
    
// Navi-Links erzeugen
    
$alphabeth = array('a','b','c', ...);
    foreach(
$alphabeth as $letter)
        echo 
"<a href=\"".$_SERVER['PHP_SELF']."?interpret=".$letter."\"></a> | \n";
    if(isset(
$_GET['interpret'])){
        
// auf ein Zeichen kürzen
        
$_GET['interpret'] = substr($_GET['interpret'],0,1);
        
$sql "SELECT
                        Datei,
                        Interpret,
                        Titel
                FROM
                        Interpret
                WHERE
                        Name LIKE '"
.mysql_real_escape_string($_GET['interpret'])."%'
               "
;
         
$result mysql_query($sql);
         
// Ausgabe
    
}
    else
        echo 
"Wählen Sie bitte den Anfangsbuchstaben des gewünschten Interpreten aus.\n";
?>


Nicht getestet!


Profil ansehen Mail senden
11.02.2007 10:34 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
Die Abfrage funktioniert, sodass nur die noten angezeigt werden die eine Freigabe erhalten haben. Aber das mit der Navigation funktioniert nicht. Es wird einfach folgendes angezeigt:

| | | | | | | Wählen Sie bitte den Anfangsbuchstaben des gewünschten Interpreten aus.

Wie könnte man es noch so einstellen, dass am anfang einfach die Interpreten angezeigt werden mit dem Buchstaben a.

Danke für deine Hilfe
Profil ansehen
11.02.2007 14:37 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Zitat:
Wie könnte man es noch so einstellen, dass am anfang einfach die Interpreten angezeigt werden mit dem Buchstaben a.


PHP:
<?php
    $_GET
['interpret'] = isset($_GET['interpret'])?$_GET['interpret']:'a';
?>


^-- an den Anfang schreiben.

Poste mal deinen bisherigen Code.


Profil ansehen Mail senden
11.02.2007 14:54 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
Also hier mal der von mir der abgeänderte code. Muss ich dann noch jeden Buchstaben einzeln reinschreiben (dass mit den "..." hat nicht funkioniert)? Ich habs jetzt einfach mal bis g gemacht.
PHP:
<?php
    $_GET
['Interpret'] = isset($_GET['Interpret'])?$_GET['Interpret']:'A';
    
// Navi-Links erzeugen
    
$alphabeth = array('A','B','C''D''E''F''G');
    foreach(
$alphabeth as $letter)
        echo 
"<a href=\"".$_SERVER['PHP_SELF']."?Interpret=".$letter."\"></a> | \n";
    if(isset(
$_GET['Interpret'])){
        
// auf ein Zeichen kürzen
        
$_GET['Interpret'] = substr($_GET['Interpret'],0,1);
        
$sql "SELECT
                        NewName,
                        Interpret,
                        Songname
                FROM
                        notes
                WHERE
                        Interpret LIKE '"
.mysql_real_escape_string($_GET['Interpret'])."%'
               "
;
         
$result mysql_query($sql);
         
// Ausgabe
    
}
    else
        echo 
"Wählen Sie bitte den Anfangsbuchstaben des gewünschten Interpreten aus.\n";
?>
Profil ansehen
Seite: <  1 2 3 4 5  > no reply
Powered by Pascal Landau © 2006 MyWebsolution.de
Designed by Pascal Landau © 2006 MyWebsolution.de
 
 
 
 
Home Email Impressum Disclaimer Statistik