WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   bitte um hilfe beim homepage erstellen (http://www.wcm.at/forum/showthread.php?t=233009)

katschl 21.01.2009 14:04

bitte um hilfe beim homepage erstellen
 
Hallo liebe Leute, ich brauche dringend eure Hilfe!
Bin eine verzweifelte Studentin und habe ein großes Problem.
Ich muss diese woche für eine Lehrveranstaltung eine Homepage erstellen, wo man bilder hochladen kann. Ich hab mir dabei ausgedacht, ich werde eine verkaufsplattform machen, wo die leute ein bild, und die daten dazu (wie ihre e-mailadresse, name, preisvorstellung usw. angeben können).
Nun habe ich das Layout im Dreamweaver cs3 (auf betriebssystem vista home) erstellt. Ebenso hab ich mir eine accessdatenbank mit den feldern angelegt.
da die anbindung an die datenbank nur funktioniert, wenn man den testserver einstellt und das bei mir lokal nicht hingehaun hat, hab ich verzweifelt nach einem webspace gesucht. die meisten kosten jedoch was und/oder es ist keine datenbank erlaubt (könnte es auch per mysql machen - hab ein bisschen ahnung davon).
dies wäre mein erstes problem weil ich nicht weiß woher ich den passenden webspace bekommen. hab mich zwar bei freenet angemeldet, aber ich glaube das ich dort mit der access datenbank nicht weit kommen werde. ich habe im dw zwar den ftp eingegeben und somit einen testserver... nur mit der datenbank lässt er mich eben nicht verbinden.. da die wahrscheinlich auf freenet hochgeladen sein müsst.
das zweite ist - wie gesagt - die datenbank. manche haben eine hp erstellt wo man eben bilder hochlädt aber keine datenbank verwendet - weiß nicht wie das funktionieren kann und ob dies in meinem fall auch möglich wäre.
so, liebe leute. bitte lässt mich nicht hängen. darf mich unter den vielen jungs nicht blamieren (bin das einzige mädl dort). ich kenn mich leider zu wenig aus - was ich ändern möchte - aber der professor ist diesbezüglich leider zum vergessen.
würde mich sehr freuen, wenn ich dies mit euerer hilfe hinbekommen würde.
vielen dank im voraus.
:hallo:

athropos 21.01.2009 14:12

@0: Was genau studierst du eigentlich?

@1: solltest du als Studentin nicht eigenen Webspace bei der Uni selbst haben? (du hast leider nicht geschrieben, wo du studierst)

@2: Üblicherweise speichert man keine Bilder in der Datenbank selbst sondern die Bilddatei wird am Webspace selbst abgelegt und in die Datenbank wird der Pfad und der Dateiname gespeichert. Das Ganze läßt sich ziemlich einfach mittels php realisieren, inwieweit der Webspace dies unterstützt kann ich dir leider nicht beantworten.

lg

RaistlinMajere 21.01.2009 14:56

Zitat:

Zitat von athropos (Beitrag 2340942)
@1: solltest du als Studentin nicht eigenen Webspace bei der Uni selbst haben? (du hast leider nicht geschrieben, wo du studierst)

sowas bietet normalerweise jede uni an. genaueres dazu gibts beim jeweiligen zentralen informatikdienst (zid).

Zitat:

inwieweit der Webspace dies unterstützt kann ich dir leider nicht beantworten.
php & mysql werden soviel ich weiß nicht von allen uni-webspaces unterstützt. zumindest von der uni wien und der TU wien weiß ich aber sicher, daß es so ist.
sollte kein mysql zur verfügung stehen, bleibt nur der weg über ein file, das auf dem server liegt und in dem die jeweiligen infos drinstehen.

an und für sich sollte für eine solche anwendung aber eine lokale installation (sehr einfach z.b. über xampp) vollkommen ausreichen, wenn man ein notebook hat, auf dem man das dann auch vorführen kann.

zAPPEL 21.01.2009 15:09

Mit "dieser Woche" und dem was du dir vorgenommen hast sieht das ein bisschen knapp aus, oder? Eine Accessdatenbank ist für eine Weblösung auf jeden Fall eine denkbar schlechte Lösung, da solltest du auf MYSQL umsteigen.

RaistlinMajere 21.01.2009 15:10

Zitat:

Zitat von zAPPEL (Beitrag 2340953)
Mit "dieser Woche" und dem was du dir vorgenommen hast sieht das ein bisschen knapp aus, oder? Eine Accessdatenbank ist für eine Weblösung auf jeden Fall eine denkbar schlechte Lösung, da solltest du auf MYSQL umsteigen.

dem kann ich nur zustimmen.

zAPPEL 21.01.2009 15:14

Stimmt, an eine einfache XAMPP Installation auf dem lokalen PC habe ich jetzt gar nicht gedacht. Damit hat man in wenigen Minuten einen PHP und MYSQL-fähigen Testserver mit dem man anstellen kann was man will.

RaistlinMajere 21.01.2009 15:25

ich würde so vorgehen: xampp runterladen und installieren.
danach nach tutorials über php fileupload googeln, eines auswählen und einfach abarbeiten.

grundsätzlich ist sowas wirklich nicht schwer umzusetzen, nur daß das ohne (wenn ich das richtig verstanden habe) irgendwelcher php- oder kenntnisse in einer ähnlichen sprache bzw. jemanden, der sich mit einem hinsetzt und es genau erklärt, diese woche noch fertig wird, stelle ich mir schwierig vor.

katschl 22.01.2009 10:47

hallo ihr lieben!
vielen dank für eure zahlreichen schnellen antworten.
habs eingesehen, dass ich mein "projekt" reduzieren muss, damit es sich mit der zeit ausgeht :) .
habe wie gesagt das layout fertig und dies bei freenet raufgeladen und möchte jetzt auf ganz einfachem wege, dass nur noch bilder hochgeladen werden können - also ohne datenbank.
könnt ihr mir da einen tipp geben wie ich das mit dreamweaver mache?
herzlichen dank.

