PHP skript na hlasování

Pokec o čemkoliv ostatním
Message
Autor
Uživatelský avatar
Mysteria
Příspěvky: 9122
Registrován: 26 pro 2009, 15:40
Reputation: 7
Bydliště: Česká republika
Kontaktovat uživatele:

Re: PHP a SQL

#31 Příspěvekod Mysteria » 23 zář 2012, 17:07

V uvozovkách musí být jenom textové hodnoty, u čísel to být nemusí, ale můžeš to zkusit takhle no:

Kód: Vybrat vše

mysql_query("UPDATE czechcraft SET hlas=\"$hlasu\" WHERE nick=\"$nick\"";); 

Uživatelský avatar
zdenda204
Příspěvky: 3617
Věk: 35
Registrován: 23 kvě 2012, 21:38
Reputation: 0

Re: PHP a SQL

#32 Příspěvekod zdenda204 » 23 zář 2012, 17:49

Mysty proč máš to zakončovací znamínko na konci řádku a před zavírací závorkou? :lol:
Pak mi to nechce fungovat ://
I po tom kódu od Mystyho to stále nic nedělá když je tam ten nick už je zapsán.
Aktuální kód:
Spoiler: zobrazit

Kód: Vybrat vše

<?php
$con = mysql_connect("honey.fakaheda.eu","gs_37083_1","********");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("gs_37083_1", $con);
if(isset($_POST[submit])) {
   $nick=$_POST['nick'];
   $jevdb=mysql_query("SELECT nick FROM czechcraft WHERE nick='$nick'");
   if(mysql_num_rows($jevdb)==0){
      mysql_query("INSERT INTO czechcraft (id,nick,hlas) VALUES ('','$nick','1')");
   }
   else{
      $hlasu=mysql_query("SELECT hlas FROM czechcraft WHERE nick=$nick");
      $hlasu = $hlasu + 1;
      mysql_query("UPDATE czechcraft SET hlas=\"$hlasu\" WHERE nick=\"$nick\"");
   }
}
mysql_close($con)
?>
Naposledy upravil(a) zdenda204 dne 23 zář 2012, 18:21, celkem upraveno 1 x.
Přijímám zakázky na skripty/pluginy v PHP/Javě za malý poplatky! A kup mi sušenku :) Obrázek Obrázek
⇨Projekt Market⇦

vojtamaniak
Příspěvky: 3512
Věk: 25
Registrován: 18 úno 2012, 21:02
Reputation: 11

Re: PHP a SQL

#33 Příspěvekod vojtamaniak » 23 zář 2012, 18:04

Pěkný heslo... Radši si ho změň...

Uživatelský avatar
zdenda204
Příspěvky: 3617
Věk: 35
Registrován: 23 kvě 2012, 21:38
Reputation: 0

Re: PHP a SQL

#34 Příspěvekod zdenda204 » 23 zář 2012, 19:42

Tak já už nevím....
Ať to zkouším jak chci tak to buď nastaví na 0 a nebo to neudělá nic ://
Takže Vás žádám o radu jak to zprovoznit.
Přijímám zakázky na skripty/pluginy v PHP/Javě za malý poplatky! A kup mi sušenku :) Obrázek Obrázek
⇨Projekt Market⇦

Uživatelský avatar
Sejsel
Příspěvky: 4131
Registrován: 19 čer 2011, 09:43
Reputation: 0
Bydliště: /home/sejsel/
Kontaktovat uživatele:

Re: PHP a SQL

#35 Příspěvekod Sejsel » 23 zář 2012, 19:50

Zkus to takhle:

Kód: Vybrat vše

mysql_query("UPDATE czechcraft SET hlas=\"".$hlasu."\" WHERE nick=\"".$nick."\";");  
01101110011101010110001001110111

Uživatelský avatar
zdenda204
Příspěvky: 3617
Věk: 35
Registrován: 23 kvě 2012, 21:38
Reputation: 0

Re: PHP a SQL

#36 Příspěvekod zdenda204 » 23 zář 2012, 20:01

Teďka to třeba "hlas" z 654 nastaví na 1 a dál už to pak nic nemění ://
Skript:
Spoiler: zobrazit

Kód: Vybrat vše

<?php
header("Content-Type: text/html; charset=windows-1250");
?>
<br></br><br>
<html xmlns="http://www.w3.org/1999/xhtml" lang="cs">
   <head>
      <meta name="author" content="zdenda204" />
      <title>CzCrafter - Soutěž</title>
   </head>
   <body>
   <center><img src="http://www.cz-crafter.mzf.cz/wp-content/uploads/2012/07/logo-CzCrafter.png" align="center"><br><h2><font color="red" face="Arial">Hlasování</h2></center></font>
<style>
 body {
 background-image: URL('pozadi.jpg');
 background-attachment: fixed;
 color: white; } /* bílý text */
 </style>
 <center><br></br>
 <font color="white" face="Arial">
      <form method="post">
         <label for="nick"><b>Nick ve hře:</b></label>
         <input type="text" name="nick">
         <input type="submit" name="submit">
      </form></font>
      <br></br>
        <h3><font color="red" face="Arial">Postup</h3><font color="white">
      <li><b>1.</b>Do kolonky napiš svoji přezdívku ve hře.</li>
      <li><b>2.</b>Klikni na <b>Odeslat</b>.</li>
      <li><b>3.</b>Vyplň kód a odešli.</li>
      <li><b>4.</b>Hlasuj každé dvě hodiny a dostaneš krásné odměny!</li>
   <endora>
   </body>

   <br></br><br></br>
<b><font color="red">© 2012 Cz-Crafter</b><i> (Pro server Cz-Crafter sepsal zdenda204 a designoval Ollie987)</i></font>
</center>
</html>

<?php
$con = mysql_connect("honey.fakaheda.eu","gs_37083_1","*****");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("gs_37083_1", $con);
if(isset($_POST[submit])) {
   $nick=$_POST['nick'];
   $jevdb=mysql_query("SELECT nick FROM czechcraft WHERE nick='$nick'");
   if(mysql_num_rows($jevdb)==0){
      mysql_query("INSERT INTO czechcraft (id,nick,hlas) VALUES ('','$nick','1')");
   }
   else{
      $hlasu=mysql_query("SELECT hlas FROM czechcraft WHERE nick=$nick");
      $hlasu = $hlasu + 1;
      mysql_query("UPDATE czechcraft SET hlas=\"".$hlasu."\" WHERE nick=\"".$nick."\";");
   }
}
mysql_close($con)
?>

<?php
//   $nick = $_POST[nick];
//   if(isset($_POST[submit])) {
//      header("HTTP/1.1 301 Moved Permanently");
//      header("Location: http://www.czech-craft.eu/vote.php?id=1539&user=$nick");
//      header("Connection: close");
//   }
?>
Přijímám zakázky na skripty/pluginy v PHP/Javě za malý poplatky! A kup mi sušenku :) Obrázek Obrázek
⇨Projekt Market⇦

Uživatelský avatar
Mysteria
Příspěvky: 9122
Registrován: 26 pro 2009, 15:40
Reputation: 7
Bydliště: Česká republika
Kontaktovat uživatele:

Re: PHP a SQL

#37 Příspěvekod Mysteria » 23 zář 2012, 21:13

Aha, tak už je jasný, proč ti to nejde. Já hledal chybu v UPDATU, ale ty máš totiž chybu úplně někde jinde.
To jak máš tohle

Kód: Vybrat vše

 $hlasu=mysql_query("SELECT hlas FROM czechcraft WHERE nick=$nick"); 
ti vrátí pole výsledků i když jakoby to bude vždy jenom 1 číslo.
Takže musíš to normálně rozsekat

Kód: Vybrat vše

While($radek MySQL_Fetch_Array($hlasu))
{
$pocetHlasu $radek["hlas"];
Pak budeš mít v $pocetHlasu opravdu nějaké číslo a bude ti fungovat i ten update.

Uživatelský avatar
zdenda204
Příspěvky: 3617
Věk: 35
Registrován: 23 kvě 2012, 21:38
Reputation: 0

Re: PHP a SQL

#38 Příspěvekod zdenda204 » 23 zář 2012, 21:59

Super, ale ten while je špatně.
Při odeslání to vypsalo

Kód: Vybrat vše

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /home/users/cz-crafter/cz-crafter.mzf.cz/web/czechcraft/soutez1.php on line 54


Skript:
Spoiler: zobrazit

Kód: Vybrat vše

<?php
$con = mysql_connect("honey.fakaheda.eu","gs_37083_1","**********");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("gs_37083_1", $con);
if(isset($_POST[submit])) {
   $nick=$_POST['nick'];
   $jevdb=mysql_query("SELECT nick FROM czechcraft WHERE nick='$nick'");
   if(mysql_num_rows($jevdb)==0){
      mysql_query("INSERT INTO czechcraft (id,nick,hlas) VALUES ('','$nick','1')");
   }
   else{
      While($radek = MySQL_Fetch_Array($hlasu))
         {
         $pocetHlasu = $radek["hlas"];
         }
      $pocethlasu = $pocethlasu + 1;
      mysql_query("UPDATE czechcraft SET hlas=\"".$pocethlasu."\" WHERE nick=\"".$nick."\";");
   }
}
mysql_close($con)
?>
Přijímám zakázky na skripty/pluginy v PHP/Javě za malý poplatky! A kup mi sušenku :) Obrázek Obrázek
⇨Projekt Market⇦

