Avatar billede kubert Nybegynder
16. januar 2010 - 23:37 Der er 14 kommentarer og
1 løsning

Hjælp til mysql dump.!

Heysa, jeg har en hjemmeside klar, som jeg skal have op og stå nu.
Det eneste er bare at mit brugersystem er downloadet og jeg kan ikke finde nogen mysql dump :(
Så derfor er der en venlig sjæl som kan hjælpe med det.?

Det burde ikke være det vilde, men her er php filen at gå efter:

<center>
<?php
include("mysql.php");
function form(){
print'
<form name="bruger" method="post" action="join.php?k=1">
    <table border="0" style="text-align:left">
        <tr><td>Brugernavn:</td><td><input type="text" name="brugernavn" maxlength="30"></td></tr>
        <tr><td>Kode:</td><td><input type="password" name="kode1" maxlength="32"></td></tr>
        <tr><td>Kode igen:</td><td><input type="password" name="kode2" maxlength="32"></td></tr>
    </table>
    <table style="text-align:left">
    <tr><td>Din kode bliver md5 krypteret.<br>
    </td></tr>
    </table>
    <input type="submit" value="Opret">
</form>
';
}


if(empty($_GET["k"])){
    form();
}
else if($_GET["k"]==1){
    $ok=true;
    if(empty($_REQUEST["kode1"])||empty($_REQUEST["kode2"])||empty($_REQUEST["brugernavn"])){$ok=false;print "<font color='red'><b>Udfyld venligst alle felter!</b></font><br>";}
    if(!empty($_REQUEST["kode1"])&&!empty($_REQUEST["kode2"])&&$_REQUEST["kode1"]!=$_REQUEST["kode2"]){$ok=false;print "<font color='red'><b>Koderne matcher ikke!</b></font><br>";}
    if(!$ok){
        form();
    }
    else{
        $bruger = $_REQUEST['brugernavn'];
        $kode = md5($_REQUEST['kode1']);
        $q = "SELECT bruger FROM cbruger WHERE bruger = '".$bruger."'";
        $log = mysql_query($q) or die(mysql_error());
        $rows = mysql_num_rows($log);
        if($rows==0){
            $q = "INSERT INTO cbruger (bruger, kode) VALUES ('".$bruger."', '".$kode."')";
            mysql_query($q);
            print "Din bruger er nu klar til brug!<br>";
            print "<script>function redirect(){document.location = 'login.php';}window.setInterval(redirect,5000)</script>";
        }
        else {
            print "<font color='red'><b>Dette brugernavn er optaget!</b></font><br>Er der nogen, der udgiver sig for at være dig, eller oplever du andre problemer med brugernavnet, kan du kontakte mig <br>";
            form();
        }
    }
}
?>
</center>
Avatar billede Slettet bruger
16. januar 2010 - 23:43 #1
Er det et system du selv har bygget op, eller er det noget du har fundet på nettet?
Avatar billede kubert Nybegynder
16. januar 2010 - 23:48 #2
systemet har jeg fundet på nettet :)
er ikke den bedste til at programmere, så brugersystemet er downloadet :)
Avatar billede muddi Praktikant
17. januar 2010 - 00:59 #3
Hvad hedder systemet?
Avatar billede muddi Praktikant
17. januar 2010 - 01:04 #4
Hvorfor vil du lave et mysql dump fra php? Kan du ikke lave et dump direkte fra phpmyadmin, mysql administrator eller mysql query browser?

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
Avatar billede Slettet bruger
17. januar 2010 - 01:37 #5
Er det muligt at få et link til det sted du har fundet systemet?
Avatar billede kubert Nybegynder
17. januar 2010 - 09:57 #6
phpMyAdmin - 2.11.0
Avatar billede kubert Nybegynder
17. januar 2010 - 09:58 #7
MySQL klientversion: 4.0.21
Avatar billede muddi Praktikant
17. januar 2010 - 11:08 #8
Klik på databasens navn ude til vensre over listen af tabeller.
Vælg operationer-fanebladet.
Her har du mulighed for at foretage et dump af hele databasen eller enkelte tabeller.
Avatar billede muddi Praktikant
17. januar 2010 - 11:21 #9
Hvis det du efterspørger er et schema til dit system, og du ikke har fået det med er du nødt til at give os et link det sted du har hentet kildekoden til den php-fil du har postet i dit spm.

Det nytter ikke noget at lave reverse engineering af det script du har postet. Så skulle der nemlig bare være en tabel med to felter.

Den her SQL vil oprette den tabel din kode skal bruge, men du skal jo nok mere end bare at kunne oprette brugere ikk :) ?

CREATE TABLE IF NOT EXISTS `cbruger` (
  `bruger` varchar(30) COLLATE utf8_danish_ci NOT NULL,
  `kode` varbinary(32) NOT NULL,
  PRIMARY KEY (`bruger`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;


Du har version phpmyadmin 2.11 installeret. Du bør overveje at opgradere. Jeg kan se at jeg selv bruger version 3.2.4.

Mvh Morten
Avatar billede kubert Nybegynder
17. januar 2010 - 14:04 #10
hey muddi.
Tak for svaret.
der er bare lige et par ting. for det første så har jeg webhotel hos cliche.dk , dvs jeg køre over deres database lanceret på mysql01.cliche.dk , så jeg kan desværre ikke opgradere det for dem :)
Jeg kunne selvfølgeligt selv sætte phpmyadmin op, men det er der ikke plads til på min side hehe..
Derudover har du ret, det var et schema jeg ville ha, jeg har nok bare formuleret mig lidt forkert.

hvis jeg indsætter dit så virker det ikke.
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'COLLATE utf8_danish_ci NOT NULL,
  `kode` varbinary(32) NOT NU


Jeg har desværre ikke noget link da det er et system jeg har haft liggende i et par år.
Hvad mere vil du helt præcist have.
Det eneste det sådan set bare kan er oprette bruger, og så når man er logget ind skal det sende end videre til en "sikker" side
Avatar billede muddi Praktikant
17. januar 2010 - 15:34 #11
Oki, så forstår jeg. Men det må jo stadig hedde et eller andet. Medmindre det er noget du har hentet fra en eller anden programmørs "scriptkasse"? Men har aldrig mødt et helt system uden navn. Er det bare et script?

Du får muligvis fejlen fordi du bruger mysql 4.21 og jeg bruger version 5.5 her.

Brug phpmyadmin til at oprette tabellen med de samme oplysninger der er i den SQL jeg postede før.
COLLATION / COLLATE er ligemeget. Den skal bare være default. På min er det utf8_danish_ci.

Passwordfeltet skal være varbinary(!). Du bør overveje at skifte krypteringsalgoritme, da MD5 er forældet og ikke længere kan betragtes som værende sikker. Overvej i stedet at bruge AES, og hvis din MySQL ikke understøtter det, så gør PHP ihvertfald ;)

Når du har oprettet tabellen så må du poste de eventuelle fejl der kommer, så fixer vi også dem, hvis der blot mangler et id-felt og ikke flere tabeller.

Jeg venter på dig.

/Morten
Avatar billede muddi Praktikant
17. januar 2010 - 23:07 #12
Okay nu har jeg lige kigget på det igen. Du får fejlen fordi UTF8 først understøttes fra version 4.1 (jeg kom til at skrive 4.21 i mit sidste indlæg).

http://dev.mysql.com/tech-resources/articles/4.1/unicode.html

Prøv i stedet

CREATE TABLE IF NOT EXISTS `cbruger` (
  `bruger` varchar(30) NOT NULL,
  `kode` varbinary(32) NOT NULL,
  PRIMARY KEY (`bruger`)
) ENGINE=MyISAM;
Avatar billede kubert Nybegynder
18. januar 2010 - 22:27 #13
det virker nu, jeg har kigget lidt på det og fået det til at virke, derudover slettede jeg id, da jeg ikke mener at brugerne behøver et id, det var det som det lagde op til :)

Har du et link til evt andre scripts til brugersystemer, kunne nemlig være der var en som jeg kunne benytte lidt mere af :)

Men udover det så 1000 tak for hjælpen, nu vil jeg gå igang med lidt opgradering og evt selv køre phpmyadmin så jeg kan sætte mig lidt mere ind i det..

- smid et svar :)
Avatar billede kubert Nybegynder
18. januar 2010 - 23:12 #14
eller lige meget jeg bygger mig bare videre på det jeg har, øvelse gør mester :)
Avatar billede muddi Praktikant
19. januar 2010 - 01:39 #15
Præcis... Det er ligesom med LEGO. Det er sjovere at bygge noget end at lege med det nogen andre har bygget :)

Godt du fik det ordnet. Kender ikke rigtig noget til nogen brugersystemer. Har ikke nogen brugere at holde styr på. Men ville også foretrække at skrive det selv, ligesom dig.

Happy coding :)
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
Computerworld tilbyder specialiserede kurser i database-management

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