zAPPEL 22.01.2009 10:54

Grober Ablauf:
1. Datei form.html
HTML-Code:

<form method="post" action="submit.php">
<input type="file" name="file" />
</form>

In der Datei submit.php kann man dann mit der Funktion "move_uploaded_file" die Datei dann in einen entsprechenden Ordner verschieben. Mit Google findet man dazu aber sicher genug einfache Tutorials (php file upload)

Hier ein Beispiel auf php.net: http://at.php.net/manual/en/features...ost-method.php
lg

peter-k 22.01.2009 13:28

Für ein 'Webalbum' das keine besonderen Funktionen benötigt wie zb. Suche, verschiedene Listungen/Formate auswählen zu können... ist eine MYSQL ohnehin nicht nötig.

Was ich aber schon machen würde, weil nicht aufwendig:
*eine .txt-DB anzulegen die einen eindeutigen einzigartigen Bildnamen/Pfad anlegt (zb. laufende Nummer) damit gleichlautene Bildnamen (zb.: auto.jpg) sich nicht überschreiben.

Im Grunde genügt es bei jedem Upload in diese .txt eine neue Zeile einzufügen:
(Zeilennummer=)Bildname|E-mail|Username|und....
Diese .txt dann einfach mittels php in .html-Format auszugeben.
Elegant wäre noch eine php-Funktion zu benutzen die auch gleich Vorschaubilder erstellt ;)

Aber aufpassen:
so etwas schützt nicht davor den Webspace zugemüllt zu bekommen!
Wenn es rein um ein Projekt als solches geht, sollte das Upload.php passwortgeschützt sein oder nicht öffentlich zugänglich.

peter-k 22.01.2009 17:43

Nachtrag:
Zitat:

Zitat von katschl (Beitrag 2340940)
manche haben eine hp erstellt wo man eben bilder hochlädt aber keine datenbank verwendet - weiß nicht wie das funktionieren kann und ob dies in meinem fall auch möglich wäre.

Jep! Eine DB (nicht mal eine .txt-DB) ist notwendig. (Erleichtert lediglich dem Admin seinen Job)

PHP (sogar das längst überholte .cgi) bieten eine Vielfalt von Ordner/Verzeichnis-Funktionen die eine DB (bei den von dir verlangten Möglichkeiten) unnötig machen.

Einen Ordner auslesen, die Dateinamen, Speicherzeitpunkte.... heraus zu lesen sind keine Zaubereien sondern fertige Funktionen. Das Script braucht darauf nur entsprechend zu reagieren. Alleine auf diesen Möglichkeit ist es lösbar. ;)

