Avatar billede Slettet bruger
18. december 2010 - 21:45 Der er 6 kommentarer og
1 løsning

Ændring af indsættelse i DB

Jeg har brug for hjælp til at ændre addlink.php således at den givne karakter indsættes i DB sammen med linket.

Formularen er:
<form action='addlink.php' method='post' target='_blank'>
  <table width="400" border="0">
    <tr>
      <td>Titel:<br /><input type='text' name='title' value='' id='title'></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Url:<br /><input type='text' name='url' value='http://' id='url'></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Karakter:<br />
        <select name="raing" id="title">
          <option>1</option>
          <option>2</option>
          <option>3</option>
          <option>4</option>
          <option>5 Middel</option>
          <option>6</option>
          <option>7</option>
          <option>8</option>
          <option>9</option>
          <option>10 Bedst</option>
        </select>
      </td>
      <td valign="bottom"><input type='submit' name='submit' value='Tilf&oslash;j' id='submit'></td>
    </tr>
  </table>
</form>


Addlink.php

<?php
require($DOCUMENT_ROOT.'/php/links-boot.php');

if (isset($url) && isset($title)) {
  $sql = ("insert into links(date,title,url,hits,rating) ".
          "values('".date("Y-m-d")."','".addslashes($title)."','$url',0,0)");
  squery($sql);
  header("Location: $url");
  exit;
}
?>

Jeg har prøvet at ændre det sidste 0 til $rating og ($rating) og .$rating uden held..

Hilsen Frank
Avatar billede tjens Nybegynder
18. december 2010 - 22:14 #1
Du har stavefejl i form: select name hedder ikke rating.
Avatar billede Slettet bruger
18. december 2010 - 22:21 #2
Den er rettet.
Men hvad skal der stå i stedet for det sidste 0 i denne linje, for at den gemmer den karakter man vælger?

"values('".date("Y-m-d")."','".addslashes($title)."','$url',0,0)");
18. december 2010 - 22:29 #3
Du giver os ikke store chancer for at bistaa dig.  Du fortaeller ikke hvad der nu sker, om du faar fejlagtig input i DB eller slet intet input o.s.v. 

En ting der slaar mig er at du ikke i Addlink.php synes at definere de variable du bruger, $url og $title.  Jeg ville tro at den foelgende kode ville hjaelpe:

<?
...
$url = $_POST['url'];
$title = $_POST['title'];
$rating = $_POST['raing']; (eller ret stavefejlen som tjens siger.)
if($url && $title)
{
  o.s.v.
}
?>

Saa har din sql query en chance for at finde ud af hvad du mener.

Nu kender jeg ikke squery.  I mysql er der en meget hjaelpsom funktion mysql_error() hvorved sql-systemet selv fortaeller hvad der er galt.  Saaledes: 

mysql_query([queryen])or die(mysql_error());

Hvis der er noget tilsvarende i det system du bruger vil jeg foreslaa at du bruger det.
Avatar billede Slettet bruger
18. december 2010 - 22:55 #4
Jeg fik fejlmeddelelser, hvad der stod husker jeg ikke, men de var specificeret til linje 7, som er

"values('".date("Y-m-d")."','".addslashes($title)."','$url',0,0)");

Jeg må forstår ikke dit svar, dvs. jeg har set linjer med $_POST før, men de er ikke at finde nogen steder i de koder jeg allerede har, og med min manglende erfaring i dette, ville jeg ikke ane hvor de skulle sættes ind, eller hvor meget de skulle erstatte.
Avatar billede tjens Nybegynder
18. december 2010 - 23:20 #5
brug addslashes på samme måde som ved felt $title.

Og søg din kode igennem for at se hvordan $title ellers behandles i hele scriptet. Og kopier derefter dette til dit nye $rating felt.
Avatar billede Slettet bruger
19. december 2010 - 00:30 #6
Det virker sgu !!

Tjens, angiv venligst svar ;)
Avatar billede tjens Nybegynder
19. december 2010 - 10:42 #7
Indlæg 1 er et svar, så jeg kan ikke lave et nyt svar
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

IT-JOB