php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Sonstiges > Archiv / Trash
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Archiv / Trash Hier findet ihr alles, was aus anderen Foren verschoben wurde, weil es inhaltlich in keines der anderen Foren passt.

 
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 27-03-2015, 00:03
N4N0
 Registrierter Benutzer
Links : Onlinestatus : N4N0 ist offline
Registriert seit: Feb 2015
Beiträge: 29
N4N0 befindet sich auf einem aufstrebenden Ast
Standard Counter - Kein Update in DB?

Hallo liebe Gemeinde!

Habe folgendes Problem: Ich habe einen Counter, der bei jedem Klick auf den Submit Button, meine DB Tabelle entsprechend updaten soll, das Script allerdings nicht gänzlich tut. Anzumerken sei, dass man darüber hinaus den Zweck angeben muss, weswegen man den Counter klickt (der Sinn in diesem Unterfangen sei mal dahingestellt). Problem: Es wird nur der Zweck und die Zeit geupdatet, nicht aber Counter + 1.

Hier mein Script.

PHP-Code:
        <?php
        
if(!isset($_POST['counter']))
            
$intCount 1;
        else
            
$intCount intval($_POST['counter']) + 1;

        if(isset(
$_GET['id'])) {
        
$id mysql_real_escape_string($_GET['id']);
        
$upSQL 'UPDATE co1 SET offer_counter = \''$int_count .'\', comment = \''mysql_real_escape_string(utf8_decode($_POST['zweck'])) .'\', date_latest = NOW() WHERE kdid = \''$id .'\'';

        if(!
mysql_query($upSQL))
            echo 
'Anfrage fehlgeschlafen. 'mysql_error(); 
        } 
        
?>
        
        <table width="600px" cellspacing="2" cellpadding="2" bgcolor="#E8E9EF">
            <tr>
                <form name="offer" action="" method="post" accept-charset="UTF-8" />
                    <td width="300px" align="LEFT">
                        <input type="text" size="25" name="zweck" placeholder="Bitte Zweck angeben" value="" required>
                        <input type="hidden" name="counter" value="<?=$int_count?>" />
                        <input type="hidden" name="versteckt">
                    </td>
                    <td width="300px" align="RIGHT">
                        <input type="submit" name="plus" value="Angebot erstellen" />
                    </td>
                </form>
            </tr>
        </table>
Mir ist aufgefallen, dass wenn ich manuell über phpmyadmin die Werte besagtes Datensatzes ändere, er im Bereich offer_counter den von mir manuell eingetragenen Wert mit 1 ersetzt, anstelle +1 zu machen.

Bin echt ratlos!
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?

Geändert von N4N0 (27-03-2015 um 01:19 Uhr)
  #2 (permalink)  
Alt 27-03-2015, 11:17
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.783
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Es gibt einen Unterschied zwischen $intCount und $int_count.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
  #3 (permalink)  
Alt 27-03-2015, 13:12
N4N0
 Registrierter Benutzer
Links : Onlinestatus : N4N0 ist offline
Registriert seit: Feb 2015
Beiträge: 29
N4N0 befindet sich auf einem aufstrebenden Ast
Standard

Mein Gott wie banal! Danke dir! Es funktioniert!

Manchmal sieht man den Wald vor lauter Bäumen nicht!

Aber anbei noch zwei Fragen:
1. Warum ist die Zeit, die mit dem Befehl "NOW()" aktualisiert wird, immer eine Stunde von der normalen Zeit versetzt? Beispiel: Wir haben 13:10 Uhr und das System zeigt an, dass die letzte Änderung um 12:10 Uhr erfolgt ist.

2. Wie bekomme ich meine Seite dazu, NACH dem DB Update neuzuladen, um die Ergebnisse direkt anzuzeigen?

Liebe Grüße,
N4N0
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  #4 (permalink)  
Alt 27-03-2015, 14:05
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Dass diesen Counter jeder Benutzer manipulieren kann, indem er einfach das hidden field vor dem Absenden manipuliert, ist dir aber klar …?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
  #5 (permalink)  
Alt 27-03-2015, 14:18
N4N0
 Registrierter Benutzer
Links : Onlinestatus : N4N0 ist offline
Registriert seit: Feb 2015
Beiträge: 29
N4N0 befindet sich auf einem aufstrebenden Ast
Standard

HTML-Code:
<input type="hidden" name="counter" value="<?php ' . mysql_real_escape_string($int_count) . ' ?>">
Besser so?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?

Geändert von N4N0 (27-03-2015 um 14:23 Uhr)
  #6 (permalink)  
Alt 27-03-2015, 18:50
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.789
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Was hat mysql_real_escape_string() in der HTML-Ausgabe verloren?
  #7 (permalink)  
Alt 27-03-2015, 20:47
N4N0
 Registrierter Benutzer