ZombyKillah 24.01.2009 21:15

@zAPPEL
enctype="multipart/form-data"
Fehlt noch in deiner form.
Sonst wird nicht das File, sondern nur der Name übertragen.

Ich bin in dem Falll auf jeden Fall ein Verfechter eines PHP scriptes (mit dem kann man auch einen skript schreiben, dass die Bilder nebeneinander anzeigt, die in einen gleichen Ordner sind), ob der Dreamwaver das kann weiß ich nicht.

Wenn ich mich richtig erinnere sind die meistn skripts vom dreamwaver java und css basierend.

Die meisten Server die php und mysql unterstützen sind kostenpflichtig.
Aber du könntest deinen HeimPC zu einen solchen Server machen und mit DynDNS nachher darauf zugreifen.

P.s.: Mich würde es auch interresieren, was du studierst *gg*
Die Probleme mit deiner ACCESS DB:
1. Ich vermute, dass es ein konfigurationsproblem war, warum du vom Laptop nicht zugreifen konntest.
2. Der Access standartzugriff verlangt schreib und lesemöglichkeit auf das DB-File.
3. ACCESS unterstützt zwar das abspeichern von Bilder in der DB, du soltest aber mal schauen, wie stark die Filegröße der DB ansteigt, wenn du ein 2MB Bild einfügst *gg*

katschl 26.01.2009 01:34

Help! I need somebody!
 
hallo meine lieben experten!
Übermorgen muss ich nun leider schon ne halbwegs intakte hp abgeben.
Möchte es auf das geringste beschränken, da es wirklich nur ums hochladen von bildern und dann ausgeben (inkl dateinamen) geht.
Ich bitte euch nochmal mir dabei zu helfen. Bin wirklich total unerfahren in sowas und brauch ganz dringend eure hilfe. bin euch überaus dankbar.
hab jetzt die hp online gestellt:
http://katschl.ka.ohost.de (weiß zwar noch nicht wie ich dann meine framesetdatei als startseite bekomme aber das is eine andere geschichte)
es geht jetzt eben um die datei verkauf2 und kauf.
hab nun bei verkauf2 versucht den upload hinzubekommen. weiß aber nicht ob das so funktionieren kann.
HTML-Code:

<?php
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
  {

  if($_FILES['datei']['size'] <  102400)
      {
      move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name']);
      echo "Das Bild wurde Erfolgreich nach upload/".$_FILES['datei']['name']." hochgeladen";
      }

  else
      {
        echo "Das Bild darf nicht größer als 100 kb sein ";
      }

    }

else
    {
    echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }
?>

  </span>)</p>
  <p class="Stil7">&nbsp;</p>
  <form action="do_upload.php3" method="post" enctype="multipart/form-data" class="Stil8">
    Bild des zu verkaufenden Produkts:
<input type="file" name="img1" size="30" />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <input type="submit" name="submit" value="Upload File">
  </form>

wie das mit dem anzeigen der bilder + dateinamen funktioniert weiß ich noch weniger.
ich hoffe ich bin nicht zu unverschämt, aber bitte helft mir. wenn ich das nicht hinbekomm hab ich ein riesen problem.
wäre sehr dankbar wenn ihr mir schreiben könnt was ich da einfügen muss damit das hinhaut. kenn mich leider null aus aber denk das es sich nur um einen kleinen code handelt.
vielen dank an euch alle.

P.S.: Es sind leider auch noch datein darauf, welche ich eigendlich gelöscht hatt- diese bitte nicht beachten. mein code schaut grauenhaft aus... *schäm mich*, aber das hilft alles nix... muss es unbedingt hinbekommen. Hoffendlich mit euerer hilfe.
PPS: Studier eigendlich Wirtschaftspädagogik - für alle neugierigen unter euch.

katschl 26.01.2009 11:47

Also die webseite hab ich jetzt mal so hinbekommen wie sie aussehen sollte.
ich hoffe ich bekomm bis heute abend die seite hin.
bitte um hilfe falls mir jemand helfen kann.
danke schon mal

peter-k 26.01.2009 13:27

Hi katschl,
deine Hausaufgaben will ich nicht machen, aber vielleicht hilft dir das:
schnellste Lösung ist eine SuMa anwerfen und zb.: 'php upload' einzugeben.
Fand da gleich einige fertige Scripte die ohne MySql deine Bedingungen erfüllen.

