Avatar billede baitianlong Nybegynder
07. februar 2004 - 22:14 Der er 11 kommentarer og
1 løsning

Meget enkel database-side

Jeg er ved at forsøge mig med PHP, hvad er der galt med denne her ?!?!


<?

$Navn = $GET['navn'];
if($Navn != "") {
print $navn;

$dbLink = mysql_connect("localhost", "", "");

mysql_select_db("multitest", $dbLink);

$query = "insert into multitable values ('$Navn')";

$dbResult = mysql_query($query, $dbLink);

mysql_close($dbLink);
} else {
?>
<html>
<form action = "<? print $SCRIPT_NAME ?>" method = "GET">
Skriv dit navn:
<input type = "textfield" size = "20" name = "navn">
<input type = "button" value = "Submit" type = "Submit">
</form>
</html>
<? } ?>
Avatar billede htm Nybegynder
07. februar 2004 - 22:22 #1
Ville nok lave
if($Navn != "") {
om til:
if (isset($navn) && !empty($navn)) {
Avatar billede erikjacobsen Ekspert
07. februar 2004 - 22:26 #2
Hvad sker der? Jeg ville erstatte

  $dbResult = mysql_query($query, $dbLink);

med

  mysql_query($query, $dbLink) or die(mysql_error());
Avatar billede baitianlong Nybegynder
07. februar 2004 - 22:26 #3
Men det løser jo ikke problemet. Den skriver ikke i databasen !? Den laver dog en post mere i tabellen, men den er tom/uden data
Avatar billede erikjacobsen Ekspert
07. februar 2004 - 22:27 #4
og erstatte
  $Navn = $GET['navn'];
med
  $Navn = $_GET['navn'];
Avatar billede detox Nybegynder
07. februar 2004 - 22:29 #5
Ja, der er en del småfejl. Her en samlet rettelse:

<?
if (isset($_GET['navn']) && $_GET['navn'] != "") {
    $navn = $_GET['navn'];
    print $navn;
    $dbLink = mysql_connect("localhost", "", "");
    mysql_select_db("multitest", $dbLink);
    $query = "insert into multitable values ('$navn')";
    $dbResult = mysql_query($query, $dbLink);
    mysql_close($dbLink);
} else {
?>
<html>
<form action = "<? echo $_SERVER['PHP_SELF'] ?>" method = "GET">
Skriv dit navn:
<input type = "text" size = "20" name = "navn" />
<input type = "submit" value = "Submit" name = "Submit" />
</form>
</html>
<? } ?>
Avatar billede baitianlong Nybegynder
07. februar 2004 - 22:29 #6
Når man trykker submit, burde der så ikke komme en tom side hvor bare navnet står ??

Den virker stadig ikke
Avatar billede baitianlong Nybegynder
07. februar 2004 - 22:30 #7
Hov, jeg når ikke at se jeres forslag inden jeg "brokker" mig.. Jeg prøver lige med den nye rettelse :o)
Avatar billede baitianlong Nybegynder
07. februar 2004 - 22:35 #8
ok, den nye version fra detox virker perfekt....

Jeg kan ikke forstå at den der <? print $SCRIPT_NAME ?> ikke er god, den har jeg da set på andre scripts (der virker) ?!

Hvis i lige smider et svar alle 3, kan jeg fordele pointsne, for alle 3 siger jo noget rigtigt
Avatar billede htm Nybegynder
07. februar 2004 - 22:37 #9
Mit bidrag er jo ikke det store - jeg springer over.
Avatar billede detox Nybegynder
07. februar 2004 - 22:41 #10
<? print $SCRIPT_NAME ?> virker for så vidt osse i nogle tilfælde, men jeg vil mene:
<? echo $_SERVER['PHP_SELF'] ?> er mere allround. Den anden skal forøvrigt være:
<? print $_SERVER['SCRIPT_NAME'] ?> i nyere versioner af php, hvor register_globals er off som standard.
Avatar billede baitianlong Nybegynder
07. februar 2004 - 22:44 #11
Hvilket smukt svar - tak for infoen, detox :o)

erikjacobsen ->> Vil du have en del af kagen ?? Så smid et svar...
Avatar billede erikjacobsen Ekspert
07. februar 2004 - 22:52 #12
nej tak
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