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.721
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.576
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.576
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.576
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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