Zitat:

Zitat von katschl (Beitrag 2342171)
wie das mit dem anzeigen der bilder + dateinamen funktioniert weiß ich noch weniger.

Das ist ja das nette an php! Guck dir fertige Scripte an und mach es nach ;)
ps: So etwas löse ich mit 2 Schleifen die mir die Daten (egal ob aus MySql oder einer .txt....) in eine Tabelle 'ausrollen'.
Eine Schleife für die Zeilen, in dieser eine weitere für die Spalten....

katschl 26.01.2009 16:11

ich such das web eh schon länger durch... gibt einige solcher skripts. aber ich weiß nicht welcher dafür geeigenet ist bzw ob dieser den ich da eingeblendet habe in ordnung ist.
wie die anzeige aussehen soll weiß ich echt nicht. steh total daneben und soll es heute abend fertig haben. *verzweifelt bin*. funktioniert das mit so einer copy funktion die mir mal untergekommen ist?

p.s. nächstes semester mach ich nen besseren kurs wo ich wirklich das lerne wir es funktioniert. is ein schlechter kurs - leider. vielleicht wärt ihr so nett und helft mir noch schnell aus der patsche. vielen dank

zAPPEL 26.01.2009 17:03

Zum Darstellen ein einfaches directory listing und hier ein Beispiel dazu:
http://www.spoono.com/php/tutorials/tutorial.php?id=10

Was waren denn die Vorkenntnisse für diesen Kurs? Und mit drei Personen (falls die anderen zwei auch noch arbeiten sollten ;)) müsste das mit google und php Tutorials zu schaffen sein (wenn man zumindest ein wenig Ahnung von Programmieren hat)

lg

katschl 26.01.2009 17:25

ok danke ich versuch das mal... hoff es wird.
es gab keine voraussetzungen für das fach und die 2 jungs haben was anderes zu tun. kenn mich beim programmiern leider auch nicht wirklich aus... sitz ziemlich in der patsche.

peter-k 26.01.2009 18:14

Bevor du dich verläufst würde ich auch schon zu einer fertigen Lösung greifen.

Zitat:

Zitat von katschl (Beitrag 2342265)
funktioniert das mit so einer copy funktion die mir mal untergekommen ist?

Jep!
Ganz kurz, nur für .jpg:
PHP-Code:

$dateisource $HTTP_POST_FILES['userbild']['name'];
$bildname $_POST['e_mail'];
if (!
copy("$dateisource","bildname".".jpg")){echo 'Bild nicht gesendet';} else { echo 'upload ok';} 

Bilder zeigen:
Bei erfolgreichen upload wird die 'liste.html' aktualisiert, gehört also in "{ echo 'upload ok';}":
PHP-Code:

$schreibe '<br><a href="$bildname".".jpg">'."$bildname".'</a>';

$fp fopen("liste.html""a");
fwrite($fp"\n$schreibe");
fclose($fp); 

Gibt dir eine Link-Liste zu den Bildern aus.
Hab das aus dem Gedächtniss getippt, nicht getestet.... sollte lediglich einen Lösungsweg zeigen.

katschl 26.01.2009 19:14

vielen dank erstmal.
aber irgendwie funktioniert das nicht.
was kann ich den da falsch gemacht haben?

peter-k 26.01.2009 19:37

*Es fehlt zumindest ein "$"
*würde ich niemals eine e-mail-addi als Dateinamen wählen und schon gar nicht eine E-mail-Liste öffentlich machen
* es ist kein (sauberer) Code, mehr die Richtung wie es gehen kann.
*man lässt keine 'list.html' schreiben, eher eine list.txt die man mit 'include' einbindet.
*Namen von Formularen/Feldern nicht mit 'name, email, e-mail....' benennen.
usw...

zb index.php:
-----------
-mache die Variablen 'Serverfähig'
-include alles was die braucht
-lasse dir aus einer 'list.txt' eine Liste bauen
-hänge darunter das Formular, übergebe einen Parameter der die 'copy-funktion' ausführt und auf sich selbst (index.php) linkt.
-setzte die Dateirechte am Server

pasta ;)

katschl 26.01.2009 19:47

