Avatar billede xited Praktikant
13. august 2003 - 09:43 Der er 42 kommentarer og
1 løsning

Upload script

Hejsa.... følgende script skal tage billedet fra input boksen "upfil" og kalde den "$skriv[navn].jpg" men det virker ikke...

Den kommer med fejlen:

Det billede du prøver at uploade er <b>ikke</b> gyldigt - kun .jpg

Til trods for at billedet jeg prøver at uploade er et .jpg billede

Her, i får lige scriptet:

-----------

if($upfil!=''){

$file = $_FILES['upfil']['tmp_name'];
$sti = "/brugere/";
$dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";

$files = $_FILES['upfil']['name'];
$temparr = explode(".", $files);
$temparr[count($temparr)-2] = $skriv[navn];
$files = implode(".", $temparr);

if(!eregi(".jpg$", $files))
{
echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - kun .jpg<p>
<a href=java script:history.back(-1)>Tilbage</a>";
exit;
}
$fil_stoerrelse = filesize($file)/1024;
if($fil_stoerrelse > "50") {
echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 50 kb<p>
<a href=java script:history.back(-1)>Tilbage</a>";
exit;
}

move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
$billede = $skriv[navn];

}

----------
Avatar billede Slettet bruger
13. august 2003 - 09:48 #1
prøv at ændre linjen
if(!eregi(".jpg$", $files))
Der skal du så blot sætte dine andre formater ind. Den siger jo, at hvis filendelsen ikke er jpg, skal den lave fejl.
Avatar billede fatter_keine Nybegynder
13. august 2003 - 10:44 #2
ja og filendelsen er jpg... så derfor burde den ikke lave fejl...
Avatar billede fatter_keine Nybegynder
13. august 2003 - 10:45 #3
jeg ved ikke om det vil virke...

men måske:

if(eregi(".jpg$", $files))
Avatar billede xited Praktikant
13. august 2003 - 10:57 #4
Det virker ikke....

Aner ikke hvad der kan være galt...
Avatar billede xited Praktikant
13. august 2003 - 11:01 #5
Den får følgende oplysninger:

$skriv[navn] = Brugerens navn

Billedet skal så gemmes som $skriv[navn].jpg

Men det virker åbenbart ikke...
Avatar billede Slettet bruger
13. august 2003 - 11:01 #6
Du kan måske også prøve følgende:

$ext = strtolower(end(explode(".", $_FILES['fil']['name'])));
if($ext != "jpg" || $ext != "jpeg" || $ext != "gif") {

Her tester den så bare vis fil endelsen ikke er jpg eller gif så skal den gøre følgende.
Avatar billede xited Praktikant
13. august 2003 - 11:47 #7
Samme fejl...
Avatar billede Slettet bruger
13. august 2003 - 11:50 #8
hvordan ser din formular ud?
Avatar billede Slettet bruger
13. august 2003 - 11:54 #9
Og har du givet rettigheder til at PHP må ligge filer i den angivende mappe?
Avatar billede xited Praktikant
13. august 2003 - 11:56 #10
Billede til upload - Status: <input type=checkbox name='chkbox' value='1'><br><input type='file' name='upfil'><br>

<p><input type="submit" name="up" value="Opdater" style="font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%">

Og der er fuld adgang til mappen...
Avatar billede xited Praktikant
13. august 2003 - 11:57 #11
og skal det ikke være:


$ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
if($ext != "jpg" || $ext != "jpeg" || $ext != "gif") {

istedet for:


$ext = strtolower(end(explode(".", $_FILES['fil']['name'])));
if($ext != "jpg" || $ext != "jpeg" || $ext != "gif") {

?????????
Avatar billede Slettet bruger
13. august 2003 - 11:58 #12
Jo det skal selvfølgelig være med upfil da du har defineret det på den måde :)
Avatar billede xited Praktikant
13. august 2003 - 11:59 #13
der må jo være en fejl omkring denne:

$ext = strtolower(end(explode(".", $_FILES['fil']['name'])));
if($ext != "jpg" || $ext != "jpeg" || $ext != "gif") {

Da den ikke finder ud af at filen er en jpg...
Avatar billede Slettet bruger
13. august 2003 - 12:01 #14
Du skal naturligvis ændre den til:

$ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
if($ext != "jpg" || $ext != "jpeg" || $ext != "gif") {

Havde ikke lige set du ahvde up foran :)
Avatar billede Slettet bruger
13. august 2003 - 12:05 #15
Men prøv at lave din formular om til dette:

<form action="?send=ok" method="post" enctype="multipart/form-data">
<input type=checkbox name='chkbox' value='1'>
Billede: <input type="file" name="filup">
<input type="submit" name="up" value="Opdater">
</form>
Avatar billede Slettet bruger
13. august 2003 - 12:27 #16
Det her skulle gerne virke. Gør det i hvert fald på min spand. Det eneste der ikke sker, er at filen får et navn når det bliver flyttet. Men det er selvfølgelig fordi jeg ikke har din variabel $skrivnavn, som jeg ikke ved hvor kommer fra.


<?
if($_GET[send]) {
$file = $_FILES['upfil']['tmp_name'];
$sti = "/test/";
$dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
$temparr[count($temparr)-2] = $skrivnavn;
$files = $_FILES['upfil']['name'];
$temparr = explode(".", $files);
$files = implode(".", $temparr);

$ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
if($ext == "jpg" || $ext == "jpeg" || $ext == "gif") {

  $fil_stoerrelse = filesize($file)/1024;
if($fil_stoerrelse > "50") {
  echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 50 kb<p>
  <a href=java script:history.back(-1)>Tilbage</a>";
  exit;
}
   
    $til = "gfx/gallery/large/" . $skrivnavn;
    $fra    = $_FILES['fil']['tmp_name'];
    move_uploaded_file($fra, $til);


}
else {
  echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - kun .jpg<p>
  <a href=java script:history.back(-1)>Tilbage</a>";
  exit;

}
}
?>

<form action="?send=ok" method="post" enctype="multipart/form-data">
Billede: <input type="file" name="upfil">
<input type="submit" name="up" value="Opdater">
</form>
Avatar billede xited Praktikant
13. august 2003 - 12:46 #17
Jamen hvad er der galt med denne:


$hent = mysql_query("SELECT *,date_format(dato,'%d/%m, %Y') as dkdato FROM bruger WHERE navn = '$sesusr'");
$skriv = mysql_fetch_array($hent);

if($upfil!=''){

$file = $_FILES['upfil']['tmp_name'];
$sti = "/brugere/";
$dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
$temparr[count($temparr)-2] = $skriv[navn];
$files = $_FILES['upfil']['name'];
$temparr = explode(".", $files);
$files = implode(".", $temparr);

$ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
if($ext == "jpg" || $ext == "jpeg" || $ext == "gif") {

  $fil_stoerrelse = filesize($file)/1024;
if($fil_stoerrelse > "50") {
  echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 50 kb<p>
  <a href=java script:history.back(-1)>Tilbage</a>";
  exit;
}
   
    $til = "brugere/" . $skriv[navn];
    $fra    = $_FILES['fil']['tmp_name'];
    move_uploaded_file($fra, $til);


}
else {
  echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - kun .jpg<p>
  <a href=java script:history.back(-1)>Tilbage</a>";
  exit;

}


}



og formen:

<form method=post action="?index=redigerprofil2">

Billede til upload - Status: <input type=checkbox name='chkbox' value='1'><br><input type='file' name='upfil'><br>

<p><input type="submit" name="up" value="Opdater">
</form>
Avatar billede Slettet bruger
13. august 2003 - 12:54 #18
Du skal i din form have
Altså:
<form method=post action="?index=redigerprofil2" enctype="multipart/form-data">
Avatar billede Slettet bruger
13. august 2003 - 12:58 #19
Forsøgte du blot med mit eksempel ( #12:27:00 ) ?
Og i så fald hvilket resultat fik du ud af det?
Avatar billede xited Praktikant
13. august 2003 - 13:00 #20
hjalp ikke...
Avatar billede Slettet bruger
13. august 2003 - 13:03 #21
Forsøgte du med mit eksempel #12:27:00.
Hvor du ikke satte andet ind i scriptet?
For virker det jeg skrev der ikke, er det sikkert dine rettigheder eller noget andet der er galt.
Avatar billede sukos Juniormester
13. august 2003 - 13:09 #22
Du har jo også "type", $_FILES["upfil"]["type"], til at finde ud af hvilken type fil det drejer sig om, så der er vel ingen grund til at rode med eregi m.m.
Avatar billede Slettet bruger
13. august 2003 - 13:21 #23
Ja den havde jeg så ikke lige tænkt på. Det kunne man jo også. Og så smide de filer som man må smide op i en array, og så bruge noget ala:

$tillad = array("image/gif", "image/jpeg");
Og tjekke om filen er iorden ved:
if(in_array($_FILES["upfil"]["type"], $tillad)) {
  upload filen
}
else { Forkert filtype }
Avatar billede sukos Juniormester
13. august 2003 - 13:30 #24
Der skal man så osse lige huske at tjekke i div. browsere, da f.eks. NS gerne vil ha'
image/pjpeg for at "se" jpg-filer.

Bruger selv:
$filtyper = array("image/jpeg", "image/pjpeg", "image/gif");
Avatar billede xited Praktikant
13. august 2003 - 13:48 #25
Ok jeg er forvirret... det er vist ikke så enkelt igen...

I får lige hele scriptet:

<?
$findes = mysql_query("SELECT navn FROM bruger WHERE navn = '$sesusr' && pass = '$sespass'");
if(mysql_num_rows($findes)==0){
echo"du er ikke logget ind";
}else{
echo"<font face 'Tahoma' size='5'>- Rediger Profil -<p><font size='2'>";
if($opdater) {
if(($pass1 == $pass2) && ($pass1 !="")){

include("connect.php");

mysql_query("update bruger set pass = '$pass1' where navn = '$sesusr'");
mysql_query("update bruger set email = '$email' where navn = '$sesusr'");
mysql_query("update bruger set hp = '$hp' where navn = '$sesusr'");
mysql_query("update bruger set url = '$url' where navn = '$sesusr'");
mysql_query("update bruger set adr = '$adr' where navn = '$sesusr'");
mysql_query("update bruger set byen = '$by' where navn = '$sesusr'");
mysql_query("update bruger set tekst = '$tekst' where navn = '$sesusr'");
mysql_query("update bruger set realnavn = '$navn' where navn = '$sesusr'");
mysql_query("update bruger set billede = '$chkbox' where navn = '$sesusr'");



$hent = mysql_query("SELECT *,date_format(dato,'%d/%m, %Y') as dkdato FROM bruger WHERE navn = '$sesusr'");
$skriv = mysql_fetch_array($hent);

if($upfil!=''){

$file = $_FILES['upfil']['tmp_name'];
$sti = "/brugere/";
$dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
$temparr[count($temparr)-2] = $skriv[navn];
$files = $_FILES['upfil']['name'];
$temparr = explode(".", $files);
$files = implode(".", $temparr);

$ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
if($ext == "jpg" || $ext == "jpeg" || $ext == "gif") {

  $fil_stoerrelse = filesize($file)/1024;
if($fil_stoerrelse > "50") {
  echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 50 kb<p>
  <a href=java script:history.back(-1)>Tilbage</a>";
  exit;
}
   
    $til = "brugere/" . $skriv[navn];
    $fra    = $_FILES['fil']['tmp_name'];
    move_uploaded_file($fra, $til);


}
else {
  echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - kun .jpg<p>
  <a href=java script:history.back(-1)>Tilbage</a>";
  exit;

}


}


$sespass = $pass1;
session_register(sespass);
echo"Profilen er blevet opdateret...";
}else{echo"De 2 passwords er ikke ens, eller ugyldige<p><a href='java script:history.back()'>Tilbage</a>";}
}else{

?>
<form method=post action="?index=redigerprofil2" enctype="multipart/form-data">
<table>
<tr><td>
<font face="Tahoma" size="2">
Navn:
</td><td>-<td>
<input type="text" name="navn" size="22" value="
<? $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'");
while($row=mysql_fetch_array($hent)) {echo"$row[realnavn]";} ?>
"></td></tr>

<tr><td>
<input type="hidden" name="opdater" value="22">
<font face="Tahoma" size="2">
Email:
<td>-<td>
<input type="text" name="email" size="22" value="
<? $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'");
while($row=mysql_fetch_array($hent)) {echo"$row[email]";} ?>
"></tr>

<tr><td>
<font face="Tahoma" size="2">
password:
<td>-<td>
<?echo"
<input type='password' name='pass1' size='8' value='$sespass'> igen: <input type='password' name='pass2' size='8' value='$sespass'></tr>
";?>
<tr><td>
<font face="Tahoma" size="2">
Hjemmeside:
<td>-<td>
<input type="text" name="hp"  size="22" value="
<? $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'");
while($row=mysql_fetch_array($hent)) {echo"$row[hp]";} ?>
"></tr>

<tr><td>
<font face="Tahoma" size="2">
Link:
<td>-<td>
<input type="text" name="url"  size="22" value="
<? $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'");
while($row=mysql_fetch_array($hent)) {echo"$row[url]";} ?>
"></tr>

<tr><td>
<font face="Tahoma" size="2">
Adresse:
<td>-<td>
<input type="text" name="adr"  size="22" value="
<? $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'");
while($row=mysql_fetch_array($hent)) {echo"$row[adr]";} ?>
"></tr>

<tr><td>
<font face="Tahoma" size="2">
Postnr/By:
<td>-<td>
<input type="text" name="by"  size="22" value="
<? $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'");
while($row=mysql_fetch_array($hent)) {echo"$row[byen]";} ?>
"></tr>

</table>

Adresseinformationerne bruges udelukkende <br>til fremsendelse af konkurrence-gevinster<p>
Fritekst:<br><textarea name="tekst" rows="5" cols="40"><? $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'");
while($row=mysql_fetch_array($hent)) {echo"$row[tekst]";} ?></textarea>


<p>

Billede til upload - Status: <input type=checkbox name='chkbox' value='1'><br><input type='file' name='upfil'><br>

<p><input type="submit" name="up" value="Opdater" style="font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%">
</form>
<p><font face='Tahoma' size='2'><a href="java script:history.back()">Tilbage</a>
<?
}}
?>




Hvad skal ændres og i må meget gerne cutte det væk der er overflødigt...

Hvis i ikke synes 60 point er nok, kan i godt få nogle flere...
Avatar billede Slettet bruger
13. august 2003 - 14:43 #26
*Utestet, men prøv dette

<?
$findes = mysql_query("SELECT navn FROM bruger WHERE navn = '$sesusr' && pass = '$sespass'")or die(mysql_error());
if(mysql_num_rows($findes)==0){
  echo"du er ikke logget ind";
}
else{

if(!$_GET[side]) {
  echo "
  Ret dine oplysninger <a href=\"?index=redigerprofil2&side=1\">her</a><BR>
  Indsend billede <a href=\"?index=redigerprofil2&side=2\">her</a><BR>
}

if($_GET[side] == 1) {
 
  if($_POST[update]) {
  if(($_POST[pass1] == $_POST[pass2]) && ($_POST[pass1] !="")){
    include("connect.php");
    mysql_query("UPDATE bruger SET pass='$_POST[pass1]', email='$_POST[email]', hp='$_POST[hp]', url='$_POST[url]', adr='$_POST[adr]', byen='$_POST[by]', tekst='$_POST[tekst]', realnavn='$_POST[navn]', billede='$_POST[chkbox]' WHERE navn='$sesusr'")or die(mysql_error());
    if($_POST[chkbox] == 1) {
    $sespass = $pass1;
    session_register(sespass);
    header("Location:?redigerprofil2&side=2");
    }
    else { echo "Du har nu rettet dine oplysninger"; $sespass = $pass1; session_register(sespass); }
  }
  else { echo "De to passwords var ikke ens";
  }
 
  $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'")or die(mysql_error());
  $row = mysql_fetch_array($hent);
 
echo "
  Ret dine oplysninger:<BR><BR>
  <form method=\"post\" action=\"?index=redigerprofil2&side=1\">
  <table style=\"Font-family: Tahoma, arial, helvetica, sans-serif; Font-size: 10px;\">
    <tr>
    <td>Navn:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"navn\" size=\"22\" value=\"$row[realnavn]\"></td>
    </tr>
    <tr>
    <td>Email:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"email\" size=\"22\" value=\"$row[email]\"></td>
    </tr>
    <tr>
    <td>password:</td>
    <td>-</td>
    <td>
      <input type='password' name='pass1' size='8' value='$sespass'>
      igen: <input type='password' name='pass2' size='8' value='$sespass'>
    </td>
    </tr>
    <tr>
    <td>Hjemmeside:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"hp\" size=\"22\" value=\"$row[hp]\"></td>
    </tr>
    <tr>
    <td>Link:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"url\"  size=\"22\" value=\"$row[url]\"></td>
    </tr>
    <tr>
    <td>Adresse:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"adr\" size=\"22\" value=\"$row[adr]\"></td>
    </tr>
    <tr>
    <td>Postnr/By:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"by\" size=\"22\" value=\"$row[byen]\"></td>
    </tr>
  </table>
  Adresseinformationerne bruges udelukkende <br>
  til fremsendelse af konkurrence-gevinster<p>
  Fritekst:<br><textarea name=\"tekst\" rows=\"5\" cols=\"40\">$row[tekst]</textarea><BR>
  <input type=\"submit\" name=\"update\" value=\"Opdater\" style=\"font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%\">
  </form>
";

if($_GET[side] == 2) {
  $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'");
  $skriv = mysql_fetch_array($hent); 
 
  echo "Her kan du uploade et billede";

  if($_POST[up]) {
  $file = $_FILES['upfil']['tmp_name'];
  $sti = "/brugere/";
  $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
  $temparr[count($temparr)-2] = $skriv[navn];
  $files = $_FILES['upfil']['name'];
  $temparr = explode(".", $files);
  $files = implode(".", $temparr);

  $ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
  if($ext == "jpg" || $ext == "jpeg" || $ext == "gif") {
    $fil_stoerrelse = filesize($file)/1024;
    if($fil_stoerrelse > "50") {
    echo "
      Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 50 kb<p>
      <a href=java script:history.back(-1)>Tilbage</a>
    ";
    exit;
    }
    else {
    $til = "brugere/" . $skriv[navn];
    $fra = $_FILES['fil']['tmp_name'];
    move_uploaded_file($fra, $til);
    echo "Billedet er nu uploaded";
    }
  else {
    echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - kun .jpg<p>
    <a href=java script:history.back(-1)>Tilbage</a>";
    exit;
  }
  } 

  echo "
  <form method=\"post\" action=\"?index=redigerprofil2&side=2\" enctype=\"multipart/form-data\">
    <input type='file' name='upfil'><br>
    <input type=\"submit\" name=\"up\" value=\"Opdater\" style=\"font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%\">
  </form>
  ";
?>
Avatar billede Slettet bruger
13. august 2003 - 14:44 #27
Ups, der mangler lige et } efter "; i liste linje af scriptet.
Avatar billede superanden Nybegynder
13. august 2003 - 14:48 #28
Avatar billede Slettet bruger
13. august 2003 - 14:53 #29
heh, fandt lige en anden fejl. Manglede tjek boxen.
Det jeg har gjort, er at jeg har delt processen op i 2.
Man vælger om man vil ændre teksten, eller uploade et billede.
Ændre man teksten, og sætter hak ved at man gerne vil have vist billedet, ryger man efter opdateringen af tekstfelterne er sket, til siden hvor man så kan uploade billedet.

Scriptet er stadig utestet, men burde kunne se sådan ud:

<?
$findes = mysql_query("SELECT navn FROM bruger WHERE navn = '$sesusr' && pass = '$sespass'")or die(mysql_error());
if(mysql_num_rows($findes)==0){
  echo"du er ikke logget ind";
}
else{

if(!$_GET[side]) {
  echo "
  Ret dine oplysninger <a href=\"?index=redigerprofil2&side=1\">her</a><BR>
  Indsend billede <a href=\"?index=redigerprofil2&side=2\">her</a><BR>
}

if($_GET[side] == 1) {
 
  if($_POST[update]) {
  if(($_POST[pass1] == $_POST[pass2]) && ($_POST[pass1] !="")){
    include("connect.php");
    mysql_query("UPDATE bruger SET pass='$_POST[pass1]', email='$_POST[email]', hp='$_POST[hp]', url='$_POST[url]', adr='$_POST[adr]', byen='$_POST[by]', tekst='$_POST[tekst]', realnavn='$_POST[navn]', billede='$_POST[chkbox]' WHERE navn='$sesusr'")or die(mysql_error());
    if($_POST[chkbox] == 1) {
    $sespass = $pass1;
    session_register(sespass);
    header("Location:?redigerprofil2&side=2");
    }
    else { echo "Du har nu rettet dine oplysninger"; $sespass = $pass1; session_register(sespass); }
  }
  else { echo "De to passwords var ikke ens";
  }
 
  $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'")or die(mysql_error());
  $row = mysql_fetch_array($hent);
 
echo "
  Ret dine oplysninger:<BR><BR>
  <form method=\"post\" action=\"?index=redigerprofil2&side=1\">
  <table style=\"Font-family: Tahoma, arial, helvetica, sans-serif; Font-size: 10px;\">
    <tr>
    <td>Navn:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"navn\" size=\"22\" value=\"$row[realnavn]\"></td>
    </tr>
    <tr>
    <td>Email:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"email\" size=\"22\" value=\"$row[email]\"></td>
    </tr>
    <tr>
    <td>password:</td>
    <td>-</td>
    <td>
      <input type='password' name='pass1' size='8' value='$sespass'>
      igen: <input type='password' name='pass2' size='8' value='$sespass'>
    </td>
    </tr>
    <tr>
    <td>Hjemmeside:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"hp\" size=\"22\" value=\"$row[hp]\"></td>
    </tr>
    <tr>
    <td>Link:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"url\"  size=\"22\" value=\"$row[url]\"></td>
    </tr>
    <tr>
    <td>Adresse:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"adr\" size=\"22\" value=\"$row[adr]\"></td>
    </tr>
    <tr>
    <td>Postnr/By:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"by\" size=\"22\" value=\"$row[byen]\"></td>
    </tr>
  </table>
  Adresseinformationerne bruges udelukkende <br>
  til fremsendelse af konkurrence-gevinster<p>
  Fritekst:<br><textarea name=\"tekst\" rows=\"5\" cols=\"40\">$row[tekst]</textarea><BR>
  Ønsker du at få vist et billede? (sæt krys for ja):
  <input type='checkbox' name='chkbox' value='1'><BR>
  <input type=\"submit\" name=\"update\" value=\"Opdater\" style=\"font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%\">
  </form>
";

if($_GET[side] == 2) {
  $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'");
  $skriv = mysql_fetch_array($hent); 
 
  echo "Her kan du uploade et billede";

  if($_POST[up]) {
  $file = $_FILES['upfil']['tmp_name'];
  $sti = "/brugere/";
  $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
  $temparr[count($temparr)-2] = $skriv[navn];
  $files = $_FILES['upfil']['name'];
  $temparr = explode(".", $files);
  $files = implode(".", $temparr);

  $ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
  if($ext == "jpg" || $ext == "jpeg" || $ext == "gif") {
    $fil_stoerrelse = filesize($file)/1024;
    if($fil_stoerrelse > "50") {
    echo "
      Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 50 kb<p>
      <a href=java script:history.back(-1)>Tilbage</a>
    ";
    exit;
    }
    else {
    $til = "brugere/" . $skriv[navn];
    $fra = $_FILES['fil']['tmp_name'];
    move_uploaded_file($fra, $til);
    echo "Billedet er nu uploaded";
    }
  else {
    echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - kun .jpg<p>
    <a href=java script:history.back(-1)>Tilbage</a>";
    exit;
  }
  } 

  echo "
  <form method=\"post\" action=\"?index=redigerprofil2&side=2\" enctype=\"multipart/form-data\">
    <input type='file' name='upfil'><br>
    <input type=\"submit\" name=\"up\" value=\"Opdater\" style=\"font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%\">
  </form>
  ";
?>
Avatar billede xited Praktikant
14. august 2003 - 09:29 #30
Parse error line 18.... kan jeg ikke forstå...
Avatar billede Slettet bruger
14. august 2003 - 11:19 #31
Det gik lidt hurtig med at renskrive og lave koden om. Så der var kommet et par enkelte fejl i det. Prøv istedet med dette, nu burde det fungere.

<?
$findes = mysql_query("SELECT navn FROM bruger WHERE navn = '$sesusr' && pass = '$sespass'")or die(mysql_error());
if(mysql_num_rows($findes)==0){
  echo"du er ikke logget ind";
}
else{

if(!$_GET[side]) {
  echo "
  Ret dine oplysninger <a href=\"?index=redigerprofil2&side=1\">her</a><BR>
  Indsend billede <a href=\"?index=redigerprofil2&side=2\">her</a><BR>
  ";
}

if($_GET[side] == 1) {
 
  if($_POST[update]) {
  if($_POST[pass1] == $_POST[pass2] AND $_POST[pass1] !=""){
    include("connect.php");
    mysql_query("UPDATE bruger SET pass='$_POST[pass1]', email='$_POST[email]', hp='$_POST[hp]', url='$_POST[url]', adr='$_POST[adr]', byen='$_POST[by]', tekst='$_POST[tekst]', realnavn='$_POST[navn]', billede='$_POST[chkbox]' WHERE navn='$sesusr'")or die(mysql_error());
    if($_POST[chkbox] == 1) {
    $sespass = $pass1;
    session_register(sespass);
    header("Location:?redigerprofil2&side=2");
    }
    else { echo "Du har nu rettet dine oplysninger"; $sespass = $pass1; session_register(sespass); }
  }
  else { echo "De to passwords var ikke ens";
  }
 
  $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'")or die(mysql_error());
  $row = mysql_fetch_array($hent);
 
echo "
  Ret dine oplysninger:<BR><BR>
  <form method=\"post\" action=\"?index=redigerprofil2&side=1\">
  <table style=\"Font-family: Tahoma, arial, helvetica, sans-serif; Font-size: 10px;\">
    <tr>
    <td>Navn:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"navn\" size=\"22\" value=\"$row[realnavn]\"></td>
    </tr>
    <tr>
    <td>Email:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"email\" size=\"22\" value=\"$row[email]\"></td>
    </tr>
    <tr>
    <td>password:</td>
    <td>-</td>
    <td>
      <input type='password' name='pass1' size='8' value='$sespass'>
      igen: <input type='password' name='pass2' size='8' value='$sespass'>
    </td>
    </tr>
    <tr>
    <td>Hjemmeside:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"hp\" size=\"22\" value=\"$row[hp]\"></td>
    </tr>
    <tr>
    <td>Link:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"url\"  size=\"22\" value=\"$row[url]\"></td>
    </tr>
    <tr>
    <td>Adresse:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"adr\" size=\"22\" value=\"$row[adr]\"></td>
    </tr>
    <tr>
    <td>Postnr/By:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"by\" size=\"22\" value=\"$row[byen]\"></td>
    </tr>
  </table>
  Adresseinformationerne bruges udelukkende <br>
  til fremsendelse af konkurrence-gevinster<p>
  Fritekst:<br><textarea name=\"tekst\" rows=\"5\" cols=\"40\">$row[tekst]</textarea><BR>
  Ønsker du at få vist et billede? (sæt krys for ja):
  <input type='checkbox' name='chkbox' value='1'><BR>
  <input type=\"submit\" name=\"update\" value=\"Opdater\" style=\"font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%\">
  </form>
";
}
if($_GET[side] == 2) {
  $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'");
  $skriv = mysql_fetch_array($hent); 
 
  echo "Her kan du uploade et billede";

  if($_POST[up]) {
  $file = $_FILES['upfil']['tmp_name'];
  $sti = "/brugere/";
  $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
  $temparr[count($temparr)-2] = $skriv[navn];
  $files = $_FILES['upfil']['name'];
  $temparr = explode(".", $files);
  $files = implode(".", $temparr);

  $ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
  if($ext == "jpg" || $ext == "jpeg" || $ext == "gif") {
    $fil_stoerrelse = filesize($file)/1024;
    if($fil_stoerrelse > "50") {
    echo "
      Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 50 kb<p>
      <a href=java script:history.back(-1)>Tilbage</a>
    ";
    exit;
    }
    else {
    $til = "brugere/" . $skriv[navn];
    $fra = $_FILES['fil']['tmp_name'];
    move_uploaded_file($fra, $til);
    echo "Billedet er nu uploaded";
    }
  }
  else {
    echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - kun .jpg<p>
    <a href=java script:history.back(-1)>Tilbage</a>";
    exit;
  }
  } 

  echo "
  <form method=\"post\" action=\"?index=redigerprofil2&side=2\" enctype=\"multipart/form-data\">
    <input type='file' name='upfil'><br>
    <input type=\"submit\" name=\"up\" value=\"Opdater\" style=\"font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%\">
  </form>
  ";
}
}
}
?>
Avatar billede xited Praktikant
14. august 2003 - 13:25 #32
Nu vises:

Ret dine oplysninger _her_
Indsend billede _her_

men man kommer blot ind på en blank side hvis man trykker på nogen af dem...
Avatar billede Slettet bruger
14. august 2003 - 13:53 #33
undskylder de fejl der har været. Men det er lidt svært at teste når man ikke lige har adgang til databasen, så det er diverse småfejl der gør det hele.
Nu burde det sviske.

<?

if(!$_GET[side]) {
  echo "
  Ret dine oplysninger <a href=\"?side=1\">her</a><BR>
  Indsend billede <a href=\"?index=redigerprofil2&side=2\">her</a><BR>
  ";
}

if($_GET[side] == "1") {
  if($_POST[update]) {
  if($_POST[pass1] == $_POST[pass2] AND $_POST[pass1] !=""){
    include("connect.php");
    mysql_query("UPDATE bruger SET pass='$_POST[pass1]', email='$_POST[email]', hp='$_POST[hp]', url='$_POST[url]', adr='$_POST[adr]', byen='$_POST[by]', tekst='$_POST[tekst]', realnavn='$_POST[navn]', billede='$_POST[chkbox]' WHERE navn='$sesusr'")or die(mysql_error());
    if($_POST[chkbox] == 1) {
    $sespass = $pass1;
    session_register(sespass);
    header("Location:?redigerprofil2&side=2");
    }
    else { echo "Du har nu rettet dine oplysninger"; $sespass = $pass1; session_register(sespass); }
  }
  else { echo "De to passwords var ikke ens"; }
  }

  $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'")or die(mysql_error());
  $row = mysql_fetch_array($hent);
 
  echo "
  Ret dine oplysninger:<BR><BR>
  <form method=\"post\" action=\"?index=redigerprofil2&side=1\">
  <table style=\"Font-family: Tahoma, arial, helvetica, sans-serif; Font-size: 10px;\">
    <tr>
    <td>Navn:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"navn\" size=\"22\" value=\"$row[realnavn]\"></td>
    </tr>
    <tr>
    <td>Email:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"email\" size=\"22\" value=\"$row[email]\"></td>
    </tr>
    <tr>
    <td>password:</td>
    <td>-</td>
    <td>
      <input type='password' name='pass1' size='8' value='$sespass'>
      igen: <input type='password' name='pass2' size='8' value='$sespass'>
    </td>
    </tr>
    <tr>
    <td>Hjemmeside:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"hp\" size=\"22\" value=\"$row[hp]\"></td>
    </tr>
    <tr>
    <td>Link:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"url\"  size=\"22\" value=\"$row[url]\"></td>
    </tr>
    <tr>
    <td>Adresse:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"adr\" size=\"22\" value=\"$row[adr]\"></td>
    </tr>
    <tr>
    <td>Postnr/By:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"by\" size=\"22\" value=\"$row[byen]\"></td>
    </tr>
  </table>
    Adresseinformationerne bruges udelukkende <br>
    til fremsendelse af konkurrence-gevinster<p>
    Fritekst:<br><textarea name=\"tekst\" rows=\"5\" cols=\"40\">$row[tekst]</textarea><BR>
    Ønsker du at få vist et billede? (sæt krys for ja):
    <input type='checkbox' name='chkbox' value='1'><BR>
    <input type=\"submit\" name=\"update\" value=\"Opdater\" style=\"font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%\">
  </form>
  ";
}

if($_GET[side] == "2") {
 
  $getinfo = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'") or die(mysql_error());
  $skriv = mysql_fetch_array($getinfo); 
 
  echo "Her kan du uploade et billede";

  if($_POST[up]) {
  $file = $_FILES['upfil']['tmp_name'];
  $sti = "/brugere/";
  $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
  $temparr[count($temparr)-2] = $skriv[navn];
  $files = $_FILES['upfil']['name'];
  $temparr = explode(".", $files);
  $files = implode(".", $temparr);

  $ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
  if($ext == "jpg" || $ext == "jpeg" || $ext == "gif") {
    $fil_stoerrelse = filesize($file)/1024;
    if($fil_stoerrelse > "50") {
    echo "
      Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 50 kb<p>
      <a href=java script:history.back(-1)>Tilbage</a>
    ";
    exit;
    }
    else {
    $til = "brugere/" . $skriv[navn];
    $fra = $_FILES['fil']['tmp_name'];
    move_uploaded_file($fra, $til);
    echo "Billedet er nu uploaded";
    }
  }
  else {
    echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - kun .jpg<p>
    <a href=java script:history.back(-1)>Tilbage</a>";
    exit;
  }
  } 

  echo "
  <form method=\"post\" action=\"?index=redigerprofil2&side=2\" enctype=\"multipart/form-data\">
    <input type='file' name='upfil'><br>
    <input type=\"submit\" name=\"up\" value=\"Opdater\" style=\"font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%\">
  </form>
  ";
}

?>
Avatar billede Slettet bruger
14. august 2003 - 14:11 #34
De links der er øverst i scriptet skal du nok lave om til:
Ret dine oplysninger <a href=\"?index=redigerprofil2&side=1\">her</a><BR>
Indsend billede <a href=\"?index=redigerprofil2&side=2\">her</a><BR>

Så får du din egen index=redigerprofil2 med :)
Avatar billede xited Praktikant
14. august 2003 - 14:27 #35
Warning: Cannot add header information - headers already sent
Avatar billede Slettet bruger
14. august 2003 - 14:33 #36
Bare sæt <? ob_start(); ?> ind før noget andet.
Avatar billede xited Praktikant
14. august 2003 - 15:30 #37
Nej det er ikke derfor, det er fordi siden bliver includet i index.php og det er der den giver en warning fra...
Avatar billede Slettet bruger
14. august 2003 - 17:48 #38
jeps, men i din index.php inden du skriver noget som helst andet, sætter du så bare <? ob_start(); ?> ind.
Avatar billede Slettet bruger
21. august 2003 - 14:11 #39
Har du fået det til at virke?
Avatar billede fatter_keine Nybegynder
21. august 2003 - 14:39 #40
Nej, den skal ikke hoppe ind på upload-billed siden når den er kørt... brugeren skal ikke uploade vedkommendes billede hver gang, men blot vælge om billedet skal vises eller ej.... men vælger han at billedet skal vises uden at der er et billede i databasen, skal den hoppe ind på den side...¨
Du får lige scriptet igen, da jeg har ændret noget i den:




<?

if(!$_GET[side]) {
  echo "
Ret dine oplysninger <a href=\"?index=redigerprofil2&side=1\">her</a><BR>
Indsend billede <a href=\"?index=redigerprofil2&side=2\">her</a><BR>
  ";
}

if($_GET[side] == "1") {
  if($_POST[update]) {
  if($_POST[pass1] == $_POST[pass2] AND $_POST[pass1] !=""){
    include("connect.php");
    mysql_query("UPDATE bruger SET pass='$_POST[pass1]', email='$_POST[email]', hp='$_POST[hp]', url='$_POST[url]', adr='$_POST[adr]', byen='$_POST[by]', tekst='$_POST[tekst]', realnavn='$_POST[navn]', billede='$_POST[chkbox]' WHERE navn='$sesusr'")or die(mysql_error());
    if($_POST[chkbox] == 1) {
    $sespass = $pass1;
    session_register(sespass);
    header("Location:?index=redigerprofil2&side=2");
    }
    else { echo "Du har nu rettet dine oplysninger"; $sespass = $pass1; session_register(sespass); }
  }
  else { echo "De to passwords var ikke ens"; }
  }

  $hent = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'")or die(mysql_error());
  $row = mysql_fetch_array($hent);
 
  echo "
  Ret dine oplysninger:<BR><BR>
  <form method=\"post\" action=\"?index=redigerprofil2&side=1\">
  <table style=\"Font-family: Tahoma, arial, helvetica, sans-serif; Font-size: 10px;\">
    <tr>
    <td>Navn:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"navn\" size=\"22\" value=\"$row[realnavn]\"></td>
    </tr>
    <tr>
    <td>Email:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"email\" size=\"22\" value=\"$row[email]\"></td>
    </tr>
    <tr>
    <td>password:</td>
    <td>-</td>
    <td>
      <input type='password' name='pass1' size='8' value='$sespass'>
      igen: <input type='password' name='pass2' size='8' value='$sespass'>
    </td>
    </tr>
    <tr>
    <td>Hjemmeside:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"hp\" size=\"22\" value=\"$row[hp]\"></td>
    </tr>
    <tr>
    <td>Link:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"url\"  size=\"22\" value=\"$row[url]\"></td>
    </tr>
    <tr>
    <td>Adresse:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"adr\" size=\"22\" value=\"$row[adr]\"></td>
    </tr>
    <tr>
    <td>Postnr/By:</td>
    <td>-</td>
    <td><input type=\"text\" name=\"by\" size=\"22\" value=\"$row[byen]\"></td>
    </tr>
  </table>
    Adresseinformationerne bruges udelukkende <br>
    til fremsendelse af konkurrence-gevinster<p>
    Fritekst:<br><textarea name=\"tekst\" rows=\"5\" cols=\"40\">$row[tekst]</textarea><BR>
    Ønsker du at få vist et billede? (sæt krys for ja):
    <input type='checkbox' name='chkbox' value='1'><BR>
    <input type=\"submit\" name=\"update\" value=\"Opdater\" style=\"font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%\">
  </form>
  ";
}

if($_GET[side] == "2") {
 
  $getinfo = mysql_query("SELECT * FROM bruger WHERE navn = '$sesusr'") or die(mysql_error());
  $skriv = mysql_fetch_array($getinfo); 
 
  echo "Her kan du uploade et billede";

  if($_POST[up]) {
  $file = $_FILES['upfil']['tmp_name'];
  $sti = "/brugere/";
  $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
  $temparr[count($temparr)-2] = $skriv[navn];
  $files = $_FILES['upfil']['name'];
  $temparr = explode(".", $files);
  $files = implode(".", $temparr);

  $ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
  if($ext == "jpg" || $ext == "jpeg" || $ext == "gif") {
    $fil_stoerrelse = filesize($file)/1024;
    if($fil_stoerrelse > "50") {
    echo "
      Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 50 kb<p>
      <a href=java script:history.back(-1)>Tilbage</a>
    ";
    exit;
    }
    else {
    $til = "brugere/" . $skriv[navn];
    $fra = $_FILES['fil']['tmp_name'];
    move_uploaded_file($fra, $til);
    echo "Billedet er nu uploaded";
    }
  }
  else {
    echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - kun .jpg<p>
    <a href=java script:history.back(-1)>Tilbage</a>";
    exit;
  }
  } 

  echo "
  <form method=\"post\" action=\"?index=redigerprofil2&side=2\" enctype=\"multipart/form-data\">
    <input type='file' name='upfil'><br>
    <input type=\"submit\" name=\"up\" value=\"Opdater\" style=\"font-family: Tahoma; font-size: 10 px; border-style: solid; border-width: 1; background-position: 0% 50%\">
  </form>
  ";
}

?>
Avatar billede fatter_keine Nybegynder
21. august 2003 - 15:02 #41
Undskyld jeg blander mig, men Xited har ikke mulighed for at svare da han ikke er på nettet før om et stykke tid...
Avatar billede xited Praktikant
29. august 2003 - 14:46 #42
Back again.... nogen forslag ?
Avatar billede xited Praktikant
29. august 2003 - 14:47 #43
...til det fatter_keine skriver ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester