tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
24
ZUGRIFFE
1108
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Delta-787 Delta-787 ist offline Mitglied Silber
    Registriert seit
    May 2006
    Beiträge
    51
    Hi Leute,

    ich bin schon wieder am verzweifeln. Wahrscheinlich seh ich den Wald vor lauter Bäumen nicht.

    Aber ich hab folgendes:

    Ich bau gerade an einem Bingo Lotteriespiel für mein Forum.
    http://delta787.dyndns.org/tip/tip.php

    Soweit funktioniert alles, nur jetzt will ich ein Script schreiben, wenn ich Zahlen ziehe, die in ein Textfeld eingebe, soll die Datenbank durchsucht werden nach einer dieser Zahlen. Wenn eine oder mehrere gefunden wurden, sollen die durch ein * ersetzt werden.

    Wahrscheinlich Kinderleicht, aber wie gesagt ich komm grade nich drauf.

    Herzlichen Dank im Vorraus
     

  2. #2
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    z.B.:
    Code :
    1
    
    UPDATE tabelle SET feld = '*' WHERE feld IN ('3', '5', '7')

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  3. #3
    Avatar von CookieBuster
    CookieBuster CookieBuster ist offline <?= "Hello World" ?>
    Registriert seit
    Sep 2008
    Ort
    Münsingen (BW)
    Beiträge
    420
    Blog-Einträge
    4
    e:/ ok, dann hab ich es doch falsch verstanden. Post einfach ignorieren =)
     
    There are only 10 types of people in the world — those who understand binary, and those who don't.

    Mach mal einer das Licht an, ich hör nix!

    Why is 6 afraid of 7? Because 7 8 9.

  4. #4
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Zitat Zitat von CookieBuster Beitrag anzeigen
    e:/ ok, dann hab ich es doch falsch verstanden. Post einfach ignorieren =)
    Ich habe zwar nicht gesehen, was Du geschrieben hattest, aber mag sein, dass ich ihn auch falsch verstehe, er hat nämlich einfach zu wenig Information in seinen Post gepackt.

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  5. #5
    Avatar von CookieBuster
    CookieBuster CookieBuster ist offline <?= "Hello World" ?>
    Registriert seit
    Sep 2008
    Ort
    Münsingen (BW)
    Beiträge
    420
    Blog-Einträge
    4
    Ich bin davon ausgegangen, dass er es außerhalb der Datenbank ersetzten möchte, bei der ausgabe oder so.

    Also hab ich str_replace vorgeschlagen
     
    There are only 10 types of people in the world — those who understand binary, and those who don't.

    Mach mal einer das Licht an, ich hör nix!

    Why is 6 afraid of 7? Because 7 8 9.

  6. #6
    Delta-787 Delta-787 ist offline Mitglied Silber
    Registriert seit
    May 2006
    Beiträge
    51
    ja nur woher weiß er jetzt welche genau er ersetzen muss ich muss ja irgendwie die übergeben zahl da eingeben.

    warte ich schick euch ma nen paar quellcodes damit ihr ne vorstellung habt wie meine Datenbank aussieht:

    PHP-Code:
    <?
    include ("db.php");
    $abfrage "SELECT * FROM zahlen WHERE z1,z2,z3,z4,z5,z6,z7,z8,z9,z10 = '".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"]."";
    $ergebnis mysql_query($abfrage);
    $ergebnis1 mysql_num_rows($ergebnis);
    if (
    $ergebnis1) > 0)
    {
             
    $eingabe "UPDATE zahlen SET
    }
    also meine tabelle "zahlen" besteht aus folgenden spalten:
    name, z1 ,z2 ,z3 usw. bis z10
    und er soll z1 - z10 durchsuchen und wenn ein treffer dabei ist durch ein * ersetzen

    hoffe mein code is bis hierhin noch richtig

    Vielen Dank für die mühe
     

  7. #7
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Zitat Zitat von Delta-787 Beitrag anzeigen
    hoffe mein code is bis hierhin noch richtig
    nö, das Select-Statement schlägt doch schon fehl, weil es syntaktisch falsch ist. Lies mal im Manual, wie Select-Statements aufgebaut sein können. Vielleicht schaust Du Dir die Update-Syntax auch gleich an.

    Warum hast Du in diesem falschen Select-Statement denn 10 mal die gleiche Postvariable verwendet? Nach welcher Logik die Zahlen ersetzt werden sollen, ist mir immer noch nicht klar.

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  8. #8
    Delta-787 Delta-787 ist offline Mitglied Silber
    Registriert seit
    May 2006
    Beiträge
    51
    Ohjee... naja bin in sachen php und mysql noch nich ganz so fit (wie man merkt), aber ich muss doch jede einzelne Spalte auslesen oder nicht?

    also meine Eintragung und das Abrufen funktionieren wie man auf der seite ja sieht da sieht das Eingeben in die Datenbank so aus:

    PHP-Code:
    <?PHP
    include ("db.php");

    $abfrage "SELECT name FROM zahlen WHERE name = '".$_POST["name"]."'";
    $ergebnis mysql_query($abfrage);
    if (
    mysql_num_rows($ergebnis) > 0)
    {
             echo 
    "<font size=`7`><br><br>Du hast schon ein Tipp abgegeben</font>";
    }
    else
    {
             
    mysql_query("INSERT INTO zahlen(name,z1,z2,z3,z4,z5,z6,z7,z8,z9,z10)VALUES('$_POST[name]','$_POST[z1]','$_POST[z2]','$_POST[z3]','$_POST[z4]','$_POST[z5]','$_POST[z6]','$_POST[z7]','$_POST[z8]','$_POST[z9]','$_POST[z10]')");
             echo 
    "<font size=`7`><br><br>Du hast erfolgreich dein Tipp abgegeben</font>";
    }
    ?>

    Also wie schon gesagt jede Zahl hat seine eigen Spalte die von z1-z10 gehen.
    Und da muss ich doch jede Spalte auslesen und mit der $_POST'gzahl' überprüfen ob eine dabei ist und dann eine if schreiben womit er übereinstimmende Zahlen ersetzt mit diesem * also, dass man auf der ersten Seite nicht mehr die zahl sondern das * sieht für gezogen.

    Ich hoffe, dass das jetzt verständlicher war. Bin nich so ein guter Erklärer.

    Hoffe ihr könnt mir zeigen wie das denn dann auszusehen hat das abfragen und ersetzen.

    Vielen Dank
     

  9. #9
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Zitat Zitat von Delta-787 Beitrag anzeigen
    Also wie schon gesagt jede Zahl hat seine eigen Spalte die von z1-z10 gehen.
    Und da muss ich doch jede Spalte auslesen und mit der $_POST'gzahl' überprüfen ob eine dabei ist
    Die Syntax ist sowieso falsch und außerdem brauchst Du kein Select dafür, da man auch in einem Update-Statement eine WHERE-Klausel verwenden kann.
    Du bräuchtest 10 Update-Statements (für jede Spalte eins), ungefähr so, wie in meiner ersten Antwort.
    Lies Dir wie gesagt mal die Manualseiten durch.

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  10. #10
    Delta-787 Delta-787 ist offline Mitglied Silber
    Registriert seit
    May 2006
    Beiträge
    51
    Schuldigung wenn ich schon wieder nerve, aber so oder ähnlich müsste der Code dann ja aussehen oder?

    PHP-Code:
    $update1 "UPDATE zahlen SET z1 = '*' WHERE z1 = '$_POST[gzahl]'"
    funktioniert aber noch nicht wo sitzt jetzt der fehler?

    glaub ich bin heute zu doof dafür
     

  11. #11
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    lass Dir $update1 mal ausgeben. mysql_error() könnte außerdem helfen.
    Und Du solltest Dich mal über Sicherheit informieren. Daten vom Benutzer müssen immer geprüft werden (hier: Stichwort SQL-Injection).

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  12. #12
    Delta-787 Delta-787 ist offline Mitglied Silber
    Registriert seit
    May 2006
    Beiträge
    51
    hab den fehler... jetzt gehts... wie meinst du das mit sicherheit? benutzer geben ja keine daten an also PW und so is ja nichts oder was meinst du?
     

  13. #13
    Avatar von CookieBuster
    CookieBuster CookieBuster ist offline <?= "Hello World" ?>
    Registriert seit
    Sep 2008
    Ort
    Münsingen (BW)
    Beiträge
    420
    Blog-Einträge
    4
    er meint dass POST-Daten niemals direkt in die DB geschrieben werden sollten. Das ist eine sehr große Sicherheitslücke!

    Mach dich mal über Google oder so schlau
     
    There are only 10 types of people in the world — those who understand binary, and those who don't.

    Mach mal einer das Licht an, ich hör nix!

    Why is 6 afraid of 7? Because 7 8 9.

  14. #14
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Zitat Zitat von CookieBuster Beitrag anzeigen
    er meint dass POST-Daten niemals direkt in die DB geschrieben werden sollten. Das ist eine sehr große Sicherheitslücke!
    Mach dich mal über Google oder so schlau
    genau. Ich poste Stichwörter ja nicht, weil sich das so toll schlau anhört...

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  15. #15
    Delta-787 Delta-787 ist offline Mitglied Silber
    Registriert seit
    May 2006
    Beiträge
    51
    habs mir durchgelesen und eingefügt aber jetzt funktioniert die übergabe nicht mehr
    mit get (will ich nicht) geht es aber mit post geht es nicht

    hier mal das formular:

    HTML-Code:
    <form methode="post" action="ziehung1.php">
             <input type="text" name="gzahl">
             <input type="submit" name="button"  value="Zahl eintragen">
    </form>
    </body>
    </html>
    und hier die php datei dazu:

    PHP-Code:
    $update1 "UPDATE `bingo`.`zahlen` SET `z1` = '*' WHERE `zahlen`.`z1` = '".mysql_real_escape_string($_POST['gzahl'])."'"
     

Ähnliche Themen

  1. Abfrage wenn vorhanden dann
    Von wobeni im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 03.09.08, 21:09
  2. Antworten: 3
    Letzter Beitrag: 27.01.08, 10:45
  3. Datenbank Abfrage: Wenn Status 1 dann...
    Von absyrtos im Forum PHP
    Antworten: 2
    Letzter Beitrag: 26.09.06, 20:15
  4. Anfänger SQL-Abfrage (wenn dann)
    Von fritz74 im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 03.10.05, 22:46
  5. MySql - Wenn falsche Datumsangabe, dann Meldung...
    Von Newcomer1 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 26.07.05, 15:55