Antworten auf deine Fragen:
Neues Thema erstellen

[PHP] header("Location: $pfad");

Univers

Noch nicht viel geschrieben

Hallo alle miteinander,

ich habe ein Problem worin mein Latein am ende ist. Und zwar habe ich wie im Titel beschrieben den
HTML:
header("Location: $pfad");
drinne. Jedoch bekomme ich ständig die Warnung:
HTML:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/xxxxxx/db.php:58) in /www/htdocs/xxxxxx/dateiupload.php on line 4
Auf der Linie 4 von dateiupload.php steht folgendes drin:
HTML:
session_start(); // startet die Session

Würde mich um Hilfe freuen, da ich den Script nicht beenden kann und ständig fliege. Denke also das der die Cookies nicht setzen kann, weiß aber nicht den Fehler warum.

Lg Univers
 

sokie

Mod | Web

AW:
PHP:
 header("Location: $pfad");[/b]

bevor header gesetzt und/oder sessions gestartet werden darf im script keine Ausgabe erfolgen.

beispiel
[php]
<html>
<body>
<?
session_start();


?>
führt zu der Fehlermeldung, wärend
PHP:
<?
 session_start();
?>
<html>
<body>
<?
//weiterer code...
...
?>
funktioniert
 
Zuletzt bearbeitet:

Univers

Noch nicht viel geschrieben

AW:
PHP:
 header("Location: $pfad");[/b]

Also wäre dann der Code hier mit Fehlern verbunden?

[HTML]
<?php  
require('db.php');

session_start(); // startet die Session  

$gfx_status[1] = '<img src="images/gruen.gif" width="15" height="15" border="0" alt="Admin">';
$gfx_status[0] = '<img src="images/rot.gif" width="15" height="15" border="0" alt="User">';

//--------------------- Upload-Einstellungen --------------------------------- // 

 $maxsize = "2097152";                         // Maximale Uploadgroesse (4 mb)  
 $uploaddir = "galerie/upload/";                     // Upload Ordner 
 $allowed_files = array(".jpg", ".gif", ".png");     // Erlaubte Dateien 

// --------------------------------------------------------------------------- // 


ob_start();    // startet den Ausgabepuffer 
?>  

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">  

<head> 
<title>   SMNG-Senshi.com - Dateiupload || Euer Weg zum uploaden...</title>  

<meta http-equiv="Content-Language" content="de" /> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<meta http-equiv="imagetoolbar" content="no" /> 

<style type="text/css"> 
<!-- 

/* Styleangabe  
--------------------------------------*/ 
body { 
    margin: 0px;  
    color: #777; 
    background: #000000; 
    font: normal 12px Arial, Verdana, sans-serif; 
} 

#ram { 
    background: #000; 
    border: 2px solid #8fd9ff; 
    margin: 10px auto; 
    text-align: left; 
    width: 700px; 
    padding: 0px 15px; 
} 

h1#header { 
    height: 90px; 
    background: url('http://the-lastfighters.de/bilder/logo.png') left no-repeat; 
    border: none; 
    padding: 15px 0px 0px 115px; 
    font-size: 2.8em; 
    color: #8fd9ff; 
    margin: 0px; 
} 

#header small{ 
    display: block; 
    font-size: 0.4em; 
    margin: 0px; 
    color: #acacac; 
    padding-left: 15px; 
} 

/* Headlines 
------------------------------------------------------------------ */ 
h1, h2, h3, h4, h5, h6 { 
    margin: 0px 0px 10px; 
    font-family: 'Century Gothic', Tahoma, Verdana, Sans-serif; 
    border-bottom: 1px dotted #DDD; 
    font-weight: normal; 
    text-align: left; 
    color: #8fd9ff; 
} 

h1{ 
    font-size: 1.8em; 
} 

h2{ 
    font-size: 1.3em; 
} 

h3{ 
    margin: 35px 0px 10px; 
    border-bottom: none; 
    border-top: 1px dotted #DDD; 
    font-size: 1.2em; 
} 

/* Verweise 
------------------------------------------------------------------ */ 
A { 
    color: #777;  
    font-weight: bold; 
    text-decoration: underline; 
} 

