Ja der Teil war eigentlich wirklich quatsch habe ihn jetzt auch entfernt.
Er leitet mich jetzt jedoch auf http://darksoul.bplaced.net/TestSeite/login.php, obwohl ich diese Seite gar nicht habe und im Script http://darksoul.bplaced.net/TestSeite/upload.php eingegeben habe.
Aus Spaß habe ich die upload.php in login.php umbenannt und dann klappte es... aber wieso?
Beiträge von DarkSouL1221
-
-
Ich ich gemacht aber ich bekomme jetzt immernoch den Fehler "Parse error"
Edit: Ich habe dein "Edit" jetzt erst gesehen
Danke es klappt jetzt
So mein letztes kleines Problem ist jetzt der Login.PHP
Alles anzeigenif ($_SERVER['REQUEST_METHOD'] == 'POST') { session_start(); $passwort = $_POST['passwort']; $hostname = $_SERVER['HTTP_HOST']; $path = dirname($_SERVER['PHP_SELF']); // Benutzername und Passwort werden überprüft if ($passwort == 'MeinPW') { $_SESSION['angemeldet'] = true; // Weiterleitung zur geschützten Startseite if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') { if (php_sapi_name() == 'cgi') { header('Status: 303 See Other'); } else { header('HTTP/1.1 303 See Other'); } } header('Location: http://darksoul.bplaced.net/TestSeite/upload.php'); exit; } }
er leitet mich nicht auf die Seite weiter. Woran kann das liegen?
-
Ah okay das wusste ich auch noch nicht aber danke für die Info
So jetzt wollte ich meine gallerie.php mit Wolfs Script erweitern damit er die Bilder automatisch einfügt
PHP
Alles anzeigen<?php //alle Fehler anzeigen mit »E_ALL« -> mit »0« (NULL) werden keine fehler angezeigt error_reporting(E_ALL); //eine Datei Importieren #include 'imagedata.php'; #$bilderliste = $array; //Das array aus »imagedata.php« in bilderliste schreiben //die Pfase angeben $kleinerPfad = 'pfad/'; $groserPfad = 'pfad/gr/'; $bilderliste = scandir($kleinerPfad); echo '<div class="img-gallerie" >'; // für jedes bild in $bilderliste: foreach($bilderliste as $id => $name){ // htmlspecialchars siehe: http://php.net/manual/de/function.htmlspecialchars.php $src = htmlspecialchars($name); //Prüfen ob der name zu kurz ist (z.B. »./« oder »../« oder »gr/« ) if ( strlen($name) <= 5) { //dann zum nächsten foreach springen exit(0); } //ich habe hier die Daten so hässlich aufgedröselt, das man es besser lesen kann was für Daten übergeben werden //beim a-tag wird das zielscript übergeben (falls JS ausgeschaltet ist) mit folgendem link: ScriptName.php?img=$ID (es wird einfach die ID noch übergeben) echo ' <div class="img-container"> <a class = "img-link" href = "'.$groserPfad.$name'" rel = "lightbox" title = "'.$name.'" > <img class ="img-img" src = "'.$kleinerPfad.$name'" alt = "'.$name'" data-img-id="'.$id.'" /> </a> </div> '; }#foreach echo '</div>'; ?>
Jedoch ist mir die Variable $name etwas unschlüssig. Ich hatte für den Namen ja $image genommen, meint er die damit?
wenn ich das Script nämlich so wie es jetzt ist hochlade bekomme ich den Fehler: "Parse error: syntax error, unexpected ''"' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';' in /users/darksoul/www/TestSeite/galerie.php on line 35" -
Achso ich hatte mir es so gedacht das es halt bei 0 anfängt und sobald ein Bild hochgeladen wurde
die Zahl dadurch um 1 erhöt wird und $id jetzt 1 ist und dann halt immer so weiter.Aber habe es jetzt durch Internetrecherche anders gelöst
-
Danke für die vielen Lösungsvorschläge aber ich will das alles so einfach wie möglich halten.
Das hochladen funktioniert jetzt nur das automatische umbenennen in image-1, image-2... noch nichtPHP
Alles anzeigen$id=0; $endung=".jpg"; $uploaddirv="gallerie/"; if(isset($_POST['Upload'])){ if(isset($_FILES['error'])){ }else{ if(isset($_FILES['vbild'])){ $id=$id++; $image="image-".$id.$endung; /*$name = $_FILES['vbild']['name']; $tmp_name = $_FILES['vbild']['tmp_name']; $type = $_FILES['vbild']['type']; $size = $_FILES['vbild']['size'];*/ if(move_uploaded_file($_FILES['vbild']['tmp_name'], "gallerie/".$image)){ // hat geklappt }else{ // fehler ... } }
Das erste Bild nennt er zwar image-1 aber wenn ich danach gleich ein zweites hochlade nennt er es auch image-1 und überschreibt dann das erste -
aaach stimmt! das habe ich ganz übersehen.
ich versuche das gleich mal -
Na ich musste ja eigentlich nur noch einmal das move_uploaded_file eintragen oder?
-
Na ich habe das Script von Cotton mal benutzt und versucht aber es wurden dann halt keine Bilder hochgeladen.
-
Okay danke dann wäre das schonmal geklärt:)
Jedoch habe ich immer noch das Problem mit dem Hochladen
-
Okay danke aber das kann ich ja später noch machen.
Ich habe halt immer noch das Problem mit dem hochladen und umbenennen.
Ich habe dein Script auch mal kopiert eingefügt und da hat er das Bild gar nicht erst hochgeladen. -
Danke erstmal für deine Bemühungen!
zum 1. Quelltext:
Ich wollte halt Ordnung in die Sache bringen und die Bilder halt ordentlich durchnummerieren. Sprich image-1/image-2/image-3/...PHP//deshalb das hier damit das ordentlich nummeriert wird $id=$id+1; //und hier sollten die Bilder dann halt umbenannt werden in image-1... rename ('gallerie/'.$_FILES['vbild']['name'], "gallerie/".$image);
Zum 2. Quelltext:
Wie oben schon gesagt... Hier fehlt mir halt die Ordnung der Namen.
Also ich habe dein Script jetzt so verstanden das er die Bilder auf dem Server jetzt genauso nennt wie sie auch auf dem PC heißen von dem aus sie hochgeladen werden.Wozu die ganze ordnung mit den Namen? Ich wollte dann halt noch ein Script einfügen das er die Namen automatisch in das Array imagedata.php einfügt.
Also dieses hier meine ich:PHP
Alles anzeigen$array = [ [ 'src' => 'gallerie/image-1.jpg', 'href' => 'gallerie/gr/image-1.jpg', 'title' => 'Eine Beschreibung die angezeigt wird wenn das bild nicht läd oder man mit der Maus drauf stehen bleibt', ], [ 'src' => 'gallerie/image-2.jpg', 'href' => 'gallerie/gr/image-2.jpg', 'title' => 'Eine Beschreibung die angezeigt wird wenn das bild nicht läd oder man mit der Maus drauf stehen bleibt', ], [ 'src' => 'gallerie/image-3.jpg', 'href' => 'gallerie/gr/image-3.jpg', 'title' => 'Eine Beschreibung die angezeigt wird wenn das bild nicht läd oder man mit der Maus drauf stehen bleibt', ], ];#$array ?>
-
Ach jaaaa... Das gute alte Semikolon
Habe das Script noch einmal kurz überarbeitet:PHP
Alles anzeigen<?php $id = 0; $endung = ".jpg"; $image = "image-".$id.$endung; move_uploaded_file($_FILES['vbild']['tmp_name'], 'gallerie/'.$_FILES['vbild']['name']); move_uploaded_file($_FILES['gbild']['tmp_name'], 'gallerie/gr/'.$_FILES['gbild']['name']); if (move_uploaded_file($_FILES['vbild']['tmp_name'], 'gallerie/'.$_FILES['vbild']['name'])){ $id=$id+1; rename ('gallerie/'.$_FILES['vbild']['name'], "gallerie/".$image); rename ('gallerie/'.$_FILES['bbild']['name'], "gallerie/gr/".$image); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"> <head> <title>Geschützter Bereich</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> Vorschaubild: <input name="vbild" type="file"> <br /><br /> richtiges Bild: <input name="gbild" type="file"> <br> <input type="submit" value="Upload" /> </form> </body> </html>
Er lädt jetzt die Bilder hoch aber benennt sie jedoch nicht um. woran liegt das?
Achso und zwecks des Logins habe ich mich mal im Inet schlau gemacht und ein kleines einfaches Script gefunden was für mich reicht:PHP
Alles anzeigen<?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { session_start(); $passwort = $_POST['passwort']; $hostname = $_SERVER['HTTP_HOST']; $path = dirname($_SERVER['PHP_SELF']); // Benutzername und Passwort werden überprüft if ($passwort == 'MeinPW') { $_SESSION['angemeldet'] = true; // Weiterleitung zur geschützten Startseite if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') { if (php_sapi_name() == 'cgi') { header('Status: 303 See Other'); } else { header('HTTP/1.1 303 See Other'); } } header('Location: http://darksoul.bplaced.net/TestSeite/upload.php'); exit; } } ?> <!DOCTYPE html> <html> <head> <title>Geschützter Bereich</title> </head> <body> <form action="login.php" method="post"> Passwort: <input type="password" name="passwort" /><br /> <input type="submit" value="Login" /> </form> </body> </html>
Jedoch öffnet er nach der Eingabe nicht die erwünschte Seite -
So ich komme leider doch noch nicht ganz so gut voran.
Bin gerade am Script für den Upload von Bildern.
Habe es mir So gedacht das die geuploadete Datei "image-1" genannt wird und die nächste dann "image-2" und so weiter.
Hier mein Script:PHP
Alles anzeigen<?php $id = 0; $image = "image-".$id move_uploaded_file($_FILES['vbild']['tmp_name'], 'gallerie/'.$_FILES['vbild']['name']); move_uploaded_file($_FILES['gbild']['tmp_name'], 'gallerie/gr/'.$_FILES['gbild']['name']); if (move_uploaded_file($_FILES['vbild']['tmp_name'], 'gallerie/'.$_FILES['vbild']['name']);){ $id=$id+1; rename ('gallerie/'.$_FILES['vbild']['name'], "gallerie/".$image".jpg"); rename ('gallerie/'.$_FILES['bbild']['name'], "gallerie/gr/".$image".jpg"); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"> <head> <title>Geschützter Bereich</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> Vorschaubild: <input name="vbild" type="file"> <br /><br /> richtiges Bild: <input name="gbild" type="file"> <br> <input type="submit" value="Upload" /> </form> </body> </html>
Habe das Script so auf den Server geladen aber wenn ich die Seite öffne bekomme ich folgende Meldung: "Parse error: syntax error, unexpected 'move_uploaded_file' (T_STRING) in /users/darksoul/www/TestSeite/upload.php on line 5"
Wo liegt da der Fehler beim parsen? -
Ja das waren noch Anfängerfehler da ich damels noch nicht besser wusste wie ich es so "hinschiebe" wie ich es wollte
Aber Danke jetzt funktioniert alles!!
So das mit dem Login habe ich auch fast hinbekommen
Ich kann ja dann mal posten wie ich es gelöst habe -
Jaaa daaanke!
Sie sind jetzt nebeneinander!
Nur habe ich jetzt noch ein kleines Problem
Die Bilder sind jetzt noch nicht richtig in der Divbox mit blauen Hintergrund "drin" und diese Divbox ist jetzt nicht mehr richtig an der Steuerung dran. -
Nein leider auch nicht... Ich glaube CSS hasst mich heute
Was soll clear: both; eigentlich bewirken?
-
Woher hast du das?
Nein ich verwende den Code genauso wie er oben steht. Ich habe gerade auch nochmal alles überprüft und neu hochgeladen aber es klappt nicht -
Ich bin echt am verzweifeln das hat leider auch nichts gebracht
ich poste einfach mal mein Script vielleicht habe ich ja einen kleinen Fehler irgendwo gemacht und ich finde ihn einfach nicht
HTML
Alles anzeigen<!DOCTYPE html> <html> <head> <title>BSI-Galerie</title> <meta charset="ISO-8859-1"> <meta name="description" content=""> <meta name="author" content=""> <meta name="keywords" content=""> <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)"> <script src="js/prototype.js" type="text/javascript"></script> <script src="js/scriptaculous.js?load=effects,builder" type="text/javascript"></script> <script src="js/lightbox.js" type="text/javascript"></script> <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" /> <link href="style.css" type="text/css" rel="stylesheet"> </head> <body> <img class="ubild" src="BSI.jpg" /> <div class="navi"> <ul> <li><a href="index.html">Home</a></li> <li><a href="info.html">Info</a></li> <li><a href="events.html">Events</a></li> <li><a href="preis.html">Preise</a></li> <li><a href="bewerbung.html">Bewerbung</a></li> <li><a href="galerie.html" class="aktiv">Galerie</a></li> </ul> </div> <div class="werbung"> <script type="text/javascript" src="http://www.sponsorads.de/script.php?s=252784"></script> </div> <div class="indexbox"> <div id="galerieinhalt"> <?php error_reporting(E_ALL); include 'imagedata.php'; $bilderliste = $array; $erstesBild = 0; $leztesBild = count($bilderliste)-1; echo '<div class="img-gallerie" data-img-min="'.$erstesBild.'" data-img-max="'.$leztesBild.'" >'; foreach($bilderliste as $id => $bild){ $title = htmlspecialchars($bild['title']); $src = htmlspecialchars($bild['src']); $href = htmlspecialchars($bild['href']); echo ' <div class="img-container" data-img-id="'.$id.'" > <a class="img-link" href="'.$href.'" rel="lightbox[galerie]" title="'.$title.'" data-img-id="'.$id.'" > <img class="img-img" src="'.$src.'" alt="'.$title.'" data-img-id="'.$id.'" /> </a> </div> '; }#foreach echo '</div>'; ?> </div> </div> </body> </html>
CSS
Alles anzeigenhtml, body { background-color: #490101; } . . . .indexbox{ background-color: #B4CDCD; margin-top: 55px; margin-left: 350px; margin-right: 20%; margin-bottom: auto; font-size: 1.25em; padding-bottom: 10px; border-radius: 0px 40px 40px 40px; } .textinhalt{ margin-left: 50px; margin-right: 50px; font-size: 1.4em; } .img-container{ float: left; max-height: 200px; margin-right: 1em; border: 4px solid rgba(255,255,255, .4); box-shadow: 4px 4px 10px rgba(0,0,0, 1); } .img-gallerie:after{ clear: both; } . . .
-
Ganz so super sieht es leider doch noch nicht aus
Die Bilder sind leider immer noch nicht in einer ordentlichen Reihe und sind auch nicht mehr im eigentlichen div Container. Also ich hatte schon einen extra div container mit blauen Hintergrund und in dem sollen die Bilder sein. Naja seht selbst Link -
Daaanke!!
Die Icons fehlten nicht sondern hießen anders-.- Ich habe mir das Paket von der offizielen Lightboxseite gedownloadet deshalb hätte ich nie erwartet das es daran liegtSo jetzt muss ich nur noch das Design hinbekommen und fertig
So mein Design sieht jetzt wiefolgt aus Link
Ich möchte aber das die Bilder geordnet nebeneinander mit Abstand sind. Habe es schon im style.css versucht aber dies klappt nicht. Oder muss ich das in der lightbox.css machen? Eigentlich ja nicht oder?