Links : Onlinestatus : N4N0 ist offline
Registriert seit: Feb 2015
Beiträge: 29
N4N0 befindet sich auf einem aufstrebenden Ast
Standard

Da mir in den Raum geworfene Sätze nicht wirklich weiterhelfen und das nicht Gegenstand meiner Frage ist: Keiner einen Tipp zur Ausgangsfrage?


Liebe Grüße,
N4N0
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  #8 (permalink)  
Alt 27-03-2015, 20:54
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Na vielleicht checkst du erst mal, ob dein hidden field überhaupt den Wert hat, den du annimmst …?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
  #9 (permalink)  
Alt 27-03-2015, 22:44
N4N0
 Registrierter Benutzer
Links : Onlinestatus : N4N0 ist offline
Registriert seit: Feb 2015
Beiträge: 29
N4N0 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von wahsaga Beitrag anzeigen
Na vielleicht checkst du erst mal, ob dein hidden field überhaupt den Wert hat, den du annimmst …?
Und inwiefern hat das jetzt mit Frage 1, bzw. 2 zu tun?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  #10 (permalink)  
Alt 27-03-2015, 23:38
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.789
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von N4N0 Beitrag anzeigen
1. Warum ist die Zeit, die mit dem Befehl "NOW()" aktualisiert wird, immer eine Stunde von der normalen Zeit versetzt? Beispiel: Wir haben 13:10 Uhr und das System zeigt an, dass die letzte Änderung um 12:10 Uhr erfolgt ist.
Wahrscheinlich läuft dein Datenbankserver in einer anderen Zeitzone.

Zitat:
Zitat von N4N0 Beitrag anzeigen
2. Wie bekomme ich meine Seite dazu, NACH dem DB Update neuzuladen, um die Ergebnisse direkt anzuzeigen?
Indem du das EVA-Prinzip einhältst und nicht Verarbeitung mit Ausgabe vermischst. Zum Beispiel Datenbankabfragen haben inmitten der HTML-Ausgabe nichts verloren.

Außerdem solltest du generell deinen Code überarbeiten. Der HTML-Code hat sehr viele Fehler. Bitte mal die HTML-Grundlagen aneignen, bevor man sich an PHP heranwagt.

Und die mysql_* Funktionen sind veraltet und sollten nicht mehr verwendet werden. Verwende stattdessen mysqli oder PDO.

utf8_decode() ist Quatsch. Sorge einfach dafür, dass du überall die richtige Kodierung verwendest.
  #11 (permalink)  
Alt 28-03-2015, 00:54
N4N0
 Registrierter Benutzer
Links : Onlinestatus : N4N0 ist offline
Registriert seit: Feb 2015
Beiträge: 29
N4N0 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Indem du das EVA-Prinzip einhältst und nicht Verarbeitung mit Ausgabe vermischst. Zum Beispiel Datenbankabfragen haben inmitten der HTML-Ausgabe nichts verloren.

Außerdem solltest du generell deinen Code überarbeiten. Der HTML-Code hat sehr viele Fehler. Bitte mal die HTML-Grundlagen aneignen, bevor man sich an PHP heranwagt.
Versteh ich nicht, denn so wurde mir die Aufmachung von einem "Experten" dargeboten. Wo hat mein HTML Code denn "sehr viele Fehler"? Und was meinst du mit "Datenbankabfragen inmitten der HTML Ausgabe"? Wie soll das Problem sonst zu lösen sein, wenn man im Netz nichts findet und mir die Lösung als solches präsentiert wurde?

Hast du einen Denkanstoß wie das mit dem Counter sonst realisierbar ist?

Liebe Grüße,
N4N0
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  #12 (permalink)  
Alt 28-03-2015, 01:24
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von N4N0 Beitrag anzeigen
Wo hat mein HTML Code denn "sehr viele Fehler"?
Zum Beispiel die ungültige Verschachtelung – tr darf kein form als Kindelement enthalten. Entweder muss das Formular um die gesamte Tabelle gelegt werden, oder innerhalb einer einzigen Tabellenzelle sein.

Zitat:
Und was meinst du mit "Datenbankabfragen inmitten der HTML Ausgabe"?
EVA-Prinzip wurde schon genannt.

In einem sauberen Script verarbeitet man erst alle Eingabewerte und besorgt sich die nötigen Ausgabedaten, bevor man mit der Ausgabe anfängt.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
  #13 (permalink)  
Alt 28-03-2015, 07:40
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.789
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von N4N0 Beitrag anzeigen
Wo hat mein HTML Code denn "sehr viele Fehler"?
<form> in <tr> nicht erlaubt.

"px" im width-Attribut ist Quatsch.

Tabellen sollten nicht fürs Layout missbraucht werden.

