php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.12.2005, 12:09  
Gast
 
Beiträge: n/a
Standard Problem mit Update

Hi,

wie ich schon geschrieben habe, habe ich ein kleines Problem mit meinem Update.
Mit folgenden Script speichere ich Antworten auf Threads in meinem Forum in meiner DB:

PHP-Code:
<?php
error_reporting
(E_ALL);
include (
"function/function/verbindung.php");

if(isset(
$_POST["forum_id"]) && isset($_POST["thread_id"]))
{
$post $_POST["message"];
$autor_id $_POST["autor_id"];
$thread_id $_POST["thread_id"];
$date time();
$forum_id $_POST["forum_id"];

    
$sql "INSERT INTO posts
                (post, autor_id, thread_id, forum_id, date)
            VALUES
                ('"
.$post."',
                '"
.$autor_id."',
                '"
.$thread_id."',
                '"
.$forum_id."',
                '"
.$date."')";
                
    
mysql_query($sql) OR die(mysql_error());

          
$sql "UPDATE user SET posts = posts + 1 WHERE id ='".$autor_id."'";
            
mysql_query($sql) OR die(mysql_error());

echo 
"<meta http-equiv='refresh' content='0; URL=posts.php?forum_id=".$forum_id."&thread_id=".$thread_id."'>"

}


?>
Naja aber beim dazurechnen eines Posts, rechnet er nicht nur einen post drauf sondern zwei, und ich kann mir nicht erklären warum?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.12.2005, 12:13  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Naja ist doch klar, du fügst eine Zeile hinzu, in der der Wert von $_POST steht und dann machst du nochmal ein Update darauf und addierst 1.

Ist das hier Absicht?
Code:
WHERE id ='".$autor_id."'";
?

Wie in einem anderen Thread von dir, von mir schon erwähnt kannst du eine Weiterleitung auch mit PHP machen.
Zergling-new ist offline  
Alt 28.12.2005, 12:16  
Gast
 
Beiträge: n/a
Standard

Hää?

ich habe posts nur einmal heir stehen:

PHP-Code:
<?php
          $sql 
"UPDATE user SET posts = posts + 1 WHERE id ='".$autor_id."'";
            
mysql_query($sql) OR die(mysql_error());

?>
Und nur dort addiere ich was drauf.
Ich weiß jetzt eigentlich nicht so richtig was du meinst
 
Alt 28.12.2005, 12:18  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Sorry hab nicht auf den Tabellennamen geachtet.
Deine UPDATE ist aber richtig. Der Fehler liegt irgendwo vor uns verborgen in deinem Skript. Zumindest sehe ich ihn nicht auf Anhieb.

Dein Skript übrigens in Kurzform (übersichtlicher):

PHP-Code:
<?php
error_reporting
(E_ALL);
include (
"function/function/verbindung.php");

if(isset(
$_POST["forum_id"], $_POST["thread_id"])) {
  
$sql1 sprintf("INSERT INTO posts (post, autor_id, thread_id, forum_id, date) VALUES ('%s', %u, %u, %u, NOW())",
    
$_POST['message'], $_POST['autor_id'], $_POST['thread_id'], $_POST['forum_id']);
  
mysql_query($sql1) or die(mysql_error());

  
$sql2 sprintf("UPDATE user SET posts = posts + 1 WHERE id = %u LIMIT 1"$_POST['autor_id']);
  
mysql_query($sql2) or die(mysql_error());

  
header(sprintf('Location: posts.php?forum_id=%u&thread_id=%u'$_POST['forum_id'], $_POST['thread_id']));
  exit;
}
?>
Du solltest dich übrigens dringend mit der Validierung von Usereingaben beschäftigen.
Zergling-new ist offline  
Alt 28.12.2005, 12:39  
Gast
 
Beiträge: n/a
Standard

Was ist genau mit Validierung gemeint:

stripshlash()

zum Beispiel ???
 
Alt 28.12.2005, 12:41  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

- http://de3.php.net/manual/en/security.database.php
- http://php-faq.de/q/q-sql-injection.html
xabbuh ist offline  
Alt 28.12.2005, 12:42  
Gast
 
Beiträge: n/a
Standard

was bedeutet in deinem code %s oder %u
 
Alt 28.12.2005, 12:43  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Zitat:
Each conversion specification consists of a percent sign (%), followed by one or more of these elements, in order: [...]
http://www.php.net/sprintf
xabbuh ist offline  
Alt 28.12.2005, 12:45  
Erfahrener Benutzer
 
Registriert seit: 08.05.2005
Beiträge: 814
andy
andy eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von malte
Was ist genau mit Validierung gemeint:
http://www.phpfriend.de/forum/ftopic51545.html

Was da im Edit steht.
__________________
Zitat:
Diese Erweiterung ist EXPERIMENTELL.
[...]
Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..
andy ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Update taucher PHP Tipps 2008 6 01.07.2008 05:50
update sql anweisung - problem Mach!N3 PHP Tipps 2006 6 09.09.2006 18:44
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
db update problem annaloga PHP Tipps 2006 4 11.06.2006 22:25
datenbank update via install.php problem annaloga Datenbanken 6 31.05.2006 10:59
Problem bei Update PHP Tipps 2005-2 10 13.09.2005 15:50
Update Befehl Problem! Datenbanken 9 16.08.2005 18:01
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
[Erledigt] Problem mit User/Group: nobody(99)/99 Server, Hosting und Workstations 3 09.07.2005 15:31
problem mit UPDATE query nautiluS Datenbanken 4 17.03.2005 10:22
[Erledigt] Problem mit UPDATE Datenbanken 3 22.02.2005 17:47
Update Problem beim zurück schreiben... PHP Tipps 2005 3 09.02.2005 12:50
[Erledigt] Hilfe - Problem mit Warenkorb PHP Tipps 2004 1 26.11.2004 11:32
[Erledigt] UPDATE Syntax problem Datenbanken 6 17.08.2004 16:18
mysql !!! Update problem!!! PHP Tipps 2004 2 18.07.2004 20:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
stripshlash

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.