Uživatelský avatar
Mysteria
Příspěvky: 9122
Registrován: 26 pro 2009, 15:40
Reputation: 7
Bydliště: Česká republika
Kontaktovat uživatele:

Re: PHP a SQL

#39 Příspěvekod Mysteria » 23 zář 2012, 22:58

Tenhle warning znamená, že není co rozdělit, tzn. že výsledek toho dotazu je NULL (nic to nevrátilo).

EDIT: Ano ještě aby ti to šlo, ten řádek s tím SELECTem tam musí zůstat, to co jsem ti psal tam jsi měl jenom přidat pod to.
Takže pěkne nad ten While zase dej tohle:

Kód: Vybrat vše

 $hlasu=mysql_query("SELECT hlas FROM czechcraft WHERE nick=$nick");  

Uživatelský avatar
zdenda204
Příspěvky: 3617
Věk: 35
Registrován: 23 kvě 2012, 21:38
Reputation: 0

Re: PHP a SQL

#40 Příspěvekod zdenda204 » 24 zář 2012, 13:41

Tak jsem to opravil, ale zase to hází chybu.
Sice jinou, ale hází. Stále se to motá kolem toho while....

Kód: Vybrat vše

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/users/cz-crafter/cz-crafter.mzf.cz/web/czechcraft/soutez1.php on line 55

Skript:
Spoiler: zobrazit

Kód: Vybrat vše

<?php
header("Content-Type: text/html; charset=windows-1250");
?>
<br></br><br>
<html xmlns="http://www.w3.org/1999/xhtml" lang="cs">
   <head>
      <meta name="author" content="zdenda204" />
      <title>CzCrafter - Soutěž</title>
   </head>
   <body>
   <center><img src="http://www.cz-crafter.mzf.cz/wp-content/uploads/2012/07/logo-CzCrafter.png" align="center"><br><h2><font color="red" face="Arial">Hlasování</h2></center></font>
<style>
 body {
 background-image: URL('pozadi.jpg');
 background-attachment: fixed;
 color: white; } /* bílý text */
 </style>
 <center><br></br>
 <font color="white" face="Arial">
      <form method="post">
         <label for="nick"><b>Nick ve hře:</b></label>
         <input type="text" name="nick">
         <input type="submit" name="submit">
      </form></font>
      <br></br>
        <h3><font color="red" face="Arial">Postup</h3><font color="white">
      <li><b>1.</b>Do kolonky napiš svoji přezdívku ve hře.</li>
      <li><b>2.</b>Klikni na <b>Odeslat</b>.</li>
      <li><b>3.</b>Vyplň kód a odešli.</li>
      <li><b>4.</b>Hlasuj každé dvě hodiny a dostaneš krásné odměny!</li>
   <endora>
   </body>

   <br></br><br></br>
<b><font color="red">© 2012 Cz-Crafter</b><i> (Pro server Cz-Crafter sepsal zdenda204 a designoval Ollie987)</i></font>
</center>
</html>

<?php
$con = mysql_connect("honey.fakaheda.eu","gs_37083_1","*****");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("gs_37083_1", $con);
if(isset($_POST[submit])) {
   $nick=$_POST['nick'];
   $jevdb=mysql_query("SELECT nick FROM czechcraft WHERE nick='$nick'");
   if(mysql_num_rows($jevdb)==0){
    mysql_query("INSERT INTO czechcraft (id,nick,hlas) VALUES ('','$nick','1')");
   }
   else{
        $hlasu=mysql_query("SELECT hlas FROM czechcraft WHERE nick=$nick");
   While($radek = MySQL_Fetch_Array($hlasu));
      {
      $pocetHlasu = $radek["hlas"];
      } 
      $hlasu = $hlasu + 1;
      mysql_query("UPDATE czechcraft SET hlas=\"$hlasu\" WHERE nick=\"$nick\"");
   }
}
mysql_close($con)
?>

<?php
//   $nick = $_POST[nick];
//   if(isset($_POST[submit])) {
//      header("HTTP/1.1 301 Moved Permanently");
//      header("Location: http://www.czech-craft.eu/vote.php?id=1539&user=$nick");
//      header("Connection: close");
//   }
?>
Přijímám zakázky na skripty/pluginy v PHP/Javě za malý poplatky! A kup mi sušenku :) Obrázek Obrázek
⇨Projekt Market⇦


Zpět na „Off topic“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 15 hostů