07. februar 2007 - 15:11
Der er
16 kommentarer og 1 løsning
opret profil biiled med blob
Hejsa nu er det lykkes mig at at oprette en bruger... men hvordan gør jeg at der også bliver uploadet et profil billed med ? det skal bare lægges ind i databasen også. <?php include_once("sql.php"); include_once("help.php"); echo '<center><h3>Opret bruger</h3></center>'; function opretbruger() { ?> <div id="opretbruger"> <fieldset align="center"> <legend> <?php /*for($i=1; $i<60; $i++) { echo " "; } */ ?> </legend> <table align="center" border="0"> <form action="index.php?pid=opretbruger" method="POST"> <tr><td><p>Brugernavn :</p></td><td><input type="text" name="brugernavn" value=""></td></tr> <tr><td><p>Fornavn :</p></td><td><input type="text" name="Fornavn" value=""></td></tr> <tr><td><p>Efternavn :</p></td><td><input type="text" name="Efternavn" value=""></td></tr> <tr><td><p>Email :</p></td><td><input type="text" name="Email" value=""></td></tr> <tr><td><p>Beskæftigelse:</p></td><td><input type="text" name="Beskeftigelse" value=""></td></tr> <?php //uploadprofilbilled(); ?> <tr><td><p>Lidt om dig :</p></td><td><textarea name="Ombrugeren" cols=16 rows=9></textarea></td></tr> <tr><td><p>Kodeord :</p> </td><td><input type="password" name="kodeord1"> </td></tr> <tr><td><p>Indtast kodeord igen :</p> </td><td><input type="password" name="kodeord2"> </td></tr> <tr><td> </td> <td><input type="submit" value="Opret" name="Opret"><input type="reset" name="reset"> </td></tr> </form> </table> </fieldset> </div> <?php $hentet = sql("select * from brugenavn"); $dbbrugernavn = $hentet["Brugernavn"]; //-------------------------------------------------------- // Lægger post over i variabler og trimmer dem så det står pænt i databasen. $brugernavn = trimmet($_POST["brugernavn"]); $fornavn = trimmet($_POST["Fornavn"]); $efternavn= trimmet($_POST["Efternavn"]); $email = trimmet($_POST["Email"]); $ombrugeren = $_POST["Ombrugeren"]; $beskeftigelse = $_POST["Beskeftigelse"]; $email = trimmet($_POST["Email"]); $kodeord = $_POST["kodeord1"]; //--------------------------------------------------------- if (isset($_POST["Opret"])) //&& $_POST["kodeord1"] == "" || $_POST["kodeord2"] == "" { if ($_POST["brugernavn"] == "") { echo "Du skal udfylde brugernavn"; } else if($brugernavn == $dbbrugernavn) echo "Det valgte brugernavn er allerede valgt\n vælg et andet"; else if(empty($_POST["kodeord1"]) || empty($_POST["kodeord2"]) ) { echo "Du skal indtaste et kodeord"; } else if(isset($_POST["kodeord1"]) && isset($_POST["kodeord2"]) && $_POST["kodeord1"] == $_POST["kodeord2"]) { sqlinsert("INSERT INTO brugenavn (Brugernavn,Fornavn,Efternavn,Kodeord,Email,Ombrugeren,Beskeftigelse,Profilbilled) VALUES ('$brugernavn','$fornavn','$efternavn','$kodeord','$email','$ombrugeren','$beskeftigelse','$profilbilled')"); echo "Du er nu oprettet "; } else echo "Kodeord ikke ens"; //du skal ikke bruge tuborg ved mindre det er på flere linjer } } //$_SESSION["login"] = 0; //if ($_SESSION["login"] = 1) //{ opretbruger(); //} //else "Du er ikke logget ind"; ?>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
07. februar 2007 - 15:17
#1
<form action="index.php?pid=opretbruger" method="POST"> skal være: <form action="index.php?pid=opretbruger" method="POST" enctype="multipart/form-data"> Så skal du tilføje <input type="file" name="billede"> Og i submit-delen, bemærk at $DIR skal være en folder scriptet kan skrive til - På flere webhoteller kan du nemlig ikke læse den uploadede fil før du har flyttet den! $billede = ''; if ( !empty( $_FILES['billede'] ) && is_uploaded_file( $_FILES['billede']['tmp_name'] ) ) { $DIR = "upload/"; $navn = tempnam( $DIR, "UPL_" ); if ( move_uploaded_file( $_FILES['billede']['tmp_name'], $navn ) ) { $billede = file_get_contents( $navn ); unlink( $navn ); } } $billede = mysql_escape_string( $billede ); Nu kan du indsætte $billede som en streng i en BLOB
07. februar 2007 - 15:29
#2
nice :D du er godt nok hurtig med svar :=) har et lille dump spørgsmål... når jeg henter det ud få jeg alle karakteren ud... hvordan får jeg det ud som et billed ?
07. februar 2007 - 15:33
#3
Du skal have et separat script til at vise billedet, f.eks. pic.php... Du bør også sende en content type... I.e. header("Content-Type: image/jpeg") og så udskrive data... På siden der skal vise billedet kalder du den så bare med den ID: <img src="pic.php?id=123">
07. februar 2007 - 15:37
#4
hvad skal der stå i pic.php ? tror ikke helt jeg forstå det ?
07. februar 2007 - 15:39
#5
Noget i stil med <?php header("Content-Type: image/jpeg"); $id = intval( $_GET['id'] ); $sql = "SELECT billede FROM brugenavn WHERE brugerid = $id"; $qh = mysql_query( $sql ) or die( mysql_error() ); $row = mysql_fetch_assoc( $qh ); echo $row['billede']; ?>
07. februar 2007 - 15:40
#6
Hvis der ikke kommer noget billede, så prøv at sætte // foran header() linjen, så kan du også læse fejlen :P
07. februar 2007 - 15:43
#7
jeg har sådan her... men der skriver den hele stengen ud session_start(); include_once("sql.php"); $bruger = $_GET["bruger"]; conn(); $result = mysql_query("select * from brugenavn where Brugernavn = '$bruger'") or die (mysql_error()); echo "<br /> "; while ($row = mysql_fetch_array($result)) { echo '<center><h3>'.$row["Fornavn"].'</h3></center>'; $fornavn = $row["Fornavn"]; $efternavn = $row["Efternavn"]; $email = $row["Email"]; $ombrugeren = $row["Ombrugeren"]; $profilbilled = $row["Profilbilled"]; } $Fornavn = $hentet["Fornavn"]; echo $Fornavn; echo "<br />".$row["Fornavn"]; echo' <br /> <br /> <table border="1"> <tr> <td>Fornavn</td> <td>'. $fornavn .'</td> </tr> <tr> <td>Efternavn</td> <td>'.$efternavn .'</td> </tr> <tr> <td>E-Mail</td> <td>'. $email .'</td> </tr> <tr> <td>Om mig</td> <td>'. $ombrugeren.'</td> </tr> <tr> <td>'.$profilbilled.'</td> </tr> </table> '; ?>
07. februar 2007 - 15:44
#8
Yep
07. februar 2007 - 15:47
#9
men så header("Content-Type: image/jpeg"); med ? skal med ?
07. februar 2007 - 15:48
#10
Nej, du kan ikke bruge $profilbilled på den side! Du skal kalde et nyt script.
07. februar 2007 - 15:49
#11
Ok, I'll bite: session_start(); include_once("sql.php"); $bruger = $_GET["bruger"]; conn(); $result = mysql_query("select * from brugenavn where Brugernavn = '$bruger'") or die (mysql_error()); echo "<br /> "; while ($row = mysql_fetch_array($result)) { echo '<center><h3>'.$row["Fornavn"].'</h3></center>'; $fornavn = $row["Fornavn"]; $efternavn = $row["Efternavn"]; $email = $row["Email"]; $ombrugeren = $row["Ombrugeren"]; $profilbilled = $row["Profilbilled"]; } $Fornavn = $hentet["Fornavn"]; echo $Fornavn; echo "<br />".$row["Fornavn"]; echo' <br /> <br /> <table border="1"> <tr> <td>Fornavn</td> <td>'. $fornavn .'</td> </tr> <tr> <td>Efternavn</td> <td>'.$efternavn .'</td> </tr> <tr> <td>E-Mail</td> <td>'. $email .'</td> </tr> <tr> <td>Om mig</td> <td>'. $ombrugeren.'</td> </tr> <tr> <td><img src="pic.php?id=' . $row['brugerid'] . '"></td> </tr> </table> '; ?> såfremt du har rækken "brugerid" og du har lavet pic.php som beskrevet ovenfor
07. februar 2007 - 15:50
#12
kalde et nyt script ? jeg vil bare gerne havde billed ud på den side...
07. februar 2007 - 15:54
#13
ahh okay
07. februar 2007 - 15:54
#14
prøver det lige
07. februar 2007 - 16:17
#15
det virked sku ^^ tusind tak for hjælpen... hvis du lægger et svar er der point. hvad er det der gør at det kommer ud som et billed nu ? og ikke som en masse text ? kan ikke lige se...
07. februar 2007 - 17:22
#16
Det kommer stadig ud som "text" det er blot binært og med content-type har vi sagt at browseren skal fortolke data som et billede ;)
07. februar 2007 - 19:07
#17
ahh der kan man bare se :) tak for hjælpen.
Vi tilbyder markedets bedste kurser inden for webudvikling