Moet je die wel hebben draaien en is er nog steeds één request die er lang over doet.quote:
Wat bedoel je?quote:Op zaterdag 3 januari 2009 17:24 schreef cablegunmaster het volgende:
[ code verwijderd ]
hoe var dump ik dit?
ik krijg de variable niet goed van getal1 en getal 2quote:Op zaterdag 3 januari 2009 17:31 schreef GlowMouse het volgende:
[..]
Moet je die wel hebben draaien en is er nog steeds één request die er lang over doet.
[..]
Wat bedoel je?
quote:Op zaterdag 3 januari 2009 18:08 schreef GlowMouse het volgende:
De variabele heet dan ook niet $post of $_post maar $_POST. En de functie niet vardump maar var_dump.
Dat geldt voor iedere extensie natuurlijk. Wil je afbeeldingen resizen, dan zul je ook GD ofzo moeten hebben draaien. En wil je json_encode gebruiken in PHP < 5.2.3, dan zul je dat ook moeten installeren.quote:Op zaterdag 3 januari 2009 17:31 schreef GlowMouse het volgende:
Moet je die wel hebben draaien en is er nog steeds één request die er lang over doet.
En wil je PHP gebruiken...Helaas krijg je bij weinig hosters de beschikking over memcached. Bij shared hosting ben ik het nog nooit tegengekomen, waarschijnlijk omdat er geen authenticatie is.quote:Op zaterdag 3 januari 2009 20:12 schreef Roy_T het volgende:
[..]
Dat geldt voor iedere extensie natuurlijk. Wil je afbeeldingen resizen, dan zul je ook GD ofzo moeten hebben draaien. En wil je json_encode gebruiken in PHP < 5.2.3, dan zul je dat ook moeten installeren.
Dat eerder cachen werd eerder al gesuggereerd als oplossing, alleen niet icm memcached. Memcached is hiervoor niet zo heel erg goed omdat het zomaar dingen weg kan mikken als het geheugen vol zit. En als je al MySQL hebt, waarom zou je dat niet gebruiken? Voor de performance hoef je het niet te laten.quote:Je kunt de cache overigens prima vullen wanneer er een product wordt toegevoegd bijvoorbeeld, zodat er nooit iemand hoeft te wachten op een lange request. Ik heb verschillende apps gebouwd die met een cron eenmaal per dag kijken wat er nieuw is, dat in memcached opslaan en klaar.
Dat is waar. Ik werk nooit binnen shared hosting omgevingen, dus daar had ik niet aan gedachtquote:Op zaterdag 3 januari 2009 20:25 schreef GlowMouse het volgende:
En wil je PHP gebruiken...Helaas krijg je bij weinig hosters de beschikking over memcached. Bij shared hosting ben ik het nog nooit tegengekomen, waarschijnlijk omdat er geen authenticatie is.
Dat ligt helemaal aan de architectuur uiteraard. In het artikel waar je naar verwijst hebben ze het over een cluster van databases waar de data sharded wordt opgeslagen. Daar hebben de meesten uiteraard ook geen mogelijkheid toe.quote:Dat eerder cachen werd eerder al gesuggereerd als oplossing, alleen niet icm memcached. Memcached is hiervoor niet zo heel erg goed omdat het zomaar dingen weg kan mikken als het geheugen vol zit. En als je al MySQL hebt, waarom zou je dat niet gebruiken? Voor de performance hoef je het niet te laten.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | error_reporting(E_ALL); mysql_connect("localhost", "root", "")or die("mysql_error"); mysql_select_db("opdracht1")or die("mysql_error"); if(!empty($_POST)) { // username and password sent from form $myusername=$_POST['username']; $mypassword=$_POST['wachtwoord']; // To protect MySQL injection $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $query = "SELECT * FROM members WHERE username='$myusername' and password='$mypassword'"; $result = mysql_query($query); if($result == 1) { $user = $_POST["username"]; $wachtwoord = $_POST["wachtwoord"]; $_SESSION['username'] = $user; $_SESSION['wachtwoord'] = $wachtwoord; header("Location: beveiligd.php"); } else { echo "U heeft geen goede combinatie van emailadres en wachtwoord gebruikt."; } } else { echo "U heeft de pagina verkeerd opgeroepen."; } ?> |
quote:Return Values
For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.
Je kunt die resource weer aan een andere functie voeren, zoals deze.quote:Op zondag 4 januari 2009 12:59 schreef Kerol het volgende:
En hoe kan ik dan ervoor zorgen dat de resultaten wel in een rij komen te staan? Met mysql_fetch_row?
Jij vraagt alle kolommen op uit de tabel members (via SELECT * ), dus in ieder geval krijg je een gebruikersnaam en wachtwoord terug die je toch al kent. Heb je niks aan dus.quote:Op zondag 4 januari 2009 13:08 schreef Kerol het volgende:
Wat bedoel je met zoveel gegevens? Ik vraag nu alleen aan de database of de username en password zich bevinden in de database.
Verder niets toch? Of is dat niet wat je bedoelt..
Dat klopt, maar je vraagt veel meer informatie op dan je nodig hebt.quote:Op zondag 4 januari 2009 13:14 schreef Kerol het volgende:
Hij controleert nu toch juist of die username en wachtwoord in de database staan zodat de gebruiker kan inloggen?
1 2 3 | "SELECT COUNT(*) FROM members WHERE username='$myusername' and password='$mypassword'"; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | error_reporting(E_ALL); mysql_connect("localhost", "root", "")or die("mysql_error"); mysql_select_db("opdracht1")or die("mysql_error"); if(!empty($_POST)) { // username and password sent from form $myusername=$_POST['username']; $mypassword=$_POST['wachtwoord']; // To protect MySQL injection (more detail about MySQL injection) $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $query = "SELECT COUNT(*) FROM members WHERE username='$myusername' and password='$mypassword'"; $result = mysql_query($query); if($result == 1) { $user = $_POST["username"]; $wachtwoord = $_POST["wachtwoord"]; $_SESSION['username'] = $user; $_SESSION['wachtwoord'] = $wachtwoord; header("Location: beveiligd.php"); } else { echo "U heeft geen goede combinatie van emailadres en wachtwoord gebruikt."; } } else { echo "U heeft de pagina verkeerd opgeroepen."; } ?> |
1 2 3 4 5 6 7 | foreach ($_SESSION['user_shop']['items'] AS $item_ID => $key){ if (is_numeric($item_ID)){ $extra_Q .= $item_ID.','; } } ?> |
1 |
Ik zie geen ORDER BY. En zonder ORDER BY kun je de rijen in elke willekeurige volgorde terugkrijgen. De volgorde waarin je id's in een WHERE opgeeft wordt niet gebruikt voor de sortering.quote:Op zondag 4 januari 2009 14:00 schreef jeroen2497 het volgende:
- Er wordt niet gesorteerd op de volgorde van $extra_Q.
In $result staat nog steeds een resource, en niet de waarde voor count(*).quote:Op zondag 4 januari 2009 13:59 schreef Kerol het volgende:
Ik krijg nog steeds aldoor de melding: 'U heeft geen goede combinatie van emailadres en wachtwoord gebruikt. '
[ code verwijderd ]
Wat doe ik nu nog verkeerd?
Maar normaalgesproken is het toch zo dat als ik een serie ID's opgeef, hij ze in de opgegeven volgorde laat zien? Want hier kan ik volgens mij geen order by voor gebruiken?quote:Op zondag 4 januari 2009 14:07 schreef GlowMouse het volgende:
[..]
Ik zie geen ORDER BY.
[..]
In $result staat nog steeds een resource, en niet de waarde voor count(*).
mysql_query geeft niet het resultaat van count terug, maar een resultset. Je moet de eerste row nog fetchen met $row = mysql_fetch_row($result) en dan $row[0] == 1 checken.quote:Op zondag 4 januari 2009 13:59 schreef Kerol het volgende:
Ik krijg nog steeds aldoor de melding: 'U heeft geen goede combinatie van emailadres en wachtwoord gebruikt. '
[ code verwijderd ]
Wat doe ik nu nog verkeerd?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |