kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: mysql select count()

    geschrieben von webguide

    hm,, ich habs mit den einfachen
    '
    gemacht, und es hat funktioniert, mit Ergebnis
    aber ok, dann halt ohne Anführungszeichen, einfach
    COUNT(ID)


    ich habe beides mal auf Script-Laufzeit getestet ... so gut wie kein Unterschied,
    beide Varianten brauchen zwischen 0.0010 und 0.0020 Sekunden, quasi nichts.

    allerdings habe ich auch "nur" ca. 2500 Zeilen in der Tabelle
    .... also es wird wohl egal sein, ob COUNT(ID) oder COUNT(*)

    zum Performance testen:
    wie ich (RAM) Speicher-Verbrauch messen kann, weiss ich nicht,
    mit memory_get_peak_usage() oder Differenz von memory_get_usage() von Anfang und Ende ?

    memory_get_peak_usage() ist am Anfang und am Ende gleich
    und ein deutlich höherer Wert als memory_get_usage() am Ende?!

    oder ganz anders ? ... und kann man auch CPU-Nutzung per PHP messen ?
  • in: mysql select count()

    geschrieben von webguide

    Hallo

    macht es einen (Performance) Unterschied,
    ob ich COUNT auf (*) Alles oder auf eine bestimmtes Feld ('ID') anwende ?

    a)
    $sql = "SELECT COUNT(*) as anzahl FROM meinetabelle"; 
    
    $result = mysql_query($sql); 
    $resdata = mysql_fetch_assoc($result); 
    echo "<br />Gesamt: ".$resdata['anzahl']."\n";


    b)
    $sql = "SELECT COUNT('ID') as anzahl FROM meinetabelle"; 
    
    $result = mysql_query($sql); 
    $resdata = mysql_fetch_assoc($result); 
    echo "<br />Gesamt: ".$resdata['anzahl']."\n";


    oder ist es egal ob COUNT(*) oder COUNT('ID') ?

  • in: PHP or die variabel festlegen

    geschrieben von webguide

    thwbm schrieb:
    PS: wie machst du das eigentlich, dass noch deinen Codes kein Zeilenumabruch kommt?


    bei dem code BB den Parameter
    =inline
    einfügen

    [ code=inline ] dieser Text bleibt ohne Zeilenumbruch [ /code ]

    Nutzung natürlich ohne die Leerzeichen innerhalb der eckigen Klammern



    zum Thema ... Script ausführen nach or
    ... ja es scheint zu funktionieren ... habe mal einen Test gemacht

    im Test Beispiel gibt die Funktion bei Fehler ein FALSE zurück
    also ist sie vergleichbar mit mysql_connect()
    oder auch mit jeder anderen Funktion die FALSE im Fehler-Fall zurückgibt


    <?php
    // ----------------- Test or Zuweisung -------------- 
    
    function machwas ($erg) { 
    	if ($erg != 'ja') { return false; } else { return true; } 
    }
    
    
    $test1 = machwas('nein') or $nfo_a = 'Fehler Nr: 1'; 
    
    if (isset($nfo_a)) { echo "<br>".$nfo_a."\n"; }  // ---- Augabe kommt, also es geht wohl ----  
                  else { echo "<br>Kein Fehler im Test 1 \n"; } 
    
    
    
    $test2 = machwas('ja') or $nfo_b = 'Fehler Nr: 2'; 
    
    if (isset($nfo_b)) { echo "<br>".$nfo_b."\n"; } 
                  else { echo "<br>Kein Fehler im Test 2 \n"; } 
    
    
    
    // --------------------------------------------------
    ?>



    wenn NICHT machwas('ja') als Funktions-Aufruf übergeben wird,
    ist der RETURN = false .... dann greift das "or" und die Variable wird gesetzt

    anstatt einfach eine Variable zuweisen, sollte da dann auch anderer PHP-Code funktionieren

    aber die Pfüfung mit
    if (!$verbindung) { ... }
    finde ich trotzdem besser

    wenn man im Fehler-Fall das Script abbrechen will (wie sonst durch die()
    kann man ja auch ein exit(); machen

    if (!$verbindung) { 
      // --- hier PHP für den Fehler-Fall ---- z.B. Ausgabe der MySQL Fehlermeldung 
     exit(); // --- Script wird ab hier abgebrochen, kein weiterer Code wird ausgeführt. 
    }


  • in: PHP or die variabel festlegen

    geschrieben von webguide

    keine Ahnung ob man mit or dann auch Variable zuweisen kann
    wenn ja, dann meist Du wohl in etwa so:

    $Fehlermeldung = null; 
    $verbindung = mysql_connect("server", "benutzername", "passwort") 
        or $Fehlermeldung = '1';


    ich würde es aber anders machen,
    mit if ($verbindung !== true) ... bzw. mit der Kurzform if (!$verbindung) ...

    also ... einfach als "Schalter" so:

    $verbindung = mysql_connect("server", "benutzername", "passwort"); 
    
    if (!$verbindung) { $Fehlermeldung = '1'; } 
                 else { $Fehlermeldung = null; }


    und dann
    if ( !empty($Fehlermeldung) ) { 
       echo "<br /> Es gab einen Fehler ... Fehlernummer: ".$Fehlermeldung."  \n"; 
    }


    oder die Fehlermeldung selber in Variable ablegen

    $verbindung = mysql_connect("server", "benutzername", "passwort"); 
    if (!$verbindung) { $Fehlermeldung = mysql_error(); }  
                 else { $Fehlermeldung = null; }


    und dann
    if ( !empty($Fehlermeldung) ) { 
       echo "<br /> Die Fehlermeldung lautet: <br />\n <pre>" . $Fehlermeldung . "</pre>\n"; 
    }


    Anstatt hier die $Fehlermeldung als Ausgabe mit echo
    könnte man die auch in Log-Datei schreiben (oder per eMail versenden)

    ich hoffe ich hab es richtig verstanden, was Du willst :)
  • in: Script Performance Vergleich - Speicherverbrauch & Co

    geschrieben von webguide

    Hallo
    @hackyourlife
    leider bekomme ich auf dem Lima-City Webspace die Fehlermeldung:
    Warning: memory_get_peak_usage() has been disabled for security reasons


    wobei ich mich Frage, warum ... wo sollte dabei denn ein Sicherheits-Problem sein,
    wenn man die Speicher-Belastung im Script auslesen kann ?
    ... wäre doch eher "gut" um Scripte zu optimieren und dadurch Server weniger belasen ?!


    @ggamee
    xDebug ist bestimmt gut
    aber XAMPP habe ich nicht installiert (und will es eigentlich auch nicht installieren)

    auch will ich Performance-Test / Vergleich direkt am Server / Webspace machen,
    da es ja auch von Server zu Server (PHP-Version, etc) Unterschiede geben kann

    gibt es denn keine andere Möglichkeit die Speicher-Belastung zu ermitteln ?
    (ohne: memory_get_peak_usage() weil das auf manchen WebSpaces deaktiviert ist)
    ... auch um das gleiche Script auf verschiedenen WebSpaces zu testen

    PS:
    Wenn ich in Google suche, finde ich zu 99% nur was zu Script-Laufzeit,
    und das habe ich ja hinbekommen, aber interessant wäre ja auch mehr
    wie Speicher (RAM), CPU (Nutzung in % bzw. CPU-Time) etc...

    Welche anderen Werte könnte ich noch ermitteln (außer Laufzeit und RAM-Speicher)
    um die "Leistung" (Performance / Ressourcen-Verbrauch) eines Scrips zu messen ?
    (was direkt im Script am WebSpace funktioniert, ohne "spezielle" Software wie xDebug)

    EDIT: ..... vielleicht würde mir getrusage() ja paar "Werte" liefern
    aber auch da ... Fehlermeldung auf Lima-City

    getrusage() has been disabled for security reasons


    :(
  • in: Script Performance Vergleich - Speicherverbrauch & Co

    geschrieben von webguide

    Hallo

    ich würde gern für verschiedene Versionen eines PHP-Script den Speicherverbrauch ermitteln,
    um einen Vergleich zu haben, welce Version wirklich "besser" ist

    Script-Laufzeit habe ich hinbekommen, aber Speicher (RAM) noch nicht ...

    bin ich auf memory_get_usage() gestoßen,

    aus der PHP.net Doku memory-get-usage
    Set this to TRUE to get the real size of memory allocated from system. If not set or FALSE only the memory used by emalloc() is reported.


    aber wie "richtig" berechnen ?

    wenn ich true mit Übergebe,
    dann ist der Wert am Anfang und am Ende des Scripts gleich und Differenz = 0
    <?php 
    $mem1 = memory_get_usage(true) ;
    
    // --- hier das Script zum testen 
    
    $mem2 = memory_get_usage(true) ;
    
    echo "<br />Memory1: ".$mem1."\n"; 
    echo "<br />Memory2: ".$mem2."\n"; 
    echo "<br />Differenz: ". ($mem2 - $mem1) ."\n"; 
    
    ?>


    ... warum ist memory_get_usage(true) ; am Anfang und am Ende des Scripts gleich ?
    am Ende sollte doch "mehr" Speicher genutzt worden sein ? ... also ohne true


    wenn ich die Funktion ohne ture aufrufe,
    bekomme ich unterschiedliche Werte und Differenz hat einen Wert

    <?php 
    $mem1 = memory_get_usage();
    
    // --- hier das Script zum testen 
    
    $mem2 = memory_get_usage();
    
    $mem3 = memory_get_usage(true);
    
    echo "<br />Memory1: ". $mem1 ."\n"; 
    echo "<br />Memory2: ". $mem2 ."\n"; 
    echo "<br />Differenz: ". ($mem2 - $mem1) ."\n"; 
    echo "<br />Gesamt: ". $mem3 ."\n"; 
    
    ?>


    aber
    ... ist dann die Differenz ($mem2 - $mem1) der verbrauchte Speicher ?
    ... oder doch der Wert (Gesamt) aus memory_get_usage(true); ?
    ... oder der letzte Wert (Memory2) von memory_get_usage(); ?
    ... oder wie kann ich ermitteln, wieviel Speicher ein Script "belegt" hat ?

    etwa auch ganz anders + plus weitere Performance Tests ?

    Also (zusammengefasst) ist meine Frage::
    -> Wie vergleiche ich zwei Scripte, welches weniger Ressourcen verbraucht
    bzw. -> Wie ermittle ich relevante Performance Daten zu einem Script (für Vergleiche)

    + Script-Laufzeit = (mit microtime/true) am Anfang und Ende)
    + Memory Nutzung = (mit memory_get_usage() .. aber wie genau?)
    + ? Andere Daten = ( weitere vergleichbare Werte ... welche? wie?)

  • in: jQuery Links dynamisch erstellen und auslesen

    geschrieben von webguide

    ja, das ist ein Problem, keine Parameter in URLs, auch für Suchmaschinen (SEO)
    aber welcher User hat denn heutzutage kein JS aktiviert ?
    ... sehr viele Seiten nutzen doch JS / jQuery / prototype / etc. .. auch (besonders) die "großen"

    Das Problem ist, es soll auf einem Webspace, bei dem allow_url_fopen = OFF ist
    trotzdem von externer (remote) API gelesen werden soll, dazu nehme ich jQuery ajax jsonp
    ... was die einzige (mir bekannte) Möglichkeit ist, um (JSON) Daten
    von einem fremden (remote) Server abzuholen. ohne allow_url_fopen (mit JS)

    da ich also schon im jQuery-Fieber war, dachte ich, dann mach ich gleich alles damit
    ... auch weil ich ja die Parameter wieder als JS-Funktionen übergeben will / muss

    Aber du hast Recht, ohne URL-Parameter (evtl sogar als rewrite URLs)
    ist das ein großer Nachteil, wegen Deeplinks, Bookmarking, SiteMap, etc.

    ... ich sollte also die Formular-Übergabe und Seiten-Auswahl
    doch "normal" machen (Parameter per PHP $_GET auswerten)
    und bei Aufruf der Seite dann diese Parameter an die Funktion übergeben

    :( schade .. jetzt war ich grad so froh, das ich es mit jQuery so hinbekommen habe,
    jetzt ist das doch nix .... also wieder umbauen ... Variable aus PHP an JS übergeben

  • in: jQuery Links dynamisch erstellen und auslesen

    geschrieben von webguide

    Hallo

    im Formular id="form1" ist (bis jetzt) nur ein Feld (text input) für "Suchwort" = Query String

    es soll aber evtl noch ein DropDown Feld hinzukommen

    ... das mit onclick= im Link geht zwar, ich würde aber gern im Quellcode darauf verzichten,
    wenn ich schon jQuery geladen habe, sollte es doch auch damit gehen
    damit kann man doch sicher aus einem Element <div id="pagenavi">
    bei KLick auf eines seiner Kinder <a ...> ermitteln, das wievielte Kind geklickt wurde

    ... habs sogar rausgefunden ... :)
    $(document).ready(function() { 
    	$('#pagenavi a').click(function(){ 
    		var page = ($('#pagenavi a').index(this) + 1); 
    		alert( "Seite: "+ page +" wurde geklickt." );
    	});
    });


    also das wäre so ok, ... jetzt noch das Drop-Down-Feld rein friemeln :)

    ... auch das hab ich glaube ich hinbekommen

    HTML (im Formular)
    <select name="kat">
    	<option value="0">Alle Kategorien</option>
    	<option value="1">Kategorie A</option>
    	<option value="2">Kategorie B</option>
    	<option value="3">Kategorie C</option>
    </select>


    und der JS Code ....

    var katv = $("select[name=kat] option:selected").val();   // --- Value 
    var katx = $("select[name=kat] option:selected").text();  // --- Text


    klappt ganz gut so :)
  • in: jQuery Links dynamisch erstellen und auslesen

    geschrieben von webguide

    Hallo

    ich habe ein "altes" Script in PHP, das ich vollkommen auf jQuery umstellen will
    man kann ein Suchwort eingeben und dann über 5 Seiten Ergebnisse blättern

    das mit dem Formular-Eingabe per jQuery (ohne PHP) habe ich hinbekommen,
    aber da ist noch die Auswahl der Seiten (zum Blättern)

    bisher in PHP war es so:
    <div id="pagenavi">
    --- <a href="?q=<?php echo $query_str; ?>&s=1">Seite:1</a> 
    --- <a href="?q=<?php echo $query_str; ?>&s=2">Seite:2</a> 
    --- <a href="?q=<?php echo $query_str; ?>&s=3">Seite:3</a> 
    --- <a href="?q=<?php echo $query_str; ?>&s=4">Seite:4</a> 
    --- <a href="?q=<?php echo $query_str; ?>&s=5">Seite:5</a> 
    </div>


    jetzt suche ich eine Möglichkeit, diese Links dynamisch auch mit jQuery
    zu erstellen und - bei klick - auszuweren,
    also die "neuen" Links müssen gar keine GET-Parameter im href haben
    ich brauche einfach 5 Links mit Nummerierung 1 - 5 und bei Klick
    jeweils die Variable zur ausgewählten Seite (im jQuery)
    damit ich diese dann an die Ausgabe-Funktion übergeben kann

    meine jQuery Ausgabe Funktion rufe ich so auf: run_sx(qstr, page);
    wobei bisher als seite immer "1" übergeben wird,

    $(document).ready(function() { 
    	$("#form1").bind("submit", function() {  
    		var qstr = $("input[name=q]").val(); 
    		var page = 1;  
    
    		run_sx(qstr,page); 
    
    		return false;             
    	});  
    
    });


    also jetzt bräuchte ich was, um anstatt immer nur page = 1;
    je nach Klick auf einen der Seiten-Link
    die jeweilige Seiten-Nr in der Funktion übergeben werden kann

    jemand ne Idee wie ich das bauen könnte (und bei Klick abfragen und übergeben)
    so dass der Query-String (var qstr) nicht verloren geht
    bzw. diesen dann, wenn Klick auf Seiten-Link wieder neu auslesen (aus Formular aber ohne submit)

    Idee ist erstmal so (aber ob das so gut ist !? ... geht bestimmt besser)

    <div id="pagenavi">
    <span style="display:hidden;">Query-String hier wieder auslesen</span>
    --- <a href="#">Seite:1</a>
    --- <a href="#">Seite:2</a>
    --- <a href="#">Seite:3</a>
    --- <a href="#">Seite:4</a>
    --- <a href="#">Seite:5</a>
    </div>


    (EDIT: wobei der span wohl überflüssig ist, weil der qstr ja im Formular input Feld drin steht)

    dann könnte man doch mit
    $("#pagenavi").click(function() { ... });

    bestimmt irgendwie auslesen, der wievielte Link angeklickt wurde für page
    und zudem den span für qstr, damit man beide Werte für Funktionsaufruf hat.

    aber wie machen ... und ... das geht bestimmt besser ;) ?!?

  • in: Benutzerdefiniertes Formular zur Uebermittlung von Daten

    geschrieben von webguide

    Kombination aus

    1. HTML
    Formular zum Eintragen der Nachricht (info) und Auswählen der Upload-Datei (Bild)
    ... für Formular mit Upload braucht man im FORM Tag ein
    enctype="multipart/form-data"

    paar grundlegende Infos zum Upload per Formular siehe z.B. hier selfhtml

    Senden nur mit Captcha (z.B. Re-Captcha oder andere)

    2. PHP
    a) Eingaben aus Formular überprüfen (User Berechtigung, ist Datei ein Bild, etc.)
    b) wenn Ok, dann gesendete Daten speichern (Texte,Datum, etc. in MySQL und Bild in Verzeichnis)
    c) Info-Mail an Andmin senden, evtl. auch gleich mit Link zur Überprüfungs-Seite

    also User-Bereich, wo man (nach Login) neue Daten senden (hochladen) kann
    und Admin-Bereich, wo Du diese Daten überprüfen und freischalten bzw. löschen kannst

    insgesamt würde ich das Thema unter PHP ansiedeln,
    ... also @Moderatoren evtl verschieben ins PHP-Forum ?
  • in: google taxonomy Liste zu Array mit Parent_Id

    geschrieben von webguide

    also erstmal die Liste zu Array mit id, parent_id, level und name

    ... das mit $max_deep kann man auch weglassen,
    ist nur so zur Info wie die maxiamale Tiefe der Kategorien-Ebenen ist


    EDIT: komplettes Script (in einer .php Datei) hier http://pastebin.com/7Gk0CxTr

    // ----------------------------------------------------- 
    
    $filename = 'taxonomy.de-DE.txt'; 
    
    $fdata1 = file($filename, FILE_IGNORE_NEW_LINES);
    
    // ----------------------------------------------------- 
    
    $kat_temp = array();   // ---  Hilfs-Array ID->Name
    $kat_data = array();   // ---  Ergebnis-Array Daten
    
    c = 0;  // --- max. Tiefe der Kategorie-Ebenen 
    
    // ----------------------------------------------------- 
    
    foreach($fdata1 as $key => $line) { 
    
      if ($key > 0) { 
    
    // ------ Kategorie Ebene ($level) ermitteln ----- 
    	$nx = substr_count($line, '>');
    	if ($nx > $max_deep) { $max_deep = $nx; } 
    	$level = $nx; 
    
    // ------ Element in Array $kat_temp erstellen ----- 
    	$subarray = explode('>', $line); 
    	$kat_name = trim($subarray[$nx]); 
    	$kat_temp[$key] = $kat_name; 
    
    // ------ parent_id aus $kat_temp ermitteln ----- 
    	if ($nx > 0) { 
    	  $ny = ($nx-1); 
    	  $kat_pren = trim($subarray[$ny]); 
    	  $kat_prek = array_search($kat_pren, $kat_temp); 
    	}
    	else { 
    	  $kat_pren  = 'root'; 
    	  $kat_prek = '0';
    	}
    
    // ------ Neues Array-Element erstellen ----- 
    	$kat_data[$key] = array(
    	  'id' => $key, 
    	  'parent_id' => $kat_prek, 
    	  'level' => $level, 
    	  'name' => $kat_name
    	); 
    
    	unset($subarray);
      }
    
    }
    
    unset($kat_temp); 
    
    // ----------------------------------------------------- 
    
    
    echo "<br />\n"; 
    echo "<br />Max Deep: ".$max_deep."\n"; 
    echo "<br />\n";
    
    
    ## print "<pre style=\"margin:8px; padding:6px; background:#DEDEDE;\">\n"; 
    ## print_r($kat_data); 
    ## print "</pre>\n";
    
    
    // -----------------------------------------------------


    und dann ... die id / parent_id Daten in Struktur Array mit Ebenen

    // ----------------------------------------------------- 
    
    $outputArray = array();
    $nodeRefs = array(0 => &$outputArray);
    
    foreach ($kat_data as $element) {
    	
    	$parent = &$nodeRefs[$element['parent_id']];
    	$parent[$element['id']] = array( 'name' => $element['name'], 'parent_id' => $element['parent_id'], 'sub' => array() );
    	$nodeRefs[$element['id']] = &$parent[$element['id']]['sub'];
    
    }
    
    
    ## print "<pre style=\"margin:8px; padding:6px; background:#DEDEDE;\">\n"; 
    ## print_r($outputArray); 
    ## print "</pre>\n";
    
    
    // -----------------------------------------------------



    ... dann kann man mit dem $outputArray eine Menü-Struktur (ul / li) erstellen ...



    ]// ----------------------------------------------------------------- 
    
    function print_tree($array, $level=0, $view=1) { 
    global $go_shopid; 
    
    if ($level == 0) { print "<ul id=\"katroot\" style=\"background:#DEDEDE;\">\n";  } 
    
    
    foreach($array as $key => $val) { 
    
    $level++; 
    
    if ( isset($val['sub']) && !empty($val['sub']) ) { 
    
    $preid = $val['parent_id']; 
    
    print "<li>".$val['name']." (<a href=\"javascript:show('".$key.$level."')\">".$preid." / ".$key."</a>) - ".$level.""; 
    
    
    if ($level == 1) { $ulcolor = 'background:#FFFFCC;'; } 
    elseif ($level == 2) { $ulcolor = 'background:#CCFFFF;'; } 
    elseif ($level == 3) { $ulcolor = 'background:#FFFFFF;'; } 
    else { $ulcolor = 'background:#FFCCFF;'; } 
    
    if ($level >= $view) { $ulview = 'display:none;'; } 
    else { $ulview = 'display:block;'; } 
    
    $ulstyle = 'style="'.$ulview.' '.$ulcolor.'"';
    
    print "\n<ul id=\"".$key.$level."\" ".$ulstyle.">\n"; 
    
    
    print_tree($val['sub'], $level, $view); 
    
    print "</li>\n</ul>\n"; 
    
    }
    else { 
    
    print "<li>".$val['name']." (".$key.") - ".$level."</li>\n"; 
    
    }
    
    
    $level--; 
    
    } 
    
    if ($level == 0) { print "</ul>\n"; } 
    
    
    }
    
    // ----------------------------------------------------------------- 
    
    
    print "<br />\n"; 
    print "<br />\n"; 
    print "<br />\n"; 
    
    
    $data_array = $outputArray; 
    $startlevel = 0; 
    $open_level = 2; 
    
    print_tree($data_array, $startlevel, $open_level); 
    
    print "<br />\n"; 
    print "<br />\n"; 
    print "<br />\n"; 
    
    
    // -----------------------------------------------------------------



    für das Auf-/zuklappen mit Link javascript:show() braucht man noch als javascript

    <script type="text/javascript">
    
    function show(id) {
        if (document.getElementById(id).style.display == "none") {
            document.getElementById(id).style.display = "block";
        } else {
            document.getElementById(id).style.display = "none";
        }
    }
    
    </script>


    fertig. :)
  • in: SimpleXML Fehler

    geschrieben von webguide

    Hallo


    willst Du einfach alle Ids aus der IdList ausgeben ?

    dann einfach so:
    foreach ($Node->IdList->Id as $Name) { 
    
      echo "<br />".$Name."\n"; 
    
    }


    ... manchmal Array und manchmal Aneinanderreihung von SimpleXMLElemente ???
    meinst Du als Array of Objects

    Wenn das Id Array nicht direkt den Wert (als int bzw. string) enthält,
    sondern je Element wieder ein SimpleXMLElement Object ist, dann
    kannst Du das ja auch in der foreach abfangen und umwandeln

    foreach ($Node->IdList->Id as $Name) { 
    
      $inhalt = (is_object($Name) ? get_object_vars($Name) : $Name);
      echo "<br />".$inhalt."\n"; 
    
    }



    vielleicht geht es auch einfach mit (string) vor dem Element
    um ... wenn Object dann Inhalt als String behandeln (umwandeln)

    foreach ($Node->IdList->Id as $Name) { 
    
      $inhalt = (string)$Name;
      echo "<br />".$inhalt."\n"; 
    
    }


    bzw direkt
    echo "<br />".(string)$Name."\n";


    Wenn Du 100% sicher bist, das immer zur ganze Zahlen ankommen,
    dann ginge es auch mit (int) anstatt mit (string) davor ...

    ... einfach mal ausprobieren, habs nicht getestet ... viel Glück ;)

  • in: Prüfen welcher Button gedrückt wurde

    geschrieben von webguide

    Hallo

    Alternative ... den Button "name" auslesen

    Datei: test2.php
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Button-Name auslesen</title>
    <style type="text/css">
    <!--
    .button_class { margin:2px; padding:0px; width:24px; height:24px; font-size:14px; border:none; cursor:pointer; background:#99FFCC; }
    -->
    </style>
    </head>
    
    <body>
    
    <h1>Button-Name auslesen</h1>
    <p>Welcher Button (name) wird geklickt ?</p>
    
    
    <?php 
    // ----------------------------------------------- 
    
    if (!empty($_POST)) { 
    
    print "<pre>\n"; 
    print_r($_POST); 
    print "</pre>\n"; 
    
    while ($auswahl = current($_POST)) {
        if ($auswahl == 'ja') {
    		$inhalt = key($_POST);
        }
        next($_POST);
    }
    
    
    echo ('<br />Der Button name: <strong>'.$inhalt.'</strong> wars !!!');
    
    echo ('<br /><br /> .......... <a href="test2.php">zur&uuml;ck</a>');
    
    }
    else { 
    
    // ----------------------------------------------- 
    ?>
    
    
    <form name="egal" action="test2.php" method="post">
      <br /> Auswahl 01: <input class="button_class" type="Submit" name="b1" value="ja" />
      <br /> Auswahl 02: <input class="button_class" type="Submit" name="b2" value="ja" />
      <br /> Auswahl 03: <input class="button_class" type="Submit" name="b3" value="ja" />
      <br /> Auswahl 04: <input class="button_class" type="Submit" name="b4" value="ja" />
      <br /> Auswahl 05: <input class="button_class" type="Submit" name="b5" value="ja" />
      <br /> Auswahl 06: <input class="button_class" type="Submit" name="b6" value="ja" />
      <br /> Auswahl 07: <input class="button_class" type="Submit" name="b7" value="ja" />
      <br /> Auswahl 08: <input class="button_class" type="Submit" name="b8" value="ja" />
      <br /> Auswahl 09: <input class="button_class" type="Submit" name="b9" value="ja" />
      <br /> Auswahl 10: <input class="button_class" type="Submit" name="b10" value="ja" />
    </form>
    
    
    <?php 
    // ----------------------------------------------- 
    
    }
    
    // ----------------------------------------------- 
    ?>
    
    
    <br />
    <br />
    
    </body>
    </html>



    ich verstehe zwar nicht, warum es funktioniert,
    weil beim Formular absenden ja alle Buttons gesendet werden (solten),
    ... aber NEIN, es kommt nur der ge-klickte in $_POST an ??? siehe DEBUG Ausgabe print_r($_POST);
    ?
  • in: Variabeln in Datei schreiben

    geschrieben von webguide

    syberpsace schrieb:
    $variabeln = "$nr1 = $nr1o";
    muss einfach in
    $variabeln = '$nr1 = "'.$nr1o.'";';
    geändert werden.

    Alternativ kannst du auch die escape-Hölle öffnen und folgenden Code verwenden:
    $variabeln = "\$nr1 = \"$nr1o\";";


    mfg


    Hallo

    muss man den 'code' nicht auch mit mit PHP umschließen,
    damit dieser später als include auch nutzbar ist ?

    also so
    $variabeln = '<?php $nr1 = "'.$nr1o.'"; ?>';


    für mehrere Variablen würde ich es dann so machen (je neue Zeile)
    $variabeln = '<?php '."\n"; 
    $variabeln .= '$nr1 = "'.$nr1o.'";  '."\n"; 
    $variabeln .= '$nr2 = "'.$nr2o.'";  '."\n"; 
    $variabeln .= '$nr3 = "'.$nr3o.'";  '."\n"; 
    $variabeln .= '?>';



    bzw so: (mit escape)
    $variabeln = "<?php \$nr1 = \"$nr1o\"; ?>";


    ... analog dasmit escape für mehrere Variablen als neue Zeilen
    $variabeln = "<?php \n"; 
    $variabeln .= "\$nr1 = \"$nr1o\" \n"; 
    $variabeln .= "\$nr2 = \"$nr2o\" \n"; 
    $variabeln .= "\$nr3 = \"$nr3o\" \n"; 
    $variabeln .= "?>";



    oder kann man darauf (wenn als include() eingebunden) auch ohne den PHP Tag zugreifen ?

Login zum Webhosting ohne Werbung!