danke für die anregungen.
ich glaube ich muss aufgeben.
da kenn ich mich ned aus was du mir da geschrieben hast.
muss das bis mitternacht abschicken aber bis dahin erlern ich das nimmer. bin wohl zu ungeschickt dafür.
werd zwar ein großes problem bekommen aber da werd ich wohl durch müssen. aber vlt geschieht ja noch ein wunder ;)

das mit den mail als name ist egal
es geht nur ums prinzip das eine datei hochgeladen und ausgegeben werden kann (e-mail is nur deswegen der namen damits realistisch wirkt)
hp wird eh bald wieder gelöscht.

peter-k 26.01.2009 20:11

Also:
wenn ich in einer Situation wäre von der ich glaube das du bist würde ich so vorgehen:
Google
davon der
zweite Link
schaut mal ganz gut aus.

So, das ist keine Empfehlung, einzig weil schnell gefunden (und Zeit, die hab ich ja nicht).
Habe es nicht gesaugt, nicht die readme gelesen und schon gar nicht getestet, sollte daran etwas nicht passen so würde ich weitere Links verfolgen....

ZombyKillah 26.01.2009 20:29

ich würde einfach für jeden User/Mail ein neues Verzeichniss anlegen.
Vielleicht ein file csv file in dem eine liste steht, (e-mail; User-ID) und User-ID dann als Verzeichnissname.
Code:

<?php
session_start();
//include_once "head.php";
//head();
$d = $_SERVER['SCRIPT_FILENAME'];
$parts = explode("/", $d);
unset($parts[count($parts)-1]);
$d = implode("\\", $parts);
$sub = "User-ID";                                        //$sub ist das entsprechende Unterverzeichniss in deinen Root-Verzeichniss
$d.="\\";
if ($sub != "") $d.=str_replace("/", "\\", $sub)."\\";
//echo "$d";

$parts = explode("/", $_SERVER['PHP_SELF']);
unset($parts[count($parts)-1]);
$part = implode("/",$parts);
$sub = $part."/$sub";


$dir = opendir($d);
while (($file = readdir($dir)) !== false) {
//    echo "filename: $file : filetype: ".filetype($d.$file)."<br>\n";
        $parts = explode(".", $file);
        $ext = $parts[count($parts)-1];
        if ($ext == "jpg" || $ext == "gif") echo "<img src=\"$sub/$file\" alt=\"$file\">";
}
?>

Das ganze ist eine hilft, wie man auf komplizierte Art und weise ein Verzeichniss nach allen Files durchsucht und alle jpg und gif Bilder auf der Page anzeigt.
Ich weiß, schlampig programmiert.
Um ein File aufzumachen gibt es den Befehl
fopen() http://de.php.net/manual/de/function.fopen.php
Zum speichern von arrays in csv:
http://de.php.net/manual/de/function.fputcsv.php
Zum auslesen dieser:
http://de.php.net/manual/de/function.fgetcsv.php

Und ein kleines tool zum erstellen von Unterverzeichnissen:
Code:

function controll_ordner($rest, $ord=""){
// Kontroliert/erstellt Verzeichnisse Rekrusiev
//$ord verzeichniss das kontroliert wird
//$rest restlicher Teil des Verzeichnisses
        if (isset($_SESSION['show']) && $_SESSION['show'] >3) echo "Ordner: $ord <br>Rest: $rest <br>";
        if ($ord !== "") {
                if (!is_dir($ord)) {
                        if (!mkdir($ord)){
                                //echo "$ord <br> $rest <br>";
                                return false;
                        }
                }
        }
        if ($rest == "") {return true;}
        $ord_parts = explode('\\',$rest);
        $i = count($ord_parts);
        $k = 0;
        $dir_new = $ord;
        //echo "$dir_new <br>";
        $rest_new = "";
        $dir_new = $dir_new.$ord_parts[0].'\\';
        unset($ord_parts[0]);
        $rest_new = implode("\\",$ord_parts);
        return controll_ordner($rest_new, $dir_new);
}

Vorsicht, mein Code ist für Windows Rechner.
Wenn du einen Linux Server hast must du alle \\ durch ein / ersetzen.

Hoffe dir ein wenig geholfen zu haben ... und nicht zu viel ...

katschl 27.01.2009 10:34

habs zum glück super hinbekommen, dank tatkräftiger unterstützung.
vielen dank


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag