18. april 2010 - 13:14
Der er
2 kommentarer og 1 løsning
Problemer med If Else
Hej, Jeg har stirret mig blind på den her :( Jeg har et script der uploader billeder, og et til at slette dem med igen. Upload: -------------------------------------- <form action="adminside.php?page=personale" method="post" enctype="multipart/form-data"> <pre> <b>Tilføj</b> Stilling: <input type="text" name="stilling"> Navn: <input type="text" name="navn"> Tlf: <input type="text" name="tlf"> E-mail: <input type="text" name="email"> Billede: <input type="file" name="profilbillede[]"> </pre> <center> <input type="submit" value="Tilføj" name="udfortilfoj"> </center> </form> </td> </tr> </table> <?php } ?> <?php if (isset($_POST["udfortilfoj"])) { //var_dump($_FILES); foreach($_FILES["profilbillede"]["error"] as $key => $error) { //print $error; if($error == UPLOAD_ERR_OK) { $uploadPlace = "../profilbilleder/"; move_uploaded_file($_FILES["profilbillede"]["tmp_name"][$key], $uploadPlace . $_FILES["profilbillede"]["name"][$key]); $fileName = explode(".", $_FILES["profilbillede"]["name"][$key]); $fileType = array_pop($fileName); $fileName = implode(".", $fileName); list($width, $height) = getimagesize($uploadPlace . $_FILES["profilbillede"]["name"][$key]); createThumb($uploadPlace, $fileName, $fileType, $width, $height, "150", "150"); } else { print 'Upload fejl'; } } $stilling = $_POST['stilling']; $navn = $_POST['navn']; $tlf = $_POST['tlf']; $email = $_POST['email']; $profilbillede = $fileName . "." . $fileType;; $tilfoj = "INSERT INTO personale (stilling, navn, tlf, email, profilbillede) VALUES ('" . $stilling . "', '" . $navn . "', '" . $tlf . "', '" . $email . "', '" . $profilbillede . "')"; $udfortilfoj = mysql_query($tilfoj) or die(mysql_error()); echo "<b>Oplysninger tilføjet</b>"; } ?> -------------------------------------- De gange hvor der ikke er et billede der skal tilføjes, vil jeg gerne at den springer det stykke over hvor den uploader billedet - så den ikke skriver 'Upoad fejl' hver gang. Har rodet med en masse if sætninger - men nu har jeg virkelig stirret mig blind på det. Ligeledes har jeg et problem når jeg vil slette én igen. Slet: --------------------------------------------- <?php if (isset($_POST['udforslet'])) { $hentperson = $_POST['slet1']; $sletprofilbillede = "SELECT * FROM personale WHERE noegle = '" . $hentperson . "'"; $udforsletprofilbillede = mysql_query($sletprofilbillede) or die(mysql_error()); $row = mysql_fetch_assoc($udforsletprofilbillede); if($row['profilbillede'] != '') { unlink("../profilbilleder/$row[profilbillede]"); } $sletperson = "DELETE FROM personale WHERE noegle = '" . $hentperson . "'"; $udforsletperson = mysql_query($sletperson); echo "<b>Oplysninger slettet</b>"; } ?> --------------------------------------------- Her har jeg lavet en if($row['profilbillede'] != '') så skal den unlinke. Det virker også fint nok, men når der ikke er et billede tilknyttet den pågældende kontakt så prøver den stadig på at unlinke. På forhånd tak.
Annonceindlæg fra Infor
18. april 2010 - 14:16
#1
foreach($_FILES["profilbillede"]["error"] as $key => $error) { //print $error; if($error == UPLOAD_ERR_OK) { $uploadPlace = "../profilbilleder/"; move_uploaded_file($_FILES["profilbillede"]["tmp_name"][$key], $uploadPlace . $_FILES["profilbillede"]["name"][$key]); $fileName = explode(".", $_FILES["profilbillede"]["name"][$key]); $fileType = array_pop($fileName); $fileName = implode(".", $fileName); list($width, $height) = getimagesize($uploadPlace . $_FILES["profilbillede"]["name"][$key]); createThumb($uploadPlace, $fileName, $fileType, $width, $height, "150", "150"); } else { print 'Upload fejl'; } } evt replace med foreach($_FILES["profilbillede"]["error"] as $key => $error) { //print $error; if($error == UPLOAD_ERR_OK) { $uploadPlace = "../profilbilleder/"; move_uploaded_file($_FILES["profilbillede"]["tmp_name"][$key], $uploadPlace . $_FILES["profilbillede"]["name"][$key]); $fileName = explode(".", $_FILES["profilbillede"]["name"][$key]); $fileType = array_pop($fileName); $fileName = implode(".", $fileName); list($width, $height) = getimagesize($uploadPlace . $_FILES["profilbillede"]["name"][$key]); createThumb($uploadPlace, $fileName, $fileType, $width, $height, "150", "150"); } else { if ($_FILES["profilbillede"]) { print 'Upload fejl'; } } }
18. april 2010 - 14:19
#2
1) Prøv evt. at lav en ekstra if sætning uden om den du allerede har: if($_FILES["profilbillede"]["name"] != ""){ } else{ // Intet billede valgt } 2) Kan se at du oppe i tilføj scriptet sætter $profilbillede = $fileName . "." . $fileType; Det vil blive til et punktum nede i databasen hvis ikke der er valgt et billede. Kan være der problemet ligger.
18. april 2010 - 19:18
#3
Med hensyn til 2'eren, så havde du ret.. den satte et punktum ind i databasen.... har nu ændret dette til: if($row['profilbillede'] != '.') istedet for if($row['profilbillede'] != '') ..og det virker tak.. :) Angående 1'eren, så har jeg sat følgende ind som du forslog: ------------------------------------------------------ <?php if (isset($_POST["udfortilfoj"])) { if($_FILES["profilbillede"]["name"] != "") { //var_dump($_FILES); foreach($_FILES["profilbillede"]["error"] as $key => $error) { //print $error; if($error == UPLOAD_ERR_OK) { $uploadPlace = "../profilbilleder/"; move_uploaded_file($_FILES["profilbillede"]["tmp_name"][$key], $uploadPlace . $_FILES["profilbillede"]["name"][$key]); $fileName = explode(".", $_FILES["profilbillede"]["name"][$key]); $fileType = array_pop($fileName); $fileName = implode(".", $fileName); list($width, $height) = getimagesize($uploadPlace . $_FILES["profilbillede"]["name"][$key]); createThumb($uploadPlace, $fileName, $fileType, $width, $height, "150", "150"); } else { print 'Upload fejl'; } } } $stilling = $_POST['stilling']; $navn = $_POST['navn']; $tlf = $_POST['tlf']; $email = $_POST['email']; $profilbillede = $fileName . "." . $fileType;; $tilfoj = "INSERT INTO personale (stilling, navn, tlf, email, profilbillede) VALUES ('" . $stilling . "', '" . $navn . "', '" . $tlf . "', '" . $email . "', '" . $profilbillede . "')"; $udfortilfoj = mysql_query($tilfoj) or die(mysql_error()); echo "<b>Oplysninger tilføjet</b>"; } ?> ------------------------------------------------------ ... men jeg får stadig 'Upload fejl' når jeg laver en kontakt uden et profilbillede...
Vi tilbyder markedets bedste kurser inden for webudvikling