A:visited { 
    color: #B5B5B5;  
    font-weight: normal; 
    text-decoration: none; 
} 

A:hover, A:active { 
    color: #8fd9ff;  
    text-decoration: underline; 
} 

/* Formulare 
------------------------------------------------------------------ */ 
fieldset{ 
    margin: 0px auto 15px; 
    border: 1px solid #8fd9ff; 
    padding: 10px; 
    width: 90%; 
} 

legend{ 
    font-size: 1.4em; 
    color: #8fd9ff; 
} 

#upload label{ 
    float: left; 
    width: 400px; 
} 

#login_form fieldset{ 
    width: 425px; 
} 

#login_form input{ 
    width: 200px; 
} 

#login_form input.button { 
    width: 120px; 
} 

input { 
    color: #8fd9ff;  
    background: #000000; 
    border: 1px solid #B5B5B5; 
    font-size: 0.9em; 
    height: 18px;  
    margin: 0px 0px 3px 0px; 
} 

input:hover, input:active, input:focus { 
    border: 1px solid #8fd9ff; 
    color: #777; 
} 

/* Error 
------------------------------------------------------------------ */ 
.error{ 
    padding: 5px; 
    margin: 5px 5px 20px; 
    border: 3px solid #8fd9ff; 
} 
.Stil1 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 24px;
}

--> 
</style> 

</head> 
<body> 

<div id="ram"> 
<h1 id="header"><span class="Stil1">The-Lastfighters.de - Dateiupload</span> <small>Euer eigener Uploadweg ...</small></h1>
<br />  
<?php 

$action = strip_tags($_GET['action']);  
$pfad = $_SERVER['PHP_SELF'];              // generiert aktueller Pfad zur Datei   

// -------------------------------- Logout -------------------------------------- 
if ($action == 'logout'){  
session_unset(); 
session_destroy(); 


    header("Location: $pfad"); // Weiterleitung  
}  
// ------------------------------------ Login --------------------------------------- 
if ($_GET['del'] == 1) {
 $uid = $_GET['id'];
 $udn = $_GET['name'];
 if ($uid != 1) {
   $db->query("DELETE FROM user WHERE id = ".$uid."");
   $message = 'User <strong>'.$udn.'</strong> gelöscht<br />'; $error = "0";
 } else {
   $message = 'Schnucki nicht dich selber löschen wollen ... <br />'; $error = "1";
 }
    if($error != "1"){ echo "<p>$message</p>" ;
    } 
     
    if($error == "1"){ 
        echo "<div class=\"error\"><h1>Error ...</h1>\n <p>$message</p></div>"; 
    } 

}

if(isset($_POST['uanlegen'])) { 
  $nuname = strip_tags($_POST['uname']); 
  $nupass = strip_tags($_POST['upass']); 
  $fu1 = $db->query("SELECT * FROM user WHERE user = '".$uname."' LIMIT 1");
  if (!mysql_num_rows($fu1)) {
     $db->query("INSERT INTO user (user,pass) VALUES ('".$nuname."','".md5($nupass)."')");
     $message = 'User <strong>'.$nuname.'</strong> angelegt<br />'; $error = "0";
  } else {
     $message = 'Usernamen schon vorhanden oder Fehler ... <br />'; $error = "1";

  }

    if($error != "1"){ echo "<p>$message</p>" ;
    } 
     
    if($error == "1"){ 
        echo "<div class=\"error\"><h1>Error ...</h1>\n <p>$message</p></div>"; 
    } 

}



if (!isset($_SESSION['login'])){  

if(isset($_POST['admin_login'])) { 
$login_name = strip_tags($_POST['admin_name']); 
$login_pass = strip_tags($_POST['admin_pass']); 
$fu = $db->query("SELECT * FROM user WHERE user = '".$login_name."' LIMIT 1");
if (!mysql_num_rows($fu)) { $message .= 'Usernamen nicht gefunden ... <br />'; $error = "1"; }
$ful = mysql_fetch_array($fu);
echo $ful['user'].' '.$ful['pass'];

    if(empty($login_name)) {  
        $message .= 'Bitte geben Sie ihren Usernamen ein ... <br />'; $error = "1"; 
     }      
     if(empty($login_pass)) {  
        $message .= 'Bitte geben Sie ihr Passwort ein ... <br />'; $error = "1"; 
     }      
      
     if($login_name != $ful['user'] OR md5($login_pass) != $ful['pass']){ 
        $message .= 'Zugriff verweigert ... <br />'; $error = "1"; 
     } 
     
    if($error != "1"){ 
         
            // session handle----------------------------- 
            $_SESSION['login'] = $_SERVER['REMOTE_ADDR']; 
            $_SESSION['user'] = $login_name;
            $_SESSION['admin'] = $ful['status'];
            header("Location: $pfad"); 
    } 
     
    if($error == "1"){ 
        echo "<div class=\"error\"><h1>Error ...</h1>\n <p>$message</p></div>"; 
    } 

} // LoginFormular ausgeben 
?> 
<form action="" method="post"> 
<fieldset style="width: 300px"> 
<legend>Login</legend> 
<label for="user">Username: </label> 
<input type="text" name="admin_name" style="width: 250px" /> 

<label for="passwort">Passwort:&nbsp; </label> 
<input type="password" name="admin_pass" style="width: 250px" /> 
<br /><br /> 
<input type="submit" value=" Login " name="admin_login" /> 
</fieldset> 

</form> 
<?php  
}  //------------------------------------- Login ENDE ----------------- 


//------------------- Wenn eingeloggt ------------------------------------------------ 
if(isset($_SESSION['login'])){  

// Funktion um die Maximale Dateigroesse uebersichtlich in KB/MB/GM darzustellen 
function grafixx_size($datei_size, $nachkommastellen = 0) { 
    $d_size = $datei_size; 
     
    if($d_size >= 1073741824){ // wenn groeser als 1073741824 Byte - GB ausgeben 
        return round($d_size/(1073741824), $nachkommastellen)." GB"; 
    } 
     
    if($d_size >= 1048576){ // wenn groesser als 1048576 Byte - MG ausgeben 
        return round($d_size/(1048576), $nachkommastellen)." MB"; 
    } 
     
    if($d_size >= 1024){ // wenn groesser als 1024 Byte - KB ausgeben 
        return round($d_size/(1024), $nachkommastellen)." KB"; 
    } 
     
    return $d_size." Byte"; 
} 

if(isset($_POST['submit'])){ // Wenn Submit gedrueckt wurde 

$tmp_name = $_FILES['image']['tmp_name'];         // Originaler Dateiname  
$name = $_FILES['image']['name'];                    // Originalname  
$size = $_FILES['image']['size'];                   // Groeße der Datei  
$type = $_FILES['image']['type'];                    // MIME Type der Datei  
$gallerie = $_POST['gal'] = addslashes ($_POST['gal']);

$datei_typ = strrchr($_FILES['image']['name'], ".");    // Dateieindung herausfiltern 

// Pruefen ob input'image' nicht leer ist 
if(empty($_FILES['image']['tmp_name'])) {  
    $message .= 'Bitte Danke eine Datei angeben ... <br />';  
    $error = "1";  
}else{  

    // Pruefen ob die Datei erlaubt ist  
    if(in_array($datei_typ, $allowed_files)){ 
  
         // Pruefen ob die Dateigroesse passt / keine leere Datei ist 
        if($size<=$maxsize && $size!=0){ 
             
            // pruefen ob die Datei existiert 
            while(file_exists($uploaddir.$newname) || !$newname){ 
             
            $newname = md5(uniqid(rand())); // Der Datei einen neuen Namen verpassen 
            } 
             
            // Datei in Verzeichnis kopieren 
            if(move_uploaded_file($tmp_name, $uploaddir.$newname.$datei_typ)){ 
                $db->query("INSERT INTO upload (user,datei,mini,kat,name,kb,zeit) VALUES ('".$_SESSION['user']."','".$uploaddir.$newname.$datei_typ."','".$uploaddir.'tump/'.$newname.'tump'.$datei_typ."','".$gallerie."','".$name."','".$size."','".time()."')"); 
//tumpnail anfang
    $img_src = $uploaddir.$newname.$datei_typ; // Pfad zum Bild aus welchem das Thumbnail erstellt werden soll
    $img_src1 = $newname; // Pfad zum Bild aus welchem das Thumbnail erstellt werden soll
    $cache_dir = 'galerie/upload/tump'; // Pfad zum Cache Verzeichnis wo später die Bilder gespeichert werden
    # Auslesen der Bildgröße und des Bildtyps
    $image_infos = @getimagesize($img_src);
    $width = $image_infos[0];
    $height = $image_infos[1];
    $type = $image_infos[2];
    $mime = $image_infos['mime'];
    # Berechnung der Maße des Thumbnails
    $new_height = 130; // Zuweisen der neuen Höhe
    $new_width = 130; // Zuweisen der neuen Breite
    # Prüft ob das Chache Verzeichnis existiert bzw. benötigt wird und legt dieses eventuell an
    if ($cache === true && !file_exists($cache_dir)){
        mkdir($cache_dir); // Legt das Cache Verzeichnis an. Sollte dies nicht möglich sein, so wird ein Fehler ausgegeben
        chmod($cache_dir, 0777); // Gibt dem Cache Verzeichniss die nötigen Schreib- und Lese Rechte
    }
    # Ermitteln des Bildtypes und Erstellung des Thumbnails
    switch ($type){
        case 1:
            if (imagetypes() & IMG_GIF){ // Überprüfen ob das Bildformat untestützt wird
                if (!file_exists($cache_dir.'/'.$img_src.'tump.gif')){ // Wenn das Thumbnail nicht existiert wird es erstellt
                    $orginal = imagecreatefromgif($img_src); // Bild aus dem Orginalbild erstellen
                    $thumb = imagecreatetruecolor($new_width, $new_height); // Das Thumbnailbild erstellen
                    imagecopyresampled($thumb, $orginal, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
                    imagegif($thumb, $cache_dir.'/'.$img_src1.'tump.gif'); // Bild speichern
                }
            } 
            break;
        case 2:
            if (imagetypes() & IMG_JPG){ // Überprüfen ob das Bildformat untestützt wird
                if (!file_exists($cache_dir.'/'.$img_src.'tump.jpg')){ // Wenn das Thumbnail nicht existiert wird es erstellt
                    $orginal = imagecreatefromjpeg($img_src); // Bild aus dem Orginabild erstellen
                    $thumb = imagecreatetruecolor($new_width, $new_height); // Das Thumbnailbild erstellen
                    imagecopyresampled($thumb, $orginal, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
                    imagejpeg($thumb, $cache_dir.'/'.$img_src1.'tump.jpg'); // Bild speichern
                }
            }
            break;
        case 3:
            if (imagetypes() & IMG_PNG){ // Überprüfen ob das Bildformat untestützt wird
                if (!file_exists($cache_dir.'/'.$img_src.'tump.png')){ // Wenn das Thumbnail nicht existiert wird es erstellt
                    $orginal = imageCreateFromPNG($img_src); // Bild aus dem Orginalbild erstellen
                    $thumb = imagecreatetruecolor($new_width, $new_height); // Das Thumbnailbild erstellen
                    imagecopyresampled($thumb, $orginal, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
                    imagepng($thumb, $cache_dir.'/'.$img_src1.'tump.png'); // Bild speichern
                }
            }
            break;
    }
    # Löscht das Bild aus dem Speicher des Servers falls es existiert
    if (isset($thumb)){ imagedestroy($thumb); }
//tumpnail ende



                echo "<h1>Die Datei wurde erfolgreich hochgeladen...</h1>";  
                echo "<strong>Dateigroesse:</strong> ".grafixx_size($size)."<br />\n";  
                echo "<strong>MIME-Type:</strong>  ".$type." <br /><br />\n"; 
                echo "<strong>Datei ansehen =></strong>  \n
                 
                          
<a href='".$uploaddir.$newname.$datei_typ."' target=\"_blank\"> 
".$uploaddir.$newname.$datei_typ."</a>";
                $ttt = $cache_dir.'/'.$img_src1.'tump.png';
                ?>  <img src="<?=$ttt;?>" alt="thumbnail"><?  
                 
                $okay = "yes";   
                 
            }else{ // Wenn Datei nicht ins angegebene Verzeichnis kopiert werden konnte 
                $message .= 'Datei konnte nicht verschoben werden ... <br />';  
                $error = "1";  
            } 
         
        }else{ // Wenn Datei zu gross ist 
            $message .= "Die Datei <strong>".$name."</strong>  
ist größer als die erlaubten ".grafixx_size($maxsize)." ...".$size." <br />";  
            $error = "1";  
        }  
    }else{ // Wenn Dateityp nicht erlaubt ist 
        $message .= "Der Dateityp der Datei <strong>".$name."</strong> ist nicht gestattet ...<br />";  
        $error = "1";  
    } 

} // close (empty($_POST['images']))  

    if($error == "1"){ // Fehlermeldungen ausgeben 
        echo "<div class=\"error\"><h1>Error ...</h1>\n <p>$message</p></div>"; 
    }  
     
} // close submit gedrueckt Wenn nicht submit gedrueckt  

if(!isset($okay)){ // wenn nicht okay -> Formular ausgeben 
?> 

<form id="upload" action="" enctype="multipart/form-data" method="post"> 
<fieldset> 
<legend>Dateiupload</legend> 

<label>Datei:&nbsp;&nbsp;&nbsp;  
<input type="file" name="image" id="image" size="33" /></label> 

<br><br><br>
<label>Galerie:&nbsp;&nbsp;&nbsp; <br> 

<table>
<tr> 
<td><input type="radio" name="gal" value="Animationen">Animationen</td> 
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr> 
<td><input type="radio" name="gal" value="Alysha">Alysha</td>
<td><input type="radio" name="gal" value="Azura">Azura</td>
<td><input type="radio" name="gal" value="Akio">Akio</td> 
<td><input type="radio" name="gal" value="Kazuko">Kazuko</td> 
<td></td> 
</tr>
<tr>
<td><input type="radio" name="gal" value="Backgrounds">Backgrounds</td>
<td><input type="radio" name="gal" value="Diverse"  checked>Diverse</td>
<td><input type="radio" name="gal" value="Fun">Fun</td>
<td><input type="radio" name="gal" value="Feinde">Feinde</td>  
<td></td>
</tr>
<tr>
<td><input type="radio" name="gal" value="Gabriel">Gabriel</td>
<td><input type="radio" name="gal" value="Gruppen">Gruppen</td>
<td><input type="radio" name="gal" value="Paare">Paare</td>
<td><input type="radio" name="gal" value="Wallpaper">Wallpaper</td> 
<td></td>
</tr>
<tr>
<td><input type="radio" name="gal" value="Katsou">Katsou</td>
<td><input type="radio" name="gal" value="Kisumi">Kisumi</td>

<td><input type="radio" name="gal" value="Kirana">Kirana</td>
<td><input type="radio" name="gal" value="Lara">Lara</td> 
<td></td>
</tr>
<tr>
<td><input type="radio" name="gal" value="Miyako">Miyako</td>
<td><input type="radio" name="gal" value="Mikael">Mikael</td>
<td><input type="radio" name="gal" value="Miyu">Miyu</td> 
<td></td>
</tr>
<tr>
<td><input type="radio" name="gal" value="Old_Senshis">Old_Senshis</td>
<td><input type="radio" name="gal" value="Out_senshis">Out_senshis</td> 
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><input type="radio" name="gal" value="Ren">Ren</td>
<td><input type="radio" name="gal" value="Ryon">Ryon</td>
<td><input type="radio" name="gal" value="Rahul">Rahul</td>
<td><input type="radio" name="gal" value="Ryo">Ryo</td> 
<td></td>
</tr>
<tr>
<td><input type="radio" name="gal" value="Sinthoras">Sinthoras</td>
<td><input type="radio" name="gal" value="Shisuka">Shisuka</td>
<td><input type="radio" name="gal" value="Sekai">Sekai</td>
<td><input type="radio" name="gal" value="Seiya">Seiya</td>
</tr>
<tr>
<td><input type="radio" name="gal" value="SelestDevi">Selest/Devi</td>
<td><input type="radio" name="gal" value="Shaseren">Shaseren</td>
<td><input type="radio" name="gal" value="Tama">Tama</td>
<td><input type="radio" name="gal" value="Yaten">Yaten</td>
<td></td>
</tr>
</table>
 </label>
<div id="shows"> 
<strong>Erlaubte Dateitypen:</strong> 
<?php // erlaubt Dateitypen auflisten 
foreach($allowed_files AS $name){ 
   echo "$name  "; 
}?> <br /> 

<strong>Maximale Dateigroesse:</strong> 
<?php // Maximale Dateigroesse ausgeben 
echo grafixx_size("$maxsize", 2); ?> 
</div> 
<br /> 
<input type="submit" value="Datei Hochladen" name="submit" /> 
</fieldset> 
</form> 
<?php } // close !okay 

if ($_SESSION['admin'] != 0){ 
$user = $db->query("SELECT * from user ORDER BY user ");

?>

<fieldset> 
<legend>Userverwaltung</legend> 
<table width="30%" border="0" cellpadding="1" cellspacing="1">
<tr>
<td align="center"></td>
<td align="center"><b>User</b></td>
</tr>
<?
while ($ausgabe = mysql_fetch_array($user)) {
echo '<tr><td align="center"><a href="dateiupload.php?del=1&id='.$ausgabe['id'].'&name='.$ausgabe['user'].'" target="_self">'.$gfx_status[$ausgabe['status']].'</a></td>';
echo '<td align="left">'.$ausgabe['user'].'</td></tr><br>';
}

?>
</table>
</fieldset> 
<form id="userb" action="" method="post"> 
<fieldset> 
<legend>Useranlegen</legend> 
<table width="30%" border="0" cellpadding="1" cellspacing="1">
<tr>

<label for="user">Username: </label> 
<input type="text" name="uname" style="width: 250px" /> 

<label for="passwort">Passwort:&nbsp; </label> 
<input type="password" name="upass" style="width: 250px" /> 
<br /><br /> 
<input type="submit" value=" anlegen " name="uanlegen" /> 

</tr>
</table>
</fieldset> 
</form> 


<? }

}// close eingeloggt  
?> 
<h3>The-Lastfighters.de - Dateiupload &copy; <a href="http://the-lastfighters.de">The-Lastfighters.de</a> <?php echo date('Y'); ?>  

<?php  
// Admin Logout 
if(isset($_SESSION['login'])){ // Wenn eingeloggt 
    echo "| <a href=\"$pfad?action=logout\">logout</a>"; 
} ?> 
</h3> 

</div> 
</body> 
</html>
[/HTML]
 

saila

Moderatorle

AW:
PHP:
 header("Location: $pfad");[/b]

Was ist das für eine Frage, wenn zuvor Sokie dir doch letztlich erläutert hat, was wie wo passiert?
 

Univers

Noch nicht viel geschrieben

AW:
PHP:
 header("Location: $pfad");[/b]

Wenn ich mir aber meinen Code ansehe und dann das was er mir geschrieben hat, dann sehe ich den Fehler nicht, oder bin ich blind O.o
 

saila

Moderatorle

AW:
PHP:
 header("Location: $pfad");[/b]

Na dann seh dir mal die Zeile 188 (if) und die Zeile 193 in deinem script an - und - wo ist die html-Ausgabe?
 

ak56Lk

Noch nicht viel geschrieben

AW:
PHP:
 header("Location: $pfad");[/b]

(output started at /www/htdocs/xxxxxx/db.:58) 
 
in deiner db.php ist in Zeile 58 (man nennt es Zeile und nicht Linie) eine Ausgabe. Man sollte die Fehlermeldungen, die PHP einem spendiert, schon lesen und verstehen. Zum Verstehen gehören einfache Englisch-Kenntnisse.
 
Ich habe leider keine Ahnung, wieso Fehlermeldungen nicht gelesen werden. In der Zeit, in der du einen Post zu dieser Fehlermeldung erstellst, könntest du locker die Fehlermeldung verstehen und selbst beheben.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.066
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben