Avatar billede frededirts92 Nybegynder
26. oktober 2013 - 12:39 Der er 5 kommentarer

PHP update problem

Først og fremmest skal det sige jeg ikke er nogen PHP haj, men har siddet og arbejdet med et mindre script de seneste par dage

planen er der skal være en side når der bliver tilføjet en video hvor man acceptere eller afviser videon. hvis man acceptere smider den accepted ind i rækken validation og afvis smider den decline ind.

Mit script gider bare ikke update rækken, håber der nogle der har lyst til at kigge på det.

<?
include("connect.php");

$validation = $_POST["validation"];

if(!empty($validation)){

    mysql_query("UPDATE youtube SET validation='$validation' where id ='$id' ");
    echo "video has been edited";

} else {

$data = mysql_query("select * from youtube where validation='decline' ");



while ($row = mysql_fetch_array($data)) {

echo "<b>$row[name]</b>";
echo "<br>";

echo "<a href='$row[link]' target='_blank'><img src='http://img.youtube.com/vi/$id/default.jpg' alt='$row[name]'></a>";
echo "<br>";

echo "<b>$row[title]</b>";
echo "<br>";

echo nl2br($row[description]);
echo "<br>";
?>

<form action="<? echo $PHP_SELF; ?>" method="POST">
<select name="validation">
  <option value="declined">Decline</option>
  <option value="accepted">Accept</option>
</select>
<input type="submit" value="Submit">

<?



}


}

?>
Avatar billede kjeldsted Novice
26. oktober 2013 - 15:58 #1
Hvorfra kommer $id?

Får du nogen fejl, eller rettere hvad får du af fejl?

Og sidst men ikke mindst. Den kode dér, den skriger på at blive hacket. Du burde nok sikre den lidt bedre. Og kraftigt overveje at benytte MySQLi i stedet for MySQL APIen, der alligevel udgår inden længe.
Avatar billede frededirts92 Nybegynder
26. oktober 2013 - 17:37 #2
hov ja §id stammer her fra

$url = "$row[link]";

$query_string = array();

parse_str(parse_url($url, PHP_URL_QUERY), $query_string);

$id = $query_string["v"];

Havde glemt at smide den ind.


Ja kan godt se hvad du mener, men som sagt er jeg nybegynder og prøver først og fremmest at få det her til at fungere.


jeg får bare "video has been edited" og så tjekker jeg min mysql tabel og der er ikke rettet noget.
Avatar billede kjeldsted Novice
26. oktober 2013 - 18:51 #3
Du kan bare risikere at dit webhotel en dag opdatere til en PHP version (den næst kommende), hvor de simpelthen fjerne MySQL APIen.

Nå, men du skal da i hvert fald have rettet $url = "$row[link]"; til $url = $row["link"];
Hvis ikke der sker noget af det, så prøve at fejlfinde på SQL'en. Fx med
or die("Der er sket en fejl".mysql_error());
Avatar billede cas000q1 Nybegynder
02. november 2013 - 10:54 #4
$data = mysql_query("select * from youtube where validation='decline' ");
=
$data = mysql_query("select * from youtube where validation=decline");
Avatar billede cas000q1 Nybegynder
02. november 2013 - 10:55 #5
ups, mig der lige failede.
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