Formatierungen (Breiten, Abstände, Farben, usw.) gehören in eine CSS-Datei und nicht in HTML-Attribute.
  #14 (permalink)  
Alt 29-03-2015, 13:03
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von N4N0 Beitrag anzeigen
Versteh ich nicht, denn so wurde mir die Aufmachung von einem "Experten" dargeboten.
Hättst du mal lieber einen Fachmann oder Spezialisten befragt ...

Zitat:
Hast du einen Denkanstoß wie das mit dem Counter sonst realisierbar ist?
Die Variable einfach nicht zum Browser des Endusers durchreichen. Es reicht doch, wenn du direkt im PHP-Script auf dem Server die Variable um eins hochzählst, wenn die Formulareingaben erfolgreich überprüft wurden.

Zitat:
Da mir in den Raum geworfene Sätze nicht wirklich weiterhelfen ...
Wann immer du Benutzereingaben in HTML einbettest, benutze htmlspecialchars(). Mysql_real_escape_string() ist fürs Einbauen von Benutzereingaben in SQL-Queries gedacht.
  #15 (permalink)  
Alt 30-03-2015, 02:16
N4N0
 Registrierter Benutzer
Links : Onlinestatus : N4N0 ist offline
Registriert seit: Feb 2015
Beiträge: 29
N4N0 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fireweasel Beitrag anzeigen
Hättst du mal lieber einen Fachmann oder Spezialisten befragt ...



Die Variable einfach nicht zum Browser des Endusers durchreichen. Es reicht doch, wenn du direkt im PHP-Script auf dem Server die Variable um eins hochzählst, wenn die Formulareingaben erfolgreich überprüft wurden.


Wann immer du Benutzereingaben in HTML einbettest, benutze htmlspecialchars(). Mysql_real_escape_string() ist fürs Einbauen von Benutzereingaben in SQL-Queries gedacht.

Danke für die Hilfe! Hab jetzt mal einen anderen Counter getestet, der von Fehlermeldungen nur so übergesprudelt hat. Hab alle bis auf einen ausmerzen können. Den letzten finde ich aber ums Verrecken nicht.

Laut Debugging, kommt er mir mit "Cannot process SQL count totals query". Die Fehlermeldung in Zeile 29. Aber selbst eine oder mehrere Zeilen vorher lassen mich weiterhin ratlos dastehen. Vielleicht liegt's auch an der Uhrzeit ..

PHP-Code:
<?php
$link 
mysqli_connect('''''') or die('Cannot connect to database server');
mysql_select_db('') or die('Cannot select database');
// if this is a postback ...
if(isset($_POST['color_name'])) {
// create array of acceptable values
$ok = array('red''green''blue''black');
// if we have an acceptable value for color_name ...
if(in_array($_POST['color_name'], $ok)) {
// update the counter for that color
$q mysql_query("UPDATE colorcounter SET color_count = color_count + 1 WHERE color_name = '" $_POST['color_name'] . "'") or die ("Error updating count for " $_POST['color_name']);
}
}
// get current color click counts
$rs mysql_query("SELECT color_count, color_name FROM colorcounter") or die('Cannot process SQL count totals query');
if(
mysql_num_rows($rs) > 0) {
while(
$row mysql_fetch_array($rs)) {
$count[$row['color_name']] = $row['color_count'];
}
}
?>
Jemand ne Idee?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
 

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wieso gibt es kein Zwischending aus UPDATE und INSERT? Truncate SQL / Datenbanken 4 25-05-2006 13:58
geht kein UPDATE ?! Luzifer45 PHP Developer Forum 12 23-05-2005 09:30
datetime leer- Bitte kein update mit 0000-00-00 00:00:00 deathwarrant SQL / Datenbanken 3 12-04-2005 21:29
SELECT.. FOR UPDATE - Wie abbrechen wenn kein Update nötig ?? smoop SQL / Datenbanken 5 09-04-2005 19:46
kein einloggen mehr nach PHP-Update flyingMiATA Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 2 18-11-2004 23:40

Themen-Optionen
Thema bewerten
Thema bewerten:

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

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


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

29.04.2021 mirko_swm | Kategorie: PHP/ Mail
OXID eShop

Mit OXID eshop bieten wir Ihnen eine modulare und skalierbare Internet Shopping Software mit einem hervorragenden Preis-/Leistungsverhältnis.

29.04.2021 eric.jankowfsky@ | Kategorie: PHP/ Shops
PHP-Login

Die Aufgabenstellung bestand darin, ein einfaches Login-Script zu erstellen, dass schnell und universell auf jeder Webseiten eingebaut werden kann. Der Schwerpunkt lag dabei auf der Entwicklung eines universell einsetzbarem Modul für den Login und zur

05.04.2021 Wallhalla | Kategorie: PHP/ Kundenverwaltung
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:50 Uhr.