16. juni 2004 - 16:19
Der er
70 kommentarer og 1 løsning
PHP og MySql
Jeg har prøvet nu adskellige gange at få MySql til at virke, men uden held. Jeg har skrevet localhost som man skal og ens brugernavn og password. Men det virker ikke - den skriver følgende: Warning: mysql_connect(): Access denied for user: 'USER@whitehat.dk' (Using password: YES) in /usr/home/whitehat_dk/users/matz/upload.php on line 9 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /usr/home/whitehat_dk/users/matz/upload.php on line 10 Warning: mysql_query(): Access denied for user: 'root@localhost' (Using password: NO) in /usr/home/whitehat_dk/users/matz/upload.php on line 11 Warning: mysql_query(): A link to the server could not be established in /usr/home/whitehat_dk/users/matz/upload.php on line 11 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/home/whitehat_dk/users/matz/upload.php on line 12 Warning: end(): Passed variable is not an array or object in /usr/home/whitehat_dk/users/matz/upload.php on line 15 Warning: move_uploaded_file(billeder/temp/ban.jpg): failed to open stream: No such file or directory in /usr/home/whitehat_dk/users/matz/upload.php on line 17 Warning: move_uploaded_file(): Unable to move '/var/tmp/phpqfNuB4' to 'billeder/temp/ban.jpg' in /usr/home/whitehat_dk/users/matz/upload.php on line 17 Der er sket en fejl! Det er sikkert en meget let ting jeg lige har overset, men kan du hjælpe?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvordan connecter du? Du må på en eller anden måde bruge forkert pass/username - og du har ikke brugt et stort bogstav i stedet for lille?
connecter således: <p class=overskrift>Billeder</p> <p>Her er der så plads til billeder fra de sidste år.!<br> Hvis du har nogle billeder, du mener, skal op på siden, så <a href="upload.php">upload billederne</a>!!</p> <table class=billeder border=1> <? $order = "id"; $database = mysql_connect("localhost","matz","password"); mysql_select_db("matz",$database); $sql = "SELECT * FROM billeder"; $foresp = mysql_query($sql); while ($data = mysql_fetch_array($foresp)) { $size = getimagesize("billeder/$data[fil].jpg"); $height = $size[1] + 20; $width = $size[0]; print "<tr> <td valign=bottom> <a href=\"#\" border=\"0\" onclick=\"self.window.open('aaben_billeder.php?fil=$data[fil]','Billeder','left=100,top=100,height=$height,width=$width,resizable=no,status=no,toolbar=no,menubar=no,location=no')\"> <img src=\"billeder/$data[fil].jpg\" width=\"250\" border=\"0\"> </a> <br>\n"; print "$data[tekst] <br>"; print "Upladet af: $data[navn]"; print "</td> </tr>"; } ?> </table>
$connect = mysql_connect("localhost","matz","password"); $db = mysql_select_db("databasenavn");
Følgende fejl nu: Warning: mysql_connect(): Access denied for user: 'USER@whitehat.dk' (Using password: YES) in /usr/home/whitehat_dk/users/matz/upload.php on line 9 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /usr/home/whitehat_dk/users/matz/upload.php on line 10 Warning: mysql_query(): Access denied for user: 'root@localhost' (Using password: NO) in /usr/home/whitehat_dk/users/matz/upload.php on line 11 Warning: mysql_query(): A link to the server could not be established in /usr/home/whitehat_dk/users/matz/upload.php on line 11 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/home/whitehat_dk/users/matz/upload.php on line 12 Warning: end(): Passed variable is not an array or object in /usr/home/whitehat_dk/users/matz/upload.php on line 15 Warning: move_uploaded_file(billeder/temp/beatch.jpg): failed to open stream: No such file or directory in /usr/home/whitehat_dk/users/matz/upload.php on line 17 Warning: move_uploaded_file(): Unable to move '/var/tmp/phpJ6XWjC' to 'billeder/temp/beatch.jpg' in /usr/home/whitehat_dk/users/matz/upload.php on line 17 Der er sket en fejl! ------------------------------ Men du kan lige se upload.php: <? // Uploade billeder $submit_billede = $_POST['submit_billede']; if ($submit_billede) { $tempuploaddir = 'billeder/temp/'; $uploaddir = 'billeder/'; $uploadfile = $tempuploaddir . $_FILES['filnavn']['name']; $database = mysql_connect("SERVER","USER","PASS"); mysql_select_db("DATABASE",$database); $foresp = mysql_query("SELECT fil FROM billeder"); while ($data = mysql_fetch_array($foresp)) { $fil = array($data[fil]); } $naeste_filnavn = end($fil) + 1; if (move_uploaded_file($_FILES['filnavn']['tmp_name'], $uploadfile)) { rename($tempuploaddir . $_FILES['filnavn']['name'],$uploaddir . $naeste_filnavn . ".jpg"); $database = mysql_connect("SERVER","USER","PASS"); mysql_select_db("DATABASE",$database); $sql = "INSERT INTO billeder (navn, fil, tekst) VALUES ('$_POST[navn]', $naeste_filnavn, '$_POST[tekst]')"; mysql_query($sql) or die(mysql_error()); } else { print "Der er sket en fejl!"; } } ?> <form enctype="multipart/form-data" action="upload.php" method="POST"> <table> <tr> <td> Upload dette billede: </td> <td> <input name="filnavn" type="file"> </td> </tr> <tr> <td> Dit navn: </td> <td> <input type="text" name="navn"> </td> </tr> <tr> <td> Skriv en kommentar til billedet: </td> <td> <input type="text" name="tekst"> </td> </tr> <tr> <td> Send billedet: </td> <td> <input type="submit" name="submit_billede" value="Send billede"> </td> </tr> </table> </form>
Du kan med fordele bruge: $connect = mysql_connect("localhost","matz","password") or die (mysql_error()); $db = mysql_select_db("databasenavn") or die (mysql_error()); Så vil den fortælle dig mere specifik info om hvilken fejl der kommer hvis der er en...
Hvad indsætter du som databasenavn? Og du er sikker på, at matz er dit brugernavn, alle små bogstaver?
ja har gjort det rigtig i den første fil jeg postet, men i upload.php - der er der også nogle connect linier, skal de også udfyldes med det samme? eller skal de bare stå som de gør nu
jeg indsætter som databasenavn "matz"
16. juni 2004 - 16:33
#10
De skal stå på samme måde...
16. juni 2004 - 16:34
#11
ok gør jeg så lige...
16. juni 2004 - 16:36
#12
Så kom vi et skridt videre, jeg undskylder min fejl ved den fil. Men der kommer denne fejl nu: Warning: end(): Passed variable is not an array or object in /usr/home/whitehat_dk/users/matz/upload.php on line 15 Warning: move_uploaded_file(billeder/temp/ban.jpg): failed to open stream: No such file or directory in /usr/home/whitehat_dk/users/matz/upload.php on line 17 Warning: move_uploaded_file(): Unable to move '/var/tmp/phpU6D656' to 'billeder/temp/ban.jpg' in /usr/home/whitehat_dk/users/matz/upload.php on line 17 Der er sket en fejl!
16. juni 2004 - 16:37
#13
den uploader altså ikke filerne?
16. juni 2004 - 16:38
#14
Nej det gør den ikke.
16. juni 2004 - 16:41
#15
Hvor mange filer skal der uploades?
16. juni 2004 - 16:41
#16
kun 1
16. juni 2004 - 16:41
#17
16. juni 2004 - 16:49
#18
Prøv det her: if(isset($_FILES['submit_billede']['name'] && $_FILES['submit_billede']['tmp_name'] != "") { $uploaddir = "./billeder/"; if(is_uploaded_file($_FILES['upfile']['tmp_name'][$i])) { move_uploaded_file($_FILES['submit_billede']['name'], $dist . $_FILES['submit_billede']['tmp_name']); $database = mysql_connect("SERVER","USER","PASS"); mysql_select_db("DATABASE",$database); $sql = "INSERT INTO billeder (navn, fil, tekst) VALUES ('$_POST[navn]', $naeste_filnavn, '$_POST[tekst]')"; } }
16. juni 2004 - 16:52
#19
Ret lige første linie til: if(isset($_FILES['submit_billede']['name'] && $_FILES['submit_billede']['name'] != "") {
16. juni 2004 - 16:54
#21
Der er bl.a. en fejl i funktionen end() - den findes ikke. Så det er en fejl i dit upload-script. I de 3 fejl du har skrevet længere oppe, er der ikke nogen mysql-fejl.
16. juni 2004 - 16:57
#22
okay, jamen så ændre jeg det da lige...Men hvor skal det sættes ind i scriptet eller kan du ikke lige sætte det ind her så jeg kan copy/paste det.
16. juni 2004 - 16:59
#23
<? if(isset($_FILES['submit_billede']['name'] && $_FILES['submit_billede']['name'] != "") { $uploaddir = "./billeder/"; if(is_uploaded_file($_FILES['upfile']['tmp_name'][$i])) { move_uploaded_file($_FILES['submit_billede']['name'], $dist . $_FILES['submit_billede']['tmp_name']); $database = mysql_connect("SERVER","USER","PASS"); mysql_select_db("DATABASE",$database); $sql = "INSERT INTO billeder (navn, fil, tekst) VALUES ('$_POST[navn]', $naeste_filnavn, '$_POST[tekst]')"; } } ?> Men jeg har dog ikke testet det...
16. juni 2004 - 17:01
#24
bare lige så jeg er helt med er det istedet for denne kode den skal erstattes med: if ($submit_billede) { $tempuploaddir = 'billeder/temp/'; $uploaddir = 'billeder/'; $uploadfile = $tempuploaddir . $_FILES['filnavn']['name']; $database = mysql_connect("localhost","matz","password"); mysql_select_db("matz",$database); $foresp = mysql_query("SELECT fil FROM billeder"); while ($data = mysql_fetch_array($foresp)) { $fil = array($data[fil]); } $naeste_filnavn = end($fil) + 1;
16. juni 2004 - 17:10
#25
Det burde kunne erstatte hele din kode
16. juni 2004 - 17:12
#26
så kommer denne frem: Parse error: parse error, expecting `','' or `')'' in /usr/home/whitehat_dk/users/matz/upload.php on line 2
16. juni 2004 - 17:13
#27
og min kode i upload.php ser sådan her ud efter jeg skiftede: <? if(isset($_FILES['submit_billede']['name'] && $_FILES['submit_billede']['name'] != "") { $uploaddir = "./billeder/"; if(is_uploaded_file($_FILES['upfile']['tmp_name'][$i])) { move_uploaded_file($_FILES['submit_billede']['name'], $dist . $_FILES['submit_billede']['tmp_name']); $database = mysql_connect("localhost","matz","password"); mysql_select_db("matz",$database); $sql = "INSERT INTO billeder (navn, fil, tekst) VALUES ('$_POST[navn]', $naeste_filnavn, '$_POST[tekst]')"; } } ?> <form enctype="multipart/form-data" action="upload.php" method="POST"> <table> <tr> <td> Upload dette billede: </td> <td> <input name="filnavn" type="file"> </td> </tr> <tr> <td> Dit navn: </td> <td> <input type="text" name="navn"> </td> </tr> <tr> <td> Skriv en kommentar til billedet: </td> <td> <input type="text" name="tekst"> </td> </tr> <tr> <td> Send billedet: </td> <td> <input type="submit" name="submit_billede" value="Send billede"> </td> </tr> </table> </form>
16. juni 2004 - 17:14
#28
Okey, tester den lige så...
16. juni 2004 - 17:14
#29
helt iorden
16. juni 2004 - 17:33
#30
Prøv lige det her: <? if(isset($_FILES['filnavn']['name']) && $_FILES['filnavn']['name'] != "") { $uploaddir = "./billeder/"; if(is_uploaded_file($_FILES['filnavn']['tmp_name'])) { move_uploaded_file($_FILES['filnavn']['tmp_name'], $dist . $_FILES['filnavn']['name']); $database = mysql_connect("localhost","matz","password"); mysql_select_db("matz",$database); $sql = "INSERT INTO billeder (navn, fil, tekst) VALUES ('$_POST[navn]', $naeste_filnavn, '$_POST[tekst]')"; } else {echo"fejl!";} } ?> <form enctype="multipart/form-data" action="upload.php" method="POST"> <table> <tr> <td> Upload dette billede: </td> <td> <input name="filnavn" type="file"> </td> </tr> <tr> <td> Dit navn: </td> <td> <input type="text" name="navn"> </td> </tr> <tr> <td> Skriv en kommentar til billedet: </td> <td> <input type="text" name="tekst"> </td> </tr> <tr> <td> Send billedet: </td> <td> <input type="submit" name="submit_billede" value="Send billede"> </td> </tr> </table> </form> Husk at tilpasse $dist til en mappe der er chmod'et
16. juni 2004 - 17:35
#31
og også din connection til databasen
16. juni 2004 - 17:39
#32
Du skal lige ændre $dist i move_uploaded_file til $uploaddir så spiller det :)
16. juni 2004 - 17:45
#33
nåh man uploader denne gang kommer den med 1 fejl som er: Fatal error: Call to undefined function: ./billeder/() in /usr/home/whitehat_dk/users/matz/upload.php on line 6
16. juni 2004 - 17:46
#34
Erh, det skulle da gerne ikke være en funktion... Gider du paste igen? :/
16. juni 2004 - 17:49
#35
Jeg har skrevet det her i min fil: <? if(isset($_FILES['filnavn']['name']) && $_FILES['filnavn']['name'] != "") { $uploaddir = "./billeder/"; if(is_uploaded_file($_FILES['filnavn']['tmp_name'])) { $uploaddir($_FILES['filnavn']['tmp_name'], $dist . $_FILES['filnavn']['name']); $database = mysql_connect("localhost","matz","password"); mysql_select_db("matz",$database); $sql = "INSERT INTO billeder (navn, fil, tekst) VALUES ('$_POST[navn]', $naeste_filnavn, '$_POST[tekst]')"; } else {echo"fejl!";} } ?> <form enctype="multipart/form-data" action="upload.php" method="POST"> <table> <tr> <td> Upload dette billede: </td> <td> <input name="filnavn" type="file"> </td> </tr> <tr> <td> Dit navn: </td> <td> <input type="text" name="navn"> </td> </tr> <tr> <td> Skriv en kommentar til billedet: </td> <td> <input type="text" name="tekst"> </td> </tr> <tr> <td> Send billedet: </td> <td> <input type="submit" name="submit_billede" value="Send billede"> </td> </tr> </table> </form> ---------------------------------- Og linie 6 er: $uploaddir($_FILES['filnavn']['tmp_name'], $dist . $_FILES['filnavn']['name']);
16. juni 2004 - 17:50
#36
Ohhh, der misforstod du mig desværre lidt, ændre linien til: move_uploaded_file($_FILES['filnavn']['tmp_name'], $uploaddir . $_FILES['filnavn']['name']);
16. juni 2004 - 17:54
#37
Er rettet også kommr denne fejl: Warning: move_uploaded_file(./billeder/ban.jpg): failed to open stream: Permission denied in /usr/home/whitehat_dk/users/matz/upload.php on line 6 Warning: move_uploaded_file(): Unable to move '/var/tmp/phpBHGNov' to './billeder/ban.jpg' in /usr/home/whitehat_dk/users/matz/upload.php on line 6
16. juni 2004 - 17:55
#38
Har du CHMOD'et mappen til 777 ?
16. juni 2004 - 17:56
#39
og uploader du til mappen "billeder" ? Ellers skal du lige rette det til...
16. juni 2004 - 17:56
#40
Det kan jeg vel ikke bare gøre da det er rettighederne på mappen på whitehat server..eller kan jeg ?
16. juni 2004 - 17:57
#41
ja jeg har en mappe med navnet "billeder"
16. juni 2004 - 17:58
#42
Jow, kan man i de fleste tilfælde. Marker mappen i din ftp-klient, højre-klik og se om der ikke kommer noget med CHMOD.
16. juni 2004 - 18:02
#43
Jeps..jeg fandt det, jeg har sat kryds i alle felter så de har fået et hak...Og nu kommer der ikke nogen fejl og den gemmer billedet i mappen "billeder" men... i filen billeder.php kommer der ikke noget frem som der skulle? Godt arbejde indtil videre ;)
16. juni 2004 - 18:04
#44
billeder.php: <p class=overskrift>Billeder</p> <p>Her er der så plads til billeder fra de sidste år.!<br> Hvis du har nogle billeder, du mener, skal op på siden, så <a href="upload.php">upload billederne</a>!!</p> <table class=billeder border=1> <? $order = "id"; $connect = mysql_connect("localhost","matz","password") or die (mysql_error()); $db = mysql_select_db("matz") or die (mysql_error()); $sql = "SELECT * FROM billeder"; $foresp = mysql_query($sql); while ($data = mysql_fetch_array($foresp)) { $size = getimagesize("billeder/$data[fil].jpg"); $height = $size[1] + 20; $width = $size[0]; print "<tr> <td valign=bottom> <a href=\"#\" border=\"0\" onclick=\"self.window.open('aaben_billeder.php?fil=$data[fil]','Billeder','left=100,top=100,height=$height,width=$width,resizable=no,status=no,toolbar=no,menubar=no,location=no')\"> <img src=\"billeder/$data[fil].jpg\" width=\"250\" border=\"0\"> </a> <br>\n"; print "$data[tekst] <br>"; print "Upladet af: $data[navn]"; print "</td> </tr>"; } ?> </table>
16. juni 2004 - 18:05
#45
Bliver det gemt i databasen?
16. juni 2004 - 18:07
#46
hmm den gemmer billedet i "billeder" men den gemmer ikke i MySql.
16. juni 2004 - 18:08
#47
Husket at rette mysql_select_db() i upload.php?
16. juni 2004 - 18:12
#48
Ja der står istedet for "database" så "matz"
16. juni 2004 - 18:13
#49
upload.php: <? if(isset($_FILES['filnavn']['name']) && $_FILES['filnavn']['name'] != "") { $uploaddir = "./billeder/"; if(is_uploaded_file($_FILES['filnavn']['tmp_name'])) { move_uploaded_file($_FILES['filnavn']['tmp_name'], $uploaddir . $_FILES['filnavn']['name']); $database = mysql_connect("localhost","matz","password"); mysql_select_db("matz",$database); $sql = "INSERT INTO billeder (navn, fil, tekst) VALUES ('$_POST[navn]', $naeste_filnavn, '$_POST[tekst]')"; } else {echo"fejl!";} } ?> <form enctype="multipart/form-data" action="upload.php" method="POST"> <table> <tr> <td> Upload dette billede: </td> <td> <input name="filnavn" type="file"> </td> </tr> <tr> <td> Dit navn: </td> <td> <input type="text" name="navn"> </td> </tr> <tr> <td> Skriv en kommentar til billedet: </td> <td> <input type="text" name="tekst"> </td> </tr> <tr> <td> Send billedet: </td> <td> <input type="submit" name="submit_billede" value="Send billede"> </td> </tr> </table> </form>
16. juni 2004 - 18:14
#50
mysql_select_db("matz");
16. juni 2004 - 18:18
#51
Den gør det samme...
16. juni 2004 - 18:27
#52
Så prøv: <? if(isset($_FILES['filnavn']['name']) && $_FILES['filnavn']['name'] != "") { $uploaddir = "./billeder/"; if(is_uploaded_file($_FILES['filnavn']['tmp_name'])) { move_uploaded_file($_FILES['filnavn']['tmp_name'], $uploaddir . $_FILES['filnavn']['name']); $database = mysql_connect("localhost","matz","password"); mysql_select_db("matz"); $navn = $_POST['navn']; $fil = $_FILES['filnavn']['name']; $tekst = $_POST['tekst']; $sql = "INSERT INTO billeder(navn, fil, tekst) VALUES ('$navn','$fil','$tekst')"; } else {echo"fejl!";} } ?>
16. juni 2004 - 18:33
#53
Det er stadigvæk det samme. den gemmer ikke i databasen.
16. juni 2004 - 18:36
#54
og du har de felter i din database? og de hedder med små navne etc.?
16. juni 2004 - 18:37
#55
Jeps, sådan her ser den ud min sql: CREATE TABLE `billeder` ( `id` int(3) NOT NULL auto_increment, `navn` char(40) NOT NULL default '', `fil` int(3) NOT NULL default '0', `tekst` char(255) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM ;
16. juni 2004 - 18:38
#56
feltet fil kan ikke være int, da int=tal. Gå ind i phpmyadmin og ændre navn, fil og tekst til "text"
16. juni 2004 - 18:41
#57
den siger: Fejl SQL-forespørgsel : ALTER TABLE `billeder` CHANGE `tekst` `text` CHAR( 255 ) NOT NULL MySQL returnerede: #1060 - Duplicate column name 'text' Skal jeg bare gå videre der og ignorer det?
16. juni 2004 - 18:41
#58
altså jeg har skrevet text 1 gang...men så når jeg skal skrive det ved de 2 andre felter så melder den det.
16. juni 2004 - 18:42
#59
Der ikke navnet, men felttypen du skal ændre.
16. juni 2004 - 18:44
#60
okay...så skriver den: SQL-forespørgsel : ALTER TABLE `billeder` CHANGE `fil` `fil` TEXT DEFAULT '0' NOT NULL MySQL returnerede: #1101 - BLOB column 'fil' can't have a default value
16. juni 2004 - 18:45
#61
Nej, et text-felt kan ikke have 0 som standardværdi
16. juni 2004 - 18:47
#62
hvad skal standardværdi være så? Eller kan du ændre i den sql fil jeg postede...så kan jeg bare sige copy/paste
16. juni 2004 - 18:49
#63
Der skal ikke være nogen standard-værdi
16. juni 2004 - 18:50
#64
okay er ikke lige så stærk til mysql ;) men fil er ændret til text og standardværdi er taget væk.
16. juni 2004 - 18:52
#65
Gutti, så må du jo prøve igen...
16. juni 2004 - 18:54
#66
Den gør det samme igen.
16. juni 2004 - 18:56
#67
Prøvet at indsætte manuelt? Kommer der fejl? Og er det du forresten på IRC? Dit nick er mig bekendt, måske derfra?
16. juni 2004 - 19:00
#68
Jeg er ikke på IRC, men jeg er på msn...hvis du er på msn kan du add mig på: mats1122@yahoo.dk - så vi kan snakke lidt lettere sammen. Jeg kan ikke finde ud af at indsætte manuelt, men hvis du vil gøre det, kan du lige få brugernavn og password?
16. juni 2004 - 19:30
#69
Tjah, fejlen lå i en manglende mysql_query("blah"); - burde have set 10 kommentarer før, meeeeen kan jo ikke være perfekt hver gang :/
16. juni 2004 - 19:31
#70
jeg takker :-)
16. juni 2004 - 19:33
#71
np :)
Vi tilbyder markedets bedste kurser inden for webudvikling