CSS min-height wird nicht größer!

Hi,

ich habe ein Formular, welches "min-height: 220px;" beinhaltet, jedoch verändert sich die Größe nicht, wenn ein child-div größer wird. (siehe Bild)

Fragen:

  • Wieso steht der Upload-Button über?
  • Hat jemand eine bessere Idee?

JSFIDDLE: http://jsfiddle.net/5jys2sky/ (sieht nicht perfekt aus - noch mehr CSS)

Ich versuche es möglichst kurz zu machen:

HTML:

<form class="profile" method="POST" action="profile/update.php" enctype="multipart/form-data">
            <div class="firstDiv">
                <img src="include/images/objects/userImages/1.png">
                <div class="upload2"><input type="file" name="image" id="up" maxlength="1000000" accept="image/*" /><label for="up"><div>Hochladen</div></label></div>
            </div>
            <h3>Peder</h3>
            Geburtstag:<input type="text" name="birthday" value="------" /><br /><br />
            Email:<input type="text" name="email" value="max.musterman@example.com" /><br /><br />
            <input type="submit" value="Speichern" />
        </form>

CSS:

.upload2 {
    display: inline-block;
}
.upload2 input[type="file"] {
    display: none;
}
.upload2 label {
    display: block;
}
.upload2 label div {
    color: white;
    font-size: 10pt;
    background-color: #79A620;
    border-width: thin;
    border-color: #ddd;
    border-style: solid;
    border-radius: 3px;
    padding: 5px;
    margin-top: 5px;
}
.upload2 label div:hover {
    border-color: #406000;
}
.profile {
    position: relative;
    background-color: white;
    color: #3f3f3f;
    border-radius: 5px;
    padding: 10px;
    min-height: 220px;          /*<--- Hier*/
}
.profile .firstDiv {
    padding: 5px;
    float: left;
    max-width: 200px;
}
.profile img {
    position: static;
    max-width: 200px;
    max-height: 200px;
}
.profile .upload2 label div, .profile .upload2 label {
    width: 100%;
    margin-top: 0;
    text-align: center;
}
.profile .upload2 {               /*<--- Das ist zu groß*/
    width: calc(100% - 10px);
}

Danke, schon mal im Voraus!

-Minding

...zum Beitrag

Hi,

ich hab mal wieder 50 Fehler gemacht.

"/*<--- Das ist zu groß*/"

Muss zu ".profile .firstDiv {..}"

Es kommt ein bessers Bild.

@Computerfrage-TEAM ich will meine Fragen auch nach 10min. noch bearbeiten dürfen :(

-Minding

...zur Antwort
CSS 2 relative Elemente ineinander: parent soll die Größe des childs annehmen

Hallo Community,

ich habe ein Problem mit relativen und absoluten Elementen.

HTML:

<form class="profile" method="POST" action="profile/update.php" enctype="multipart/form-data">
            <div>
                <img src="include/images/profileImages/<?php echo $user['ID']; ?>.png">
                <label class="upload"><p><?php echo $language['profileChangeImage']; ?></p><input name="image" type="file" maxlength="1000000" accept="image/*" /></label>
            </div>
            <h3><?php echo $user['name']; ?></h3>
            <?php echo $language['addBirthday']; ?><input type="text" name="birthday" value="<?php echo $user['birthday']; ?>" /><br /><br />
            <?php echo $language['addEmail']; ?><input type="text" name="email" value="<?php echo $user['email']; ?>" /><br /><br />
            <input type="submit" value="<?php echo $language['profileSave']; ?>" />
        </form>

CSS:

input {
    border: 0px;
    border-radius: 3px;
    height: 25px;
    padding: 5px;
    margin-top: 5px;
}
input[type="submit"] {
    height: 30px;
    color: white;
    border-width: thin;
    border-color: #ddd;
    border-style: solid;
    background-color: #79A620;
}
input[type="submit"]:hover {
    border-color: #406000;
}
.upload {
    overflow: hidden;
    position: absolute;
    text-align: center;
    font-size: small;
    color: white;
    background-color: #79A620;
    width: 213px;
    height: 33px;
    left: 500px;
    margin-top: -10px;
    border-width: thin;
    border-color: #ddd;
    border-style: solid;
    border-radius: 3px;
}
.upload:hover {
    border-color: #406000;
}
.upload [type="file"] {
    display: block;
    position: absolute;
    font-size: 999px;
    filter: alpha(opacity=0);
    opacity: 0;
    right: 0;
    top: 0;
}
.upload p {
    margin-top: 10px;
    z-index: 1;
}
.profile {
    position: relative;
    background-color: white;
    color: #3f3f3f;
    border-radius: 5px;
    padding: 10px;
    min-height: 220px;
}
.profile div {
    position: relative;
    display: table;
    margin-right: 5px;
    float: left;
    max-width: 200px;
    height: 100%;
}
.profile img {
    max-width: 200px;
    max-height: 200px;
}
.profile input[type="text"] {
    position: absolute;
    margin: 0;
    height: 10px;
    left: 500px;
    color: black;
}
.profile div .upload {
    display: table-row;
    margin-top: 5px;
    left: 0;
    width: 100%;
}

Problembeschreibung: siehe Bilder

Danke, schon mal im Voraus!

-Minding

...zum Beitrag

Hi,

ich hab's jetzt gelöst:

HTML:

<form class="profile" method="POST" action="profile/update.php" enctype="multipart/form-data">
            <div>
                <img src="include/images/objects/userImages/<?php echo $user['ID']; ?>.png">
                <div class="upload2"><input type="file" name="image" id="up" maxlength="1000000" accept="image/*" /><label for="up"><div><?php echo $language['upload']; ?></div></label></div>
            </div>
            <h3><?php echo $user['name']; ?></h3>
            <?php echo $language['addBirthday']; ?><input type="text" name="birthday" value="<?php echo $user['birthday']; ?>" /><br /><br />
            <?php echo $language['addEmail']; ?><input type="text" name="email" value="<?php echo $user['email']; ?>" /><br /><br />
            <input type="submit" value="<?php echo $language['profileSave']; ?>" />
        </form>

CSS:

/*Upload without "position: absolute;"*/
.upload2 {
    display: inline-block;
}
.upload2 input[type="file"] {
    display: none;
}
.upload2 label {
    display: block;
}
.upload2 label div {
    color: white;
    font-size: 10pt;
    background-color: #79A620;
    border-width: thin;
    border-color: #ddd;
    border-style: solid;
    border-radius: 3px;
    padding: 5px;
    margin-top: 5px;
}
.upload2 label div:hover {
    border-color: #406000;
}
.profile div {
    margin-right: 5px;
    float: left;
    max-width: 200px;
    height: 100%;
}
.profile img {
    position: static;
    max-width: 200px;
    max-height: 200px;
}
.profile .upload2 label div, .profile .upload2 label {
    width: 100%;
    text-align: center;
}
.profile .upload2 {
    width: calc(100% - 10px);
}

-Minding

...zur Antwort
PHP unlink Datei wird nur nicht angezeigt

Hallo Community,

ich habe eine PHP-datei, welche ein Bild ändert (löscht und ersetzt), jedoch löscht unlink das Bild nicht immer (deshalb der diskrete Name). In meinem Fall wird das Bild (von Windows 7) nicht mehr angezeigt, jedoch ist es auf der Seite (mit xampp) noch zu sehen. move_uploaded_file liefert FALSE zurück.

Hier ein Kommentar in der PHP-Dokumention dazu: http://php.net/manual/de/function.unlink.php#101637

PHP:

if(isset($_POST['image'])) {
        $imagePath = '../include/images/profileImages/'.$ID.'.png';
        //Overwrite
        if(file_exists($imagePath)) {
            //1. Change the file permissions if allowed
            //2. Remove the file
            if(!chmod($imagePath, 0755) OR !unlink($imagePath)) {
                $_SESSION['error'] = $language['profileErrorOverwriteImage'];
                header('Location:' . $_SERVER['HTTP_REFERER']);
                echo "<script>window.history.back()</script>";
                die($language['profileErrorOverwriteImage']);
            }
        }
        if(!move_uploaded_file($_FILES['image']['tmp_name'], $imagePath)) {
            $_SESSION['error'] = $language['profileErrorCanNotSaveImage'];
            header('Location:' . $_SERVER['HTTP_REFERER']);
            echo "<script>window.history.back()</script>";
            die($language['profileErrorCanNotSaveImage']);
        }
        unset($_POST['image']);
    }

HTML: (Bild anzeige)

<form class="profile" method="POST" action="profile/update.php">
            <img src="include/images/profileImages/<?php echo $user['ID']; ?>.png">
            <label class="upload"><p><?php echo $language['profileChangeImage']; ?></p><input name="image" type="file" maxlength="1000000" accept="image/*" /></label>
            <h3><?php echo $user['name']; ?></h3>
            <?php echo $language['addBirthday']; ?><input type="text" name="birthday" value="<?php echo $user['birthday']; ?>" /><br /><br />
            <?php echo $language['addEmail']; ?><input type="text" name="email" value="<?php echo $user['email']; ?>" /><br /><br />
            <input type="submit" value="<?php echo $language['profileSave']; ?>" />
        </form>

Fragen:

  • Wie kann ich das Bild endgültig löschen?
  • Wieso wird das Bild nicht komplett gelöscht?

PS: Für alle die gerne Rätsel lösen - ich hab noch nen paar ungelöste Fragen.

Danke, schon mal im Voraus!

-Minding

...zum Beitrag

EDIT:

Das Bild war nur in meiner Cache.

Nun wird das Bild gar nicht mehr angezeigt.

Ich kann auch immer noch keins Speichern.

-Minding

...zur Antwort
PHP Header führt immer zur index.php

Hallo Community,

ich mache gerade eine kleine Website, jedoch springt jeder header(location:xyz.php) auf die index.php (das jedoch nur innerhalb der folgenden Datei):

<?php
    include('../include/language.inc.php');
    include('../include/testSession.inc.php');
    include('../include/connect.inc.php');
    if($_SESSION['mode'] == 'users') {
        $UIDC = $_SESSION['ID'];
        $UIDN = explode(':', $UIDC)[1];
        $OIDC = $_GET['ID'];
        $OType = substr($OIDC, 0, 1);
        $OIDN = explode(':', $OIDC)[1];
        $user_path = 'SELECT likes,dislikes FROM users WHERE ID='.$UIDN;
        $user = $mysqli->query($user_path)->fetch_assoc()or die($mysqli->error);
        $userUndislike = 'UPDATE users SET dislikes=REPLACE(dislikes, ";'.$OIDC.'", "") WHERE ID='.$UIDN;
        $userLike = 'UPDATE users SET likes=CONCAT(likes, ";'.$OIDC.'") WHERE ID='.$UIDN;
        //Check type
        if($OType == 'c') {
            $undislike = 'UPDATE companies SET dislikes=dislikes-1 WHERE ID='.$OIDN;
            $like = 'UPDATE companies SET likes=likes+1 WHERE ID='.$OIDN;
            $back = 'Location:company.php';
        } elseif($OType == 'p') {
            $undislike = 'UPDATE products SET dislikes=dislikes-1 WHERE ID='.$OIDN;
            $like = 'UPDATE products SET likes=likes+1 WHERE ID='.$OIDN;
            $back = 'Location:product.php';
        } elseif($OType == 'a') {
            $undislike = 'UPDATE awards SET dislikes=dislikes-1 WHERE ID='.$OIDN;
            $like = 'UPDATE awards SET likes=likes+1 WHERE ID='.$OIDN;
            $back = 'Location:award.php';
        } else {
            $_SESSION['error'] = $language['searchErrorUnknownType'] . $OType;
            header('Location:' . $_SERVER['HTTP_REFERER']);
            echo '<script>window.history.back()</script>';
            die($language['searchErrorUnknownType'] . $OType);
        }
        //Check like already set
        if(array_search($OIDC, explode(';', $user['likes'])) === false) {
            $mysqli->query($like)or die($mysqli->error);
            $mysqli->query($userLike)or die($mysqli->error);
            //Check dislike set
            if(array_search($OIDC, explode(';', $user['dislikes'])) !== false) {
                $mysqli->query($undislike)or die($mysqli->error);
                $mysqli->query($userUndislike)or die($mysqli->error);
            }
        } else {
            //Unlike
            $mysqli->query(str_replace('+', '-', $like))or die($mysqli->error);
            $mysqli->query(str_replace('dislikes', 'likes', $userUndislike))or die($mysqli->error);
        }
    } else {
        $_SESSION['error'] = $language['productErrorNotAUser'];
    }
    header('Location:' . $_SERVER['HTTP_REFERER']);
    echo "<script>window.history.back()</script>";
    header($back);
?>

Die verschiedenen zurückspring Varianten: - header('Location:' . $_SERVER['HTTP_REFERER']); - echo ""; - header($back);

Das verwunderlichste ist, dass header($back); zwar auf jeden Fall die richtige Anweisung hat (Location:company.php), jedoch trotzdem auf die index.php zurückspringt (Location:../index.php), welche einen Ordner obendrüber liegt!

Danke, schon mal im Voraus!

-Minding

...zum Beitrag

Hi,

wie immer ich frag mich zwei Stunden lang was falsch ist und ca. 1 Minute nach dem Frage schreiben fällt mir auf, das es ein ganz simples Problem ist! XD

In der company.php steht das hier:

if(empty($ID)) {
    header('Location:../index.php');
}

Und damit lande ich direkt bei der index.php!

-Minding

...zur Antwort
Höre keinen Ton mehr von verschiedenen Quellen, abhängig von der Buchse

Als ich heute den PC gestartet habe, habe ich keinen Ton mehr im Internet und von Spielen gehört, nur Skype gab Ton ab. Die Headset Kabel waren in den exakt gleichen Buchsen wie gestern auch, wo alles noch normal lief. Dann habe ich die Kabel vorne eingesteckt, wodurch ich dann Internet und Spiele hören konnte, aber Skype stumm war. Wie kann sowas passieren? Da kann doch wohl nicht einfach alles ohne jede Einwirkung kaputt gehen? Computer neustarten hat nun irgendwie nichts gebracht, und Lautstärkemixer usw. habe ich auch schon nachgesehen, sollte eigentlich alles funktionieren... Beim neu-Einstecken der Kabel hat sich dann auch immer der "Realtek HD Audio Manager geöffnet. Dort bin ich auf erweiterte Geräteeinstellungen (Bild 1) gegangen, wo ich dann einfach mal die 2 Haken nach unten gesetzt habe, in der Hoffnung, dass das irgendwas tut. Nach dem Drücken von Ok kam dann ganz kurz "Audiogeräte werden neu geladen". (Bild 2) Beim ersten mal konnte ich für ca. 1 Sekunde wieder das Spiel und Video hören, was ich im Hintergrund anhatte. Jedoch kommt jedes mal nach dem Ersten noch ein Zweites Mal "Audiogeräte werden neu geladen", wonach der Ton dann wieder weg ist. Ich habe seit Gestern, wo wie gesagt alles noch Tutti war, nichts neues installiert noch sonst was am PC gemacht, darum kann ich einfach nicht verstehen, was hier auf einmal das Problem ist. Ich bete dafür das irgendwer hier etwas weiß, und es nicht an Headset oder anderer Hardware liegt, da ich dieses Jahr alleine bestimmt schon 300 Euro in neue Headsets oder Soundkarten gesteckt habe.

...zum Beitrag

Hi,

wahrscheinlich läuft Skype noch da es ein anderes Ausgabegerät benutzt. Das kannst du im Windows-Mixer sehen (falls du nicht weißt wo er ist siehe Bild). Da das Problem nur nicht bei Skype auftritt ist dann der andere Audio-Output kaputt. Bei mir lief Skype mal über HDMI (Bildschirm) und ich hatte mein Headset auf - mega Nervig.

Ich hoffe ich konnte dir helfen.

-Minding

...zur Antwort

Hi,

falls du mal wieder wissen willst ob auch andere dieses Problem haben:

Alle Störungen: https://allestörungen.de

Auch bei anderen Webdiensten und Websites (Steam, Telekom, Vodafone etc.)

-Minding

...zur Antwort
PHP Bild hochladen und abspeichern

Hallo Community,

ich will eine Seite (HTML,PHP, MySQLi, CSS - möglichst kein JS) machen, wo man sein Bild hochlädt und es dann gespeichert wird, während der Pfad in der DB landet.

Mein Code bis jetzt:

HTML:

<br /><h3><?php echo $language['reportTitle']; ?></h3>
        <form class="adder" action="saveReport.php" method="POST" enctype="multipart/form-data">
            <input type="hidden" name="ID" value="<?php echo $_SESSION['ID']; ?>" />
            <br /><?php echo $language['reportImage']; ?><label class="upload"><p><?php echo $language['reportUpload']; ?></p><input name="image" type="file" maxlength="1000000" accept="image/*" /></label>
            <br /><br /><?php echo $language['reportDescription']; ?><input name="description" type="text" />
            <br /><br /><b><?php echo $language['reportInfoTitleGeneral']; ?></b><input type="submit" />
        </form>

CSS: (eig. unwichtig)

.upload {
    overflow: hidden;
    position: absolute;
    text-align: center;
    font-size: small;
    color: #708090;
    background-color: #dddddd;
    width: 213px;
    height: 33px;
    left: 500px;
    margin-top: -10px;
    border-width: thin;
    border-color: #C0C0C0;
    border-style: solid;
    border-radius: 3px;
}
.upload:hover {
    border-color: #008B8B;
}
.upload [type="file"] {
    display: block;
    position: absolute;
    font-size: 999px;
    filter: alpha(opacity=0);
    opacity: 0;
    right: 0;
    top: 0;
}
.upload p {
    margin-top: 10px;
}

PHP: (nur ein Ansatz)

<?php
    include('../include/language.inc.php');
    include('../include/testSession.inc.php');
    include('../include/connect.inc.php');
    
    $info[1] = $_POST['ID'];
    $info[2] = $_POST['description'];
    $info[3] = $_FILES['image'];
    $size = sizeof($info);
    for($i = 0; $i < $size; $i++) {
        if(empty($info[$i])) {
            $_SESSION['error'] = $language['addErrorMissingData'];
            header('Location:report.php');
            die($language['addErrorMissingData']);
        }
    }
    $path = "INSERT INTO bugs VALUES (NULL,'".$info[1]."','".$info[2]."','".$info[3]."')";
    $mysqli->query($path);
    imagepng($im, '../include/images/'. $mysqli->insert_id . image_type_to_extension(IMAGETYPE_PNG));
?>

Ich habe schon ein bisschen gegoogelt, aber ich versteh's nicht. Gefunden hab ich:

  • ob_start()
  • POST uploads: http://php.net/manual/en/features.file-upload.post-method.php#features.file-upload.post-method

Am ende sollen (NULL für die ID), die UserID und die Beschreibung in der DB landen. Der Bild-Pfad soll bug['ID'].'.png' sein.

Fragen:

  • Wie nehme ich das Bild entgegen? ($_POST oder $_FILES)
  • Wie wandle ich das Bild in ein PNG-Format um?
  • Wie speicher ich das Bild?
  • Wieso spackt der "Hochladen"-Button so? (Text verschwindet nach anklicken) (Optional)

Danke, schon mal im Voraus!

-Minding

...zum Beitrag

Hi,

kleines Update:

PHP:

<?php
    include('../include/language.inc.php');
    include('../include/testSession.inc.php');
    include('../include/connect.inc.php');

    $image = $_FILES['image'];
    if(empty($_POST['ID']) || empty($_POST['description'])) {
        $_SESSION['error'] = $language['addErrorMissingData'];
        header('Location:report.php');
        die($language['addErrorMissingData']);
    }
    $path = "INSERT INTO bugs VALUES (NULL,'".$_POST['ID']."','".$_POST['description']."')";
    $mysqli->query($path)or die($mysqli->error);
    //Format in PNG ändern (bevorzugt) oder Datei-Endung in der DB speichern
    //Image unter dem Namen $mysqli->insert_id.png speichern
?>

Und zu dem CSS Problem das Bild:

-Minding

...zur Antwort

Hi,

nach 2 Stunden überlegen schreibe ich diese Frage und ca. 20 sek. später entdecke ich den Fehler:

ich habe schon am Anfang ->fetch_array(), verwendet wodurch ->num_rows keinen Sinn mehr ergibt, also kurz:

Statt:

$companys = $mysqli->query("SELECT * FROM companys WHERE name LIKE '%$search%' OR ".$language['getLanguageShortcut']."_description LIKE '%$search%' OR Tags LIKE '%$search%'")->fetch_array(MYSQLI_ASSOC)or die(mysqli_error());

Besser:

$companys = $mysqli->query("SELECT * FROM companys WHERE name LIKE '%$search%' OR ".$language['getLanguageShortcut']."_description LIKE '%$search%' OR Tags LIKE '%$search%'")or die(mysqli_error());

Problem gelöst!

-Minding

...zur Antwort

Hi,

ich habe oder hatte (irgendwie passiert es nicht mehr), ein ähnliches Problem:

http://www.computerfrage.net/frage/windows-7-pc-haengt-alle-5-60-sek-fuer-1-3-sek

-Minding

...zur Antwort

Hi,

ich selbst habe auch mit Java angefangen und habe es durch diese Tutorial reihe, die Grundlager der Java-Programmierung gelernt:

Youtube "Brotcrusher": https://www.youtube.com/watch?v=b1pDj1gx9zs&list=PL71C6DFDDF73835C2

Natürlich kostenlos, gut verständlich und wenn du die Basics kannst, kannst du auch noch weitere Java Reihen wie z.B. "Spiele-Programmierung" anschauen.

-Minding

https://www.youtube.com/watch?v=b1pDj1gx9zs&list=PL71C6DFDDF73835C2
